Summary
Instead of loading the main dashboard and defaulting to the first registered page on /, create a dedicated home page that displays all available apps organized by their directory (section) as clickable tiles.
Current behavior
- When a user navigates to
/, the app redirects to the first page in _page_entries (see _load_page_layout in src/panel_flowdash/app.py:744).
- There is no overview or landing page; users must use the sidebar to discover available pages and dashboards.
Proposed behavior
- The
/ route renders a home page instead of redirecting to the first page.
- The home page displays tiles/cards grouped by section (directory name).
- Each tile shows the app's title (and optionally an icon or description if available from metadata).
- Clicking a tile navigates to that app's route.
- Custom dashboards should also appear as a separate group of tiles on the home page.
Implementation notes
- The registry already groups entries by
entry.section, so the data is available.
- The home page could use
pmui.Card or a simple grid layout for the tiles. Consider using a responsive CSS grid so tiles reflow on smaller screens.
- The
_load_page_layout method's pathname == "/" branch currently redirects; this should instead render the home view.
_default_page (and the default_page parameter in build_app_class) may no longer be needed, or could become optional for projects that want to skip the home page.
Acceptance criteria
Summary
Instead of loading the main dashboard and defaulting to the first registered page on
/, create a dedicated home page that displays all available apps organized by their directory (section) as clickable tiles.Current behavior
/, the app redirects to the first page in_page_entries(see_load_page_layoutinsrc/panel_flowdash/app.py:744).Proposed behavior
/route renders a home page instead of redirecting to the first page.Implementation notes
entry.section, so the data is available.pmui.Cardor a simple grid layout for the tiles. Consider using a responsive CSS grid so tiles reflow on smaller screens._load_page_layoutmethod'spathname == "/"branch currently redirects; this should instead render the home view._default_page(and thedefault_pageparameter inbuild_app_class) may no longer be needed, or could become optional for projects that want to skip the home page.Acceptance criteria
/shows a home page with tiles grouped by section/SectionA/page1) still works