Skip to content

Abstracted User Interface Framework#75

Merged
alexanderoster merged 81 commits intodevelopfrom
uirefactor
Apr 2, 2026
Merged

Abstracted User Interface Framework#75
alexanderoster merged 81 commits intodevelopfrom
uirefactor

Conversation

@alexanderoster
Copy link
Copy Markdown
Owner

Vue2 is unfortunately not maintained anymore.
Abstracted User Interface Framework and added a new client

  • svelte (using shadcn widget toolkit)
  • vue2 legacy remains

App.vue — height chain fix:
- Add height:100% to html, body, #AMCApp and .v-application--wrap
- Override Vuetify's min-height:100vh so all descendant height:100%
  rules (Grid, LayerView, Logs, Tabs, etc.) resolve against a definite
  ancestor height instead of collapsing to content size

AMCModule_Tabs.vue — tab content snap fix:
- Add ::v-deep .v-window__container { height:100% } so Vuetify's
  transition wrapper keeps its flex-allocated height after the slide
  animation ends (previously it snapped back to height:auto)
- Remove overflow:auto from .tabs-item; each child module manages
  its own scroll

amcf-ui-widget-evolution-plan.html — updated to reflect current state
…split)

Introduce a loginstyle XML attribute on the <login> node with four visual
variants: classic (backward-compatible default), industrial (dark frosted
glass), luminous (light frosted glass), and split (branded left panel with
luminous-style right form). Backend parses loginstyle, loginsubtitle, and
panelresource and emits them via /api/config. Frontend Dialog_Login.vue
conditionally renders the selected style. Example config updated to
demonstrate the industrial style.

Made-with: Cursor
Reskin the entire UI to follow the ScanLab corporate style guide: light gray backgrounds, white card surfaces, ScanLab red (#C8102E) as the primary accent, and dark neutral header/footer bars. Introduces a token-based design system (tokens.css) with CSS custom properties for colors, typography, spacing, radius, and elevation, enabling full theme skinning via JSON overrides.

New widgets: separator (horizontal/vertical dividers) and statusbanner (severity-aware status indicators) implemented across all three layers (C++ backend, core JS modules, Vue 2 components). Config.xml updated with improved page layouts, descriptive menu icons, and integration of the new widgets throughout dashboard, build status, system status, and dialog pages.

Made-with: Cursor
Introduces a new workflow module type for defining machine workflows in the UI. Includes a step palette, parallel branch groups, step property editor, undo support, and svelte-dnd-action integration. Backend content item allows the server to recognize workflow elements. Test pages added to both WidgetTest and EOSP examples.

Made-with: Cursor
Complete Svelte 5 client implementation including login page, all AMCF module components (forms, grids, tabs, charts, logs, alerts, builds, parameters, etc.), shadcn-svelte UI library, SvelteKit routing, and build configuration.

Made-with: Cursor
@alexanderoster alexanderoster merged commit b7d8859 into develop Apr 2, 2026
1 check passed
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