create-saasicat-admin 0.22.2 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-saasicat-admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "Scaffolding CLI for SuperAdmin frontend projects (Vue 3 + Quasar + Vite). Generates a minimal working admin app built on @saasicat/ui-vue. Usage: `pnpm create saasicat-admin <dir>`.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -4,7 +4,7 @@ import 'quasar/src/css/index.sass';
|
|
|
4
4
|
import '@quasar/extras/material-icons/material-icons.css';
|
|
5
5
|
// Platform page styles (sa-* classes + CSS variables). Without it the
|
|
6
6
|
// standard pages render unstyled.
|
|
7
|
-
import '@saasicat/ui-vue/
|
|
7
|
+
import '@saasicat/ui-vue/theme.css';
|
|
8
8
|
|
|
9
9
|
import { createSuperAdminApp } from '@saasicat/ui-vue/quasar';
|
|
10
10
|
import App from './App.vue';
|
|
@@ -37,7 +37,7 @@ const handle = createSuperAdminApp({
|
|
|
37
37
|
extensions: {},
|
|
38
38
|
// Starting UI language — the shell's header switcher lets the user change
|
|
39
39
|
// it from there and remembers the pick. `overrides` replaces individual
|
|
40
|
-
// strings (handbook §8.
|
|
40
|
+
// strings (handbook §8.7).
|
|
41
41
|
i18n: { locale: 'de' },
|
|
42
42
|
});
|
|
43
43
|
|
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
// Quasar theme variables — override your branding here.
|
|
2
|
-
|
|
2
|
+
//
|
|
3
|
+
// `$primary` is the ONE place your admin's brand colour is decided. SaaSiCat has
|
|
4
|
+
// no palette of its own for it: `--sa-color-accent` reads Quasar's `--q-primary`,
|
|
5
|
+
// which Quasar publishes from this variable. Change it and the hero, the buttons,
|
|
6
|
+
// the focus ring, the tinted surfaces, Quasar's own components and the
|
|
7
|
+
// tenant-facing pages all follow — there is no second switch.
|
|
8
|
+
//
|
|
9
|
+
// The four status colours are NOT read from here, and that is deliberate: each
|
|
10
|
+
// SaaSiCat status tone is a family of six contrast-tuned values (solid, strong,
|
|
11
|
+
// text, two tints, border), and a single Quasar variable cannot say which rung it
|
|
12
|
+
// is — `$warning` is a bright graphic amber, while warning TEXT has to be dark
|
|
13
|
+
// enough to read on it. They are set below to the values the platform's own roles
|
|
14
|
+
// use, so Quasar's components and the admin pages agree out of the box. To change
|
|
15
|
+
// them, override the `--sa-color-<tone>*` roles as a set.
|
|
16
|
+
//
|
|
17
|
+
// The defaults are SaaSiCat's own, so a freshly scaffolded admin looks like the
|
|
18
|
+
// documentation until you decide otherwise.
|
|
19
|
+
// One caveat if you pick a LIGHT brand: text on accent-filled controls is white
|
|
20
|
+
// by default, and CSS cannot work out that white on a light amber is 2.15:1. Set
|
|
21
|
+
// `--sa-color-fg-on-accent` to a dark colour in your own CSS if so — in both
|
|
22
|
+
// themes, like any role.
|
|
23
|
+
$primary: #3f6bff;
|
|
3
24
|
$secondary: #475569;
|
|
4
25
|
$accent: #0ea5e9;
|
|
5
26
|
|
|
6
|
-
$positive: #
|
|
27
|
+
$positive: #047857;
|
|
7
28
|
$negative: #dc2626;
|
|
8
|
-
$warning: #
|
|
29
|
+
$warning: #f59e0b;
|
|
30
|
+
$info: #2563eb;
|
|
@@ -13,6 +13,27 @@ export default defineConfig({
|
|
|
13
13
|
sassVariables: fileURLToPath(new URL('./src/styles/theme.scss', import.meta.url)),
|
|
14
14
|
}),
|
|
15
15
|
],
|
|
16
|
+
// Exactly one copy of each of these, always.
|
|
17
|
+
//
|
|
18
|
+
// `createSuperAdminApp()` CREATES the router, the Pinia instance and the
|
|
19
|
+
// Quasar plugin; this app's own pages then consume them through
|
|
20
|
+
// `useRoute()`, `useRouter()` and store hooks. Those APIs work by module
|
|
21
|
+
// identity — `provide`/`inject` with a key that is a module-level symbol —
|
|
22
|
+
// so two copies of the library do not share one, and the lookup silently
|
|
23
|
+
// returns `undefined`.
|
|
24
|
+
//
|
|
25
|
+
// The platform ships its pages as `.vue` SOURCE (decision E3), so their
|
|
26
|
+
// `import … from 'vue-router'` resolves relative to the platform package,
|
|
27
|
+
// while this app's own files resolve relative to here. Without dedupe the
|
|
28
|
+
// bundle ends up with both, and every consumer page that reads a route
|
|
29
|
+
// param throws `Cannot read properties of undefined (reading 'params')` —
|
|
30
|
+
// the shell renders, the content area is blank.
|
|
31
|
+
//
|
|
32
|
+
// The list is `@saasicat/ui-vue`'s peerDependencies: a peer is precisely a
|
|
33
|
+
// dependency the host is expected to own exactly one of.
|
|
34
|
+
resolve: {
|
|
35
|
+
dedupe: ['vue', 'vue-router', 'pinia', 'quasar'],
|
|
36
|
+
},
|
|
16
37
|
server: {
|
|
17
38
|
port: __DEV_PORT__,
|
|
18
39
|
proxy: {
|