Skip to content

Add a home page with apps organized as clickable tiles #3

Description

@philippjfr

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

  • Navigating to / shows a home page with tiles grouped by section
  • Each tile is clickable and navigates to the corresponding app route
  • Custom dashboards appear as a separate tile group
  • The layout is responsive (tiles reflow on narrow viewports)
  • Existing deep-link navigation (e.g. /SectionA/page1) still works

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions