Skip to content

theme-dynamical-vue: Vue+Tailwind enterprise theme #84

Description

@marioserrano09

Summary

Tracking issue for theme-dynamical-vue (themes/theme-dynamical-vue) — a fully client-rendered Vue 3 + Tailwind CSS 4 ApplicationTemplate for DynamiaTools, same enterprise-shell spirit as theme-dynamical (sidebar, top bar, centered content, footer) but with no ZK, no server-side view rendering.

Current state (shipped)

  • 3 skins (Blue, Dynamia, Dark), same skin contract as every other theme.
  • Native login page (POST /login/json, session + DYNAMIA_JWT cookie, no full-page reload).
  • Sidebar + top bar + content + footer shell built with @dynamia-tools/vue + Tailwind.
  • CrudPage nodes render through <DynamiaCrudPage> (full client-side CRUD).
  • Every other page type renders through <dynamia-embed> (auto-detects HTML vs. JS, sandboxes accordingly).
  • Confirm dialogs / toasts wired via DynamiaConfirmHost/DynamiaToastHost mounted at the app root (from the [[Server-Driven Action Flows]] work, see Server-Driven Action Flows for RemoteAction #79).
  • All-in-one Maven + Node build (mvn package builds the Vue frontend via frontend-maven-plugin, no separate pnpm bootstrap).

Known dependency: Action Flows

Because this theme has no ZK fallback, every interactive backend action (confirm-before-delete, multi-step wizard, entity-picking dialog) has to go through the Server-Driven Action Flows protocol (#79). Gaps there — INPUT/DIALOG/REDIRECT/CALL/CUSTOM steps have no renderer yet (#81) — are a direct blocker for any theme feature that needs more than a plain confirm.

Open items / follow-up work

File sub-issues here as concrete gaps are found. Candidates to evaluate:

  • End-to-end coverage/testing story for the Vue frontend (unit + at least one real e2e flow through login → navigation → CrudPage → action).
  • Parity check against theme-dynamical (ZK) for anything the Vue shell doesn't yet cover (e.g. non-CrudPage ZUL pages fall back to /page-embed/{path}, which requires ZK on the classpath — an app with zero ZK views has no fallback today and must point every non-CrudPage node at a real HTTP resource).
  • Production readiness: bundle size, CSP, error boundaries for <dynamia-embed> sandboxing failures.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions