@jskit-ai/console-web 0.1.34 → 0.1.35
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.descriptor.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default Object.freeze({
|
|
2
2
|
packageVersion: 1,
|
|
3
3
|
packageId: "@jskit-ai/console-web",
|
|
4
|
-
version: "0.1.
|
|
4
|
+
version: "0.1.35",
|
|
5
5
|
kind: "runtime",
|
|
6
6
|
description: "Authenticated console surface scaffold and surface policy wiring.",
|
|
7
7
|
dependsOn: [
|
|
@@ -103,9 +103,9 @@ export default Object.freeze({
|
|
|
103
103
|
mutations: {
|
|
104
104
|
dependencies: {
|
|
105
105
|
runtime: {
|
|
106
|
-
"@jskit-ai/auth-web": "0.1.
|
|
107
|
-
"@jskit-ai/console-core": "0.1.
|
|
108
|
-
"@jskit-ai/shell-web": "0.1.
|
|
106
|
+
"@jskit-ai/auth-web": "0.1.68",
|
|
107
|
+
"@jskit-ai/console-core": "0.1.30",
|
|
108
|
+
"@jskit-ai/shell-web": "0.1.66",
|
|
109
109
|
},
|
|
110
110
|
dev: {}
|
|
111
111
|
},
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/console-web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "node --test"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@jskit-ai/auth-web": "0.1.
|
|
10
|
-
"@jskit-ai/console-core": "0.1.
|
|
11
|
-
"@jskit-ai/shell-web": "0.1.
|
|
9
|
+
"@jskit-ai/auth-web": "0.1.68",
|
|
10
|
+
"@jskit-ai/console-core": "0.1.30",
|
|
11
|
+
"@jskit-ai/shell-web": "0.1.66"
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -1,24 +1,62 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
<section class="console-home-screen d-flex flex-column ga-4">
|
|
3
|
+
<header class="console-home-screen__header">
|
|
4
|
+
<div>
|
|
5
|
+
<p class="text-overline text-medium-emphasis mb-1">Console</p>
|
|
6
|
+
<h1 class="console-home-screen__title">Operations Console</h1>
|
|
7
|
+
<p class="text-body-2 text-medium-emphasis mb-0">Operator tools, scripts, and diagnostics.</p>
|
|
8
|
+
</div>
|
|
9
|
+
<v-btn color="primary" variant="flat" to="/home">Back to home</v-btn>
|
|
10
|
+
</header>
|
|
11
|
+
|
|
12
|
+
<v-sheet rounded="lg" border class="console-home-screen__panel">
|
|
13
|
+
<div class="console-home-screen__status-row">
|
|
13
14
|
<v-chip color="secondary" variant="tonal" label>Route: /console</v-chip>
|
|
14
15
|
<v-chip color="info" variant="tonal" label>Surface status: enabled</v-chip>
|
|
15
16
|
</div>
|
|
16
|
-
<p class="text-medium-emphasis mb-0">
|
|
17
|
-
|
|
17
|
+
<p class="text-body-2 text-medium-emphasis mb-0">
|
|
18
|
+
Use this surface for operator actions and technical insights that should stay out of the end-user app.
|
|
18
19
|
</p>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</div>
|
|
22
|
-
</v-card-text>
|
|
23
|
-
</v-card>
|
|
20
|
+
</v-sheet>
|
|
21
|
+
</section>
|
|
24
22
|
</template>
|
|
23
|
+
|
|
24
|
+
<style scoped>
|
|
25
|
+
.console-home-screen__header {
|
|
26
|
+
align-items: flex-start;
|
|
27
|
+
display: flex;
|
|
28
|
+
gap: 1rem;
|
|
29
|
+
justify-content: space-between;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.console-home-screen__title {
|
|
33
|
+
font-size: clamp(1.5rem, 2.5vw, 2.25rem);
|
|
34
|
+
font-weight: 700;
|
|
35
|
+
letter-spacing: -0.03em;
|
|
36
|
+
line-height: 1.1;
|
|
37
|
+
margin: 0 0 0.4rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.console-home-screen__panel {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
padding: 1rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.console-home-screen__status-row {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-wrap: wrap;
|
|
49
|
+
gap: 0.5rem;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media (max-width: 640px) {
|
|
53
|
+
.console-home-screen__header {
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.console-home-screen__header :deep(.v-btn) {
|
|
58
|
+
min-height: 48px;
|
|
59
|
+
width: 100%;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
// To redirect this settings shell to a child page, uncomment and edit the example below.
|
|
3
|
-
// import { redirectToChild } from "@jskit-ai/kernel/client/pageRedirects";
|
|
4
|
-
// definePage({
|
|
5
|
-
// redirect: redirectToChild("your_child_segment")
|
|
6
|
-
// });
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
1
|
<template>
|
|
10
|
-
<
|
|
2
|
+
<section class="console-settings-empty">
|
|
3
|
+
<h2 class="text-h6 mb-2">No console settings yet</h2>
|
|
4
|
+
<p class="text-body-2 text-medium-emphasis mb-0">
|
|
5
|
+
Console settings sections will appear here when installed.
|
|
6
|
+
</p>
|
|
7
|
+
</section>
|
|
11
8
|
</template>
|
|
9
|
+
|
|
10
|
+
<style scoped>
|
|
11
|
+
.console-settings-empty {
|
|
12
|
+
margin-inline: auto;
|
|
13
|
+
max-width: 34rem;
|
|
14
|
+
padding: 2rem 1.25rem;
|
|
15
|
+
text-align: center;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
@@ -5,25 +5,66 @@ import { RouterView } from "vue-router";
|
|
|
5
5
|
|
|
6
6
|
<template>
|
|
7
7
|
<section class="settings-shell d-flex flex-column ga-4">
|
|
8
|
-
<
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
</v-col>
|
|
25
|
-
</v-row>
|
|
26
|
-
</v-card-text>
|
|
27
|
-
</v-card>
|
|
8
|
+
<header>
|
|
9
|
+
<p class="text-overline text-medium-emphasis mb-1">Console</p>
|
|
10
|
+
<h1 class="settings-shell__title">Console settings</h1>
|
|
11
|
+
<p class="text-body-2 text-medium-emphasis mb-0">Global configuration and reference data for the whole app.</p>
|
|
12
|
+
</header>
|
|
13
|
+
|
|
14
|
+
<v-sheet rounded="lg" border class="settings-shell__panel">
|
|
15
|
+
<nav class="settings-shell__nav" aria-label="Console settings sections">
|
|
16
|
+
<v-list nav density="comfortable" class="settings-shell__nav-list">
|
|
17
|
+
<ShellOutlet target="console-settings:primary-menu" />
|
|
18
|
+
</v-list>
|
|
19
|
+
</nav>
|
|
20
|
+
<main class="settings-shell__content">
|
|
21
|
+
<RouterView />
|
|
22
|
+
</main>
|
|
23
|
+
</v-sheet>
|
|
28
24
|
</section>
|
|
29
25
|
</template>
|
|
26
|
+
|
|
27
|
+
<style scoped>
|
|
28
|
+
.settings-shell__title {
|
|
29
|
+
font-size: clamp(1.35rem, 2vw, 1.85rem);
|
|
30
|
+
font-weight: 650;
|
|
31
|
+
letter-spacing: -0.02em;
|
|
32
|
+
line-height: 1.15;
|
|
33
|
+
margin: 0 0 0.35rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.settings-shell__panel {
|
|
37
|
+
display: grid;
|
|
38
|
+
gap: 1rem;
|
|
39
|
+
grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
|
|
40
|
+
padding: 1rem;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.settings-shell__nav-list {
|
|
44
|
+
padding: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.settings-shell__content {
|
|
48
|
+
min-width: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@media (max-width: 960px) {
|
|
52
|
+
.settings-shell__panel {
|
|
53
|
+
grid-template-columns: 1fr;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.settings-shell__nav {
|
|
57
|
+
overflow-x: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.settings-shell__nav-list {
|
|
61
|
+
display: flex;
|
|
62
|
+
gap: 0.5rem;
|
|
63
|
+
min-width: max-content;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.settings-shell__nav-list :deep(.v-list-item) {
|
|
67
|
+
min-height: 48px;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -164,9 +164,12 @@ test("console-web console templates stay shell-driven", async () => {
|
|
|
164
164
|
assert.match(wrapperSource, /ShellLayout/);
|
|
165
165
|
assert.match(wrapperSource, /"surface": "console"/);
|
|
166
166
|
assert.match(indexSource, /Operations Console/);
|
|
167
|
+
assert.match(indexSource, /console-home-screen__panel/);
|
|
168
|
+
assert.doesNotMatch(indexSource, /<v-card\b|v-card-title|v-card-subtitle/);
|
|
167
169
|
assert.match(settingsSource, /target="console-settings:primary-menu"/);
|
|
168
170
|
assert.doesNotMatch(settingsSource, /default-link-component-token/);
|
|
171
|
+
assert.doesNotMatch(settingsSource, /<v-card\b/);
|
|
169
172
|
assert.match(settingsSource, /<RouterView \/>/);
|
|
170
|
-
assert.match(settingsIndexSource, /
|
|
171
|
-
assert.
|
|
173
|
+
assert.match(settingsIndexSource, /No console settings yet/);
|
|
174
|
+
assert.doesNotMatch(settingsIndexSource, /your_child_segment|To redirect this settings shell/);
|
|
172
175
|
});
|