Skip to content

Frontend pages - #40

Merged
rensPols merged 26 commits into
mainfrom
frontend-pages
May 8, 2026
Merged

rensPols merged 26 commits into
mainfrom
frontend-pages

Conversation

@Moltensnor

Copy link
Copy Markdown
Contributor

Changelog

  • added page info pages for creating new pages based on templates.
  • added preview via websocket (updates with debounce timer)
  • improved websocket handling withe extra helper methods

• Updates base_url in config.json to port 9000.
• Adds ws_url for websocket connections to port 9001.
• Fixes connection issues with the backend.
This commit refactors the websocket connection logic.

- Updates imports for better organization.
- Improves authentication handling.
- Adds error handling for websocket connections.
This commit refactors the content routes and page structure to improve navigation and organization.

- Refactor content routes using go_router.
- Update page structure for page and template info.
- Improve navigation for new pages and templates.
- Reorders imports for better readability.
- Moves project imports before package imports.
Adds GenerateBlock to render page blocks

- Renders PageVariables and PageTree blocks
- Handles unrecognized block types
- Simplifies block rendering logic
Adds id_list.dart for template IDs.

- Implements UI for setting variables.
- Includes text fields for key/block names.
- Integrates with saveNotifier for data persistence.
The main.dart file was refactored to improve application startup and error handling.

- Updated application startup logic using runZonedGuarded
- Improved error logging and handling during startup
- Modified imports to align with project structure and dependencies
Fixes import errors in notifications.dart
* Updates imports to use project imports
Add reusable card for page content.

- Create `PageCard` component
- Style using `exdock_backoffice` theme
- Center child content with padding
Adds PageCardTitle widget for page info cards.

- Creates a reusable title bar for PageCard.
- Includes optional middle and end buttons.
- Provides a consistent look and feel.
Move PageInfo component from templates to pages folder.
- Refactor imports to reflect new location.
- Update state management for data fetching.
- Improve code readability.
Implements a widget to display page information in blocks.

- Uses MasonryGridView for flexible layout.
- Supports displaying multiple widgets in a grid.
- Adapts grid column count based on block length.
- Implement synchronous page info UI.
- Fetch and display page data.
- Allow editing of page attributes.
* Implements page preview using websockets.
* Adds PagePreview widget to display HTML.
* Connects to backend for live updates.
- Implements reorderable page template list
- Connects to websocket for preview updates
- Adds 'load preview' and 'add template' buttons
Add editable tree item for page templates.

* Implement edit/delete actions
* Allow rename template name
Adds a page variables block to the page info section.

- Introduces a new widget `PageVariables` to display and manage page variables.
- Implements text fields and switches for different variable types.
- Integrates with `MapNotifier` for real-time updates of attribute values.
- Updates imports for better structure
- Uses HTTP request to fetch page data
- Implements loading and error handling
- Update Dart SDK constraint to >=3.7.0 <4.0.0
- Update dependencies in pubspec.lock
- Ensure compatibility with Dart 3.7 features
Update pubspec.yaml file.

* Update dependencies
* Update flutter dependencies
* Update dev_dependencies
• Refactor SystemServerStatus to StatefulWidget.
• Fetch server health via WebSocket.
• Display server status, CPU, memory usage.
Adds a new page for template information.

- Fetches template data from API.
- Displays template details using TemplateInfoSynchronous.
- Handles loading and error states.
The class PageInfoSynchronous was renamed to TemplateInfoSynchronous for clarity and consistency within the template management system.

*   Refactor class name to accurately represent its purpose.
*   Update all references to the class throughout the codebase.
Adds TopBar widget to page info section.

- Implements the TopBar widget with title and save button.
- Includes an IdList component.
- Adds styling to the top bar container.
@Moltensnor Moltensnor added this to the initialisation milestone Nov 14, 2025
@Moltensnor
Moltensnor requested a review from rensPols November 14, 2025 13:59
@Moltensnor Moltensnor self-assigned this Nov 14, 2025
@Moltensnor Moltensnor added the enhancement New feature or request label Nov 14, 2025
GitHub Actions and others added 2 commits November 14, 2025 14:00
@rensPols
rensPols merged commit 5e2f659 into main May 8, 2026
1 of 2 checks passed
@rensPols
rensPols deleted the frontend-pages branch May 8, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants