@jskit-ai/workspaces-web 0.1.101 → 0.1.103

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.
@@ -1,7 +1,7 @@
1
1
  export default Object.freeze({
2
2
  packageVersion: 1,
3
3
  packageId: "@jskit-ai/workspaces-web",
4
- version: "0.1.101",
4
+ version: "0.1.103",
5
5
  kind: "runtime",
6
6
  description: "Workspace web module: workspace selector, tools widget, workspace surfaces, members UI, and settings hosts.",
7
7
  dependsOn: [
@@ -232,9 +232,9 @@ export default Object.freeze({
232
232
  mutations: {
233
233
  dependencies: {
234
234
  runtime: {
235
- "@jskit-ai/auth-web": "0.1.124",
236
- "@jskit-ai/workspaces-core": "0.1.100",
237
- "@jskit-ai/users-web": "0.1.140"
235
+ "@jskit-ai/auth-web": "0.1.125",
236
+ "@jskit-ai/workspaces-core": "0.1.102",
237
+ "@jskit-ai/users-web": "0.1.141"
238
238
  },
239
239
  dev: {}
240
240
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/workspaces-web",
3
- "version": "0.1.101",
3
+ "version": "0.1.103",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -15,13 +15,13 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@mdi/js": "^7.4.47",
18
- "@jskit-ai/auth-web": "0.1.124",
19
- "@jskit-ai/http-runtime": "0.1.122",
20
- "@jskit-ai/kernel": "0.1.124",
21
- "@jskit-ai/shell-web": "0.1.125",
22
- "@jskit-ai/users-core": "0.1.134",
23
- "@jskit-ai/users-web": "0.1.140",
24
- "@jskit-ai/workspaces-core": "0.1.100"
18
+ "@jskit-ai/auth-web": "0.1.125",
19
+ "@jskit-ai/http-runtime": "0.1.123",
20
+ "@jskit-ai/kernel": "0.1.125",
21
+ "@jskit-ai/shell-web": "0.1.126",
22
+ "@jskit-ai/users-core": "0.1.135",
23
+ "@jskit-ai/users-web": "0.1.141",
24
+ "@jskit-ai/workspaces-core": "0.1.102"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@tanstack/vue-query": "^5.90.5",
@@ -1,8 +1,16 @@
1
1
  <script setup>
2
+ import { useRoute } from "vue-router";
2
3
  import WorkspaceNotFoundCard from "@/components/WorkspaceNotFoundCard.vue";
3
4
  import { useWorkspaceNotFoundState } from "@/composables/useWorkspaceNotFoundState";
4
5
 
6
+ const route = useRoute();
5
7
  const { workspaceUnavailable, workspaceUnavailableMessage } = useWorkspaceNotFoundState();
8
+
9
+ function adminChildPath(suffix = "") {
10
+ const basePath = String(route.path || "").replace(/\/+$/u, "");
11
+ const childPath = String(suffix || "").replace(/^\/+|\/+$/gu, "");
12
+ return childPath ? `${basePath}/${childPath}` : basePath;
13
+ }
6
14
  </script>
7
15
 
8
16
  <template>
@@ -19,8 +27,8 @@ const { workspaceUnavailable, workspaceUnavailableMessage } = useWorkspaceNotFou
19
27
  <p class="text-body-2 text-medium-emphasis mb-0">Manage members and workspace settings.</p>
20
28
  </div>
21
29
  <div class="workspace-admin-screen__actions">
22
- <v-btn color="primary" variant="flat" to="./members">Members</v-btn>
23
- <v-btn color="primary" variant="tonal" to="./workspace/settings">Settings</v-btn>
30
+ <v-btn color="primary" variant="flat" :to="adminChildPath('members')">Members</v-btn>
31
+ <v-btn color="primary" variant="tonal" :to="adminChildPath('workspace/settings')">Settings</v-btn>
24
32
  </div>
25
33
  </header>
26
34
 
@@ -258,20 +258,23 @@ test("workspaces-web starter surfaces avoid instructional placeholder copy", asy
258
258
  requiredPatterns: [
259
259
  {
260
260
  id: "workspace-admin-member-link",
261
- pattern: /to="\.\/members"/,
261
+ pattern: /:to="adminChildPath\('members'\)"/,
262
262
  message: "Workspace admin surface needs a direct members action."
263
263
  },
264
264
  {
265
265
  id: "workspace-admin-settings-link",
266
- pattern: /to="\.\/workspace\/settings"/,
266
+ pattern: /:to="adminChildPath\('workspace\/settings'\)"/,
267
267
  message: "Workspace admin surface needs a direct settings action."
268
268
  }
269
269
  ]
270
270
  });
271
271
  assert.match(appSource, /No workspace activity yet/);
272
272
  assert.match(adminSource, /Manage members and workspace settings/);
273
- assert.match(adminSource, /to="\.\/members"/);
274
- assert.match(adminSource, /to="\.\/workspace\/settings"/);
273
+ assert.match(adminSource, /const route = useRoute\(\)/);
274
+ assert.match(adminSource, /function adminChildPath/);
275
+ assert.match(adminSource, /:to="adminChildPath\('members'\)"/);
276
+ assert.match(adminSource, /:to="adminChildPath\('workspace\/settings'\)"/);
277
+ assert.doesNotMatch(adminSource, /to="\.\//);
275
278
  assert.doesNotMatch(appSource, /Replace this page|Primary in-workspace surface/);
276
279
  assert.doesNotMatch(adminSource, /Use this area|Privileged workspace workflows/);
277
280
  });