feat(theme-dynamical-vue): tailadmin-vue integration + dep bumps - #87
Merged
Merged
Conversation
…tailadmin-vue
The UI shell is no longer written in this theme: layout, sidebar, header, user menu, breadcrumb,
dark mode and the login layout come from the published @dynamia-tools/tailadmin-vue package,
used as-is. The theme keeps only what is Dynamia-specific:
- navMenu.ts maps the navigation tree onto the package's MenuGroup model; AppShell.vue wires
AdminLayout/AppSidebar/AppHeader/UserMenu and the CrudPage/embed content + flow-step hosts.
- vue-router (a required peer of the package) with hash history and one catch-all route; the
router is the source of truth for the current page, so links, back/forward and deep links work.
- Skins stay the same contract (data-skin + `skin` cookie) but are now just the brand color the
package's brand-* palette derives from; "dark" is the package's dark mode, kept in sync both
ways with the header's theme toggle.
- app.css (Dynamia component styling) moves to the package's gray palette and gains dark: variants.
- Login uses the package's AuthSplit; index/login.html get the dark body background the package
leaves to consumers.
- vite: publicDir points at the package's public/ (logos, avatars) and the package is excluded from
dev dep pre-bundling (otherwise provide/inject keys stop matching in `pnpm dev`).
- vue bumped to ^3.5.42 to match the workspace: the duplicate vue copies were the root cause of the
4 pre-existing vue-tsc errors, so `pnpm typecheck` is green again.
Also fixes resolveEmbedSrc using a ConfigPage's `file` (a bean name such as "discountsCfg") as a
relative URL instead of falling back to /page-embed/{path} as documented.
Verified in a browser against demo-zk-books (production jar): CrudPage, INPUT flow step, ZK
embed, sidebar/deep links, skin<->dark sync, login page.
Part of #86, #84.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YVHiaZhzpsb76wK2CibjPo
… errors
- Bump vue/vite/tailwindcss/@vitejs-plugin-vue to their latest patch/minor
within already-declared semver ranges.
- Leave typescript/vue-tsc on 6.x/2.x: TS 7's native (Go) compiler dropped
the `typescript/lib/tsc` exports subpath that vue-tsc 3.x still requires,
so pairing TS 7 with vue-tsc 3.3.11 fails outright (ERR_PACKAGE_PATH_NOT_EXPORTED).
- Fix vue-tsc type errors, both pre-existing (not caused by the bump,
verified via git stash):
- platform/packages/vue: align its own `vue` devDependency to ^3.5.43 so
pnpm dedupes to a single vue install. The mismatched pinned version
(^3.5.42) made TS treat App/Plugin/ObjectPlugin from the workspace
package and from the theme as nominally distinct types, breaking
app.use(DynamiaVue, options) inference in main.ts.
- AppShell.vue: use a getter (() => nodes.value) instead of passing the
ComputedRef directly as a watch source, fixing tuple type inference
in the multi-source watch().
Verified: pnpm typecheck (0 errors), pnpm build, and a dev-server screenshot
of the app shell (topbar/sidebar/skin selector render correctly without a
backend).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UcARdenC1Sk5EVpkzboH9W
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
theme-dynamical-vuea client of@dynamia-tools/tailadmin-vue.vue/vite/tailwindcss/@vitejs/plugin-vueto their latest patch/minor within already-declared semver ranges.vue-tsctype errors (not caused by the bump, verified viagit stash):platform/packages/vue: align its ownvuedevDependency to^3.5.43so pnpm dedupes to a single install — the mismatch (^3.5.42vs the theme's^3.5.43) made TS treatApp/Plugin/ObjectPluginfrom the workspace package and the theme as nominally distinct types, breakingapp.use(DynamiaVue, options)inference inmain.ts.AppShell.vue: use a getter (() => nodes.value) instead of passing theComputedRefdirectly as awatchsource, fixing tuple type inference in the multi-sourcewatch().Notes
typescript/vue-tscintentionally stay on 6.x/2.x: TS 7's native (Go) compiler dropped thetypescript/lib/tscexports subpath that vue-tsc 3.x still requires, so pairing TS 7 with vue-tsc 3.3.11 fails outright (ERR_PACKAGE_PATH_NOT_EXPORTED). No compatible vue-tsc release exists yet.Verification
pnpm typecheck→ 0 errorspnpm build→ OK🤖 Generated with Claude Code
https://claude.ai/code/session_01UcARdenC1Sk5EVpkzboH9W