Skip to content

New hello-world design - #41

Draft
streamingpixel wants to merge 13 commits into
mainfrom
new-design
Draft

streamingpixel wants to merge 13 commits into
mainfrom
new-design

Conversation

@streamingpixel

@streamingpixel streamingpixel commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Implements the new Hello World design from Figma.

  • New card layout with light and dark mode (animated toggle in the header)
  • Cards use CssGrid and the button rows use FlexBox from JPro Platform; both stack on narrow screens
  • Links use LinkUtil from JPro Platform, so they are real links in the browser
  • CSSFX reloads the CSS live while developing (off in jproRelease builds)
  • HelloJPro is now the only entry point (was HelloJProFXML); the old label-only app is removed
  • README rewritten as a single Getting started guide

jpro-css-grid is a 0.7.4 snapshot until the next JPro Platform release.

The JPro docs still reference HelloJProFXML and will be updated together with the other hello-world repos.

Tobias Horak added 13 commits September 22, 2026 22:12
Replace the animated logo screen with the new design: a card with the
JPro header, a "Hello_World" panel linking to the docs and examples,
and a "JPro Platform" panel, on a dotted background.

- Layout in FXML, styling in CSS (DM Sans / DM Mono bundled, OFL)
- Logo and GitHub icon as vector shapes exported from the design
- Links open in a new tab in the browser, or the system browser on desktop
- Narrow screens (< 720px) stack the panels and buttons vertically
CSSFX reloads the stylesheet in the running app as soon as it is saved.
It is enabled with jproRun and on desktop, but not in a jproRelease build.

The card copy now describes what the app actually ships with.
- The JPro logo links to https://www.jpro.one/
- "Documentation" is now "JPro docs"
- The primary button darkens on hover (4% to 8% tint)
- Header buttons get a light focus ring that is visible on the blue header
- Theme colors are listed in one .root block; .root:dark overrides the
  few that change (page, card, card border)
- A sun/moon button in the header toggles a :dark pseudo-class; the page
  and card fade and the icon turns via CSS transitions
- Tooltips on the theme and GitHub buttons, styled to match (show delay is
  set in FXML, as CSS only reaches a tooltip after its first show)
- Remove the old label-only HelloJPro app; the FXML app is now HelloJPro
  and its controller HelloJProController
- Use the logo paths from the full Figma export so no flip is needed
- Controller members are private; setApplication replaces init
- CSS: button variables grouped, secondary panel uses a pref width,
  arrow style next to the link buttons
- Only the JavaFX modules the app uses (controls, fxml)
Removes the duplicated run instructions, fixes the intro, and points
deployment to the JPro docs instead of outdated links.
The buttons become real links in the browser (<a href target=_blank>)
instead of opening a tab from the server, and open the system browser on
desktop. The controller no longer needs the application for this.

JPro Platform's routing library needs SimpleFX from the Sandec repository.
/docs without the trailing slash downloads an empty file
(Sandec/jpro-website#30).
Uses jpro-css-grid and jpro-flexbox from JPro Platform. The compact layout
now only switches the grid columns and the flex direction in CSS, so the
controller no longer swaps containers. jpro-css-grid is a 0.7.4 snapshot
until the next Platform release.
Without scrolling, a short window squeezed the card and the button rows
shrank their buttons. The page now sits in a ScrollPane and keeps its
natural height. Dark mode moves from .root to .page, since the ScrollPane
is now the scene root.
A bright band sweeps diagonally from the bottom-left to the top-right
corner when switching to dark mode, and back when switching to light.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant