@cat-factory/app 0.311.1 → 0.311.2
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/README.md +5 -1
- package/app/app.config.ts +0 -19
- package/app/components/bootstrap/AdoptionReviewModal.vue +2 -2
- package/app/components/common/AsyncViewError.vue +1 -1
- package/app/components/documents/DocumentTemplatesModal.vue +2 -2
- package/app/components/layout/SideBar.vue +1 -1
- package/app/components/panels/ResultWindowShell.vue +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1494,7 +1494,7 @@ the same list, plus the install-free frontend guards.
|
|
|
1494
1494
|
```bash
|
|
1495
1495
|
# From the repo root:
|
|
1496
1496
|
pnpm install
|
|
1497
|
-
pnpm dev:frontend # Nuxt dev server via deploy/frontend; set NUXT_PUBLIC_API_BASE to a running
|
|
1497
|
+
pnpm dev:frontend # Nuxt dev server via deploy/frontend; set NUXT_PUBLIC_API_BASE to a running backend
|
|
1498
1498
|
pnpm exec turbo run typecheck --filter=@cat-factory/app # typecheck goes through Turbo
|
|
1499
1499
|
pnpm lint # oxlint + oxfmt over the whole tree
|
|
1500
1500
|
|
|
@@ -1504,6 +1504,10 @@ pnpm i18n:check # catalog is well-formed
|
|
|
1504
1504
|
pnpm i18n:parity # locales are in parity
|
|
1505
1505
|
```
|
|
1506
1506
|
|
|
1507
|
+
To see the SPA with data while you work on it, run it against the e2e backend: it needs only a
|
|
1508
|
+
Postgres, fakes the LLM, the agent runner and GitHub, and can seed boards. See
|
|
1509
|
+
[Running the SPA against the e2e backend](https://github.com/kibertoad/cat-factory/blob/main/backend/internal/e2e/README.md#running-the-spa-against-the-e2e-backend-ui-development).
|
|
1510
|
+
|
|
1507
1511
|
> Building/deploying the static site is covered in the deployment docs: see the
|
|
1508
1512
|
> [top-level README → Deployment](https://github.com/kibertoad/cat-factory/blob/main/README.md#deployment) and
|
|
1509
1513
|
> [`deploy/frontend/README.md`](https://github.com/kibertoad/cat-factory/blob/main/deploy/frontend/README.md).
|
package/app/app.config.ts
CHANGED
|
@@ -23,25 +23,6 @@ export default defineAppConfig({
|
|
|
23
23
|
badge: {
|
|
24
24
|
defaultVariants: { color: 'primary', variant: 'solid', size: 'md' },
|
|
25
25
|
},
|
|
26
|
-
// Give every overlay the same layered surface the agent-run-details reader uses: the deep
|
|
27
|
-
// `app-950` surface (below `bg-default`) so the `bg-default` panels/cards inside pop, with
|
|
28
|
-
// `border-default` chrome. All tokens are theme role tokens (`app-950` is the hand-defined
|
|
29
|
-
// flipping token for the deep shade), so overlays track dark/light. Applies to all
|
|
30
|
-
// UModal/USlideover instances so they stay consistent without per-instance `:ui` overrides.
|
|
31
|
-
modal: {
|
|
32
|
-
slots: {
|
|
33
|
-
content: 'bg-app-950 ring-default divide-default',
|
|
34
|
-
header: 'border-b border-default',
|
|
35
|
-
title: 'text-highlighted',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
slideover: {
|
|
39
|
-
slots: {
|
|
40
|
-
content: 'bg-app-950 ring-default divide-default',
|
|
41
|
-
header: 'border-b border-default',
|
|
42
|
-
title: 'text-highlighted',
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
26
|
// The toaster's scroll region is the ONE `[data-slot='viewport']` the app's own
|
|
46
27
|
// CSS may target: Nuxt UI reuses that attribute for the item list of every menu
|
|
47
28
|
// component too. This marker class is what `main.css` hangs the safe-area offset
|
|
@@ -309,7 +309,7 @@ watch(open, (isOpen) => {
|
|
|
309
309
|
</div>
|
|
310
310
|
|
|
311
311
|
<div class="grid gap-2 text-xs sm:grid-cols-2">
|
|
312
|
-
<div class="rounded-sm bg-
|
|
312
|
+
<div class="rounded-sm bg-elevated/60 p-2">
|
|
313
313
|
<p class="mb-1 font-semibold text-toned">
|
|
314
314
|
{{ t('bootstrap.adoption.side.monorepo') }}
|
|
315
315
|
</p>
|
|
@@ -317,7 +317,7 @@ watch(open, (isOpen) => {
|
|
|
317
317
|
{{ decision.monorepoPractice ?? t('bootstrap.adoption.side.nothing') }}
|
|
318
318
|
</p>
|
|
319
319
|
</div>
|
|
320
|
-
<div class="rounded-sm bg-
|
|
320
|
+
<div class="rounded-sm bg-elevated/60 p-2">
|
|
321
321
|
<p class="mb-1 font-semibold text-toned">
|
|
322
322
|
{{ t('bootstrap.adoption.side.template') }}
|
|
323
323
|
</p>
|
|
@@ -12,7 +12,7 @@ function reload() {
|
|
|
12
12
|
<!-- safe-area-ok: a scrim with one card centred on it, so no content reaches an edge -->
|
|
13
13
|
<div
|
|
14
14
|
data-testid="async-view-error"
|
|
15
|
-
class="fixed inset-0 z-50 grid place-items-center bg-
|
|
15
|
+
class="fixed inset-0 z-50 grid place-items-center bg-elevated/75 p-6 backdrop-blur-sm"
|
|
16
16
|
role="alert"
|
|
17
17
|
>
|
|
18
18
|
<div class="max-w-sm rounded-2xl border border-muted bg-default p-5 shadow-2xl">
|
|
@@ -136,7 +136,7 @@ async function unlink(doc: SourceDocument) {
|
|
|
136
136
|
</p>
|
|
137
137
|
<div
|
|
138
138
|
v-if="template"
|
|
139
|
-
class="mt-2 flex items-center justify-between gap-2 rounded-md bg-
|
|
139
|
+
class="mt-2 flex items-center justify-between gap-2 rounded-md bg-elevated/70 px-3 py-2"
|
|
140
140
|
>
|
|
141
141
|
<DocumentOriginLink
|
|
142
142
|
:url="template.url"
|
|
@@ -173,7 +173,7 @@ async function unlink(doc: SourceDocument) {
|
|
|
173
173
|
<div
|
|
174
174
|
v-for="doc in exemplars"
|
|
175
175
|
:key="`${doc.source}:${doc.externalId}`"
|
|
176
|
-
class="flex items-center justify-between gap-2 rounded-md bg-
|
|
176
|
+
class="flex items-center justify-between gap-2 rounded-md bg-elevated/70 px-3 py-2"
|
|
177
177
|
>
|
|
178
178
|
<DocumentOriginLink
|
|
179
179
|
:url="doc.url"
|
|
@@ -157,7 +157,7 @@ watch(
|
|
|
157
157
|
<!-- safe-area-ok: a scrim with no content; the drawer below pads its own edges -->
|
|
158
158
|
<div
|
|
159
159
|
v-if="ui.mobileNavOpen"
|
|
160
|
-
class="fixed inset-0 z-30 bg-
|
|
160
|
+
class="fixed inset-0 z-30 bg-elevated/75 backdrop-blur-sm lg:hidden"
|
|
161
161
|
data-testid="sidebar-backdrop"
|
|
162
162
|
role="button"
|
|
163
163
|
tabindex="-1"
|
|
@@ -257,7 +257,7 @@ const chipClass = computed(() =>
|
|
|
257
257
|
|
|
258
258
|
const backdropClass = computed(() => [
|
|
259
259
|
WINDOWED_OVERLAY_CLASS,
|
|
260
|
-
'z-50 justify-center bg-
|
|
260
|
+
'z-50 justify-center bg-elevated/75 backdrop-blur-sm',
|
|
261
261
|
props.variant === 'centered' ? 'items-center' : 'items-stretch',
|
|
262
262
|
])
|
|
263
263
|
// The centered cap is the smaller of 90dvh and the backdrop's padded box: with a large inset (a
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.311.
|
|
3
|
+
"version": "0.311.2",
|
|
4
4
|
"description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|