@jskit-ai/auth-web 0.1.68 → 0.1.69

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/auth-web",
4
- "version": "0.1.68",
4
+ "version": "0.1.69",
5
5
  "kind": "runtime",
6
6
  "description": "Auth web module: Fastify auth routes plus web login/sign-out scaffolds.",
7
7
  "dependsOn": [
@@ -247,10 +247,10 @@ export default Object.freeze({
247
247
  "dependencies": {
248
248
  "runtime": {
249
249
  "@mdi/js": "^7.4.47",
250
- "@jskit-ai/auth-core": "0.1.66",
251
- "@jskit-ai/http-runtime": "0.1.66",
252
- "@jskit-ai/kernel": "0.1.67",
253
- "@jskit-ai/shell-web": "0.1.66"
250
+ "@jskit-ai/auth-core": "0.1.67",
251
+ "@jskit-ai/http-runtime": "0.1.67",
252
+ "@jskit-ai/kernel": "0.1.68",
253
+ "@jskit-ai/shell-web": "0.1.67"
254
254
  },
255
255
  "dev": {}
256
256
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/auth-web",
3
- "version": "0.1.68",
3
+ "version": "0.1.69",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -18,11 +18,11 @@
18
18
  "./client/runtime/useSignOut": "./src/client/runtime/useSignOut.js"
19
19
  },
20
20
  "dependencies": {
21
- "@jskit-ai/auth-core": "0.1.66",
21
+ "@jskit-ai/auth-core": "0.1.67",
22
22
  "@mdi/js": "^7.4.47",
23
- "@jskit-ai/kernel": "0.1.67",
24
- "@jskit-ai/shell-web": "0.1.66",
25
- "@jskit-ai/http-runtime": "0.1.66"
23
+ "@jskit-ai/kernel": "0.1.68",
24
+ "@jskit-ai/shell-web": "0.1.67",
25
+ "@jskit-ai/http-runtime": "0.1.67"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "@tanstack/vue-query": "^5.90.5",
@@ -5,7 +5,7 @@ const OTP_MODE = "otp";
5
5
  const EMAIL_CONFIRMATION_MODE = "confirm-email";
6
6
 
7
7
  const AUTH_TITLE_BY_MODE = Object.freeze({
8
- [LOGIN_MODE]: "Welcome",
8
+ [LOGIN_MODE]: "",
9
9
  [REGISTER_MODE]: "Create your account",
10
10
  [FORGOT_MODE]: "Reset your password",
11
11
  [OTP_MODE]: "Use one-time code",
@@ -13,7 +13,7 @@ const AUTH_TITLE_BY_MODE = Object.freeze({
13
13
  });
14
14
 
15
15
  const AUTH_SUBTITLE_BY_MODE = Object.freeze({
16
- [LOGIN_MODE]: "Sign in to continue.",
16
+ [LOGIN_MODE]: "",
17
17
  [REGISTER_MODE]: "Register to access your workspace.",
18
18
  [FORGOT_MODE]: "We will send password reset instructions to your email.",
19
19
  [OTP_MODE]: "Request a one-time login code and verify it below."
@@ -17,13 +17,11 @@
17
17
  :border="!isMobileViewport"
18
18
  >
19
19
  <v-card-text class="auth-content" :class="{ 'auth-content--mobile': isMobileViewport }">
20
- <div class="auth-header d-flex align-start justify-space-between ga-3 mb-5">
20
+ <div v-if="authTitle || authSubtitle" class="auth-header mb-5">
21
21
  <div>
22
- <p class="auth-kicker">Jskit Workspace</p>
23
- <h1 class="auth-title">{{ authTitle }}</h1>
22
+ <h1 v-if="authTitle" class="auth-title">{{ authTitle }}</h1>
24
23
  <p v-if="authSubtitle" class="text-medium-emphasis mb-0">{{ authSubtitle }}</p>
25
24
  </div>
26
- <v-chip color="primary" size="small" label>Secure</v-chip>
27
25
  </div>
28
26
 
29
27
  <div v-if="!isForgot && !isOtp && !isEmailConfirmationPending" class="mode-switch d-flex ga-2 pa-1 mb-5">
@@ -346,15 +344,6 @@ function toggleConfirmPasswordVisibility() {
346
344
  padding: calc(24px + env(safe-area-inset-top, 0px)) 20px calc(32px + env(safe-area-inset-bottom, 0px));
347
345
  }
348
346
 
349
- .auth-kicker {
350
- margin: 0 0 8px;
351
- font-size: 12px;
352
- font-weight: 700;
353
- letter-spacing: 0.09em;
354
- text-transform: uppercase;
355
- color: rgba(var(--v-theme-on-surface), 0.72);
356
- }
357
-
358
347
  .auth-title {
359
348
  margin: 0 0 8px;
360
349
  font-size: clamp(28px, 3vw, 32px);
@@ -90,6 +90,19 @@ test("default login view owns the viewport and becomes a full-screen mobile scre
90
90
  assert.match(viewSource, /\.login-screen\s*\{[\s\S]*inset:\s*0;/);
91
91
  });
92
92
 
93
+ test("default login view avoids decorative login chrome", () => {
94
+ const viewPath = fileURLToPath(new URL("../src/client/views/DefaultLoginView.vue", import.meta.url));
95
+ const constantsPath = fileURLToPath(new URL("../src/client/composables/loginView/constants.js", import.meta.url));
96
+ const viewSource = readFileSync(viewPath, "utf8");
97
+ const constantsSource = readFileSync(constantsPath, "utf8");
98
+
99
+ assert.match(viewSource, /v-if="authTitle \|\| authSubtitle"/);
100
+ assert.doesNotMatch(viewSource, /Jskit Workspace|JSKIT WORKSPACE|auth-kicker|>Secure</);
101
+ assert.match(constantsSource, /\[LOGIN_MODE\]:\s*""/);
102
+ assert.doesNotMatch(constantsSource, /\[LOGIN_MODE\]:\s*"Welcome"/);
103
+ assert.doesNotMatch(constantsSource, /\[LOGIN_MODE\]:\s*"Sign in to continue\.?"/);
104
+ });
105
+
93
106
  test("auth-web package exports only minimal client runtime/view subpaths", () => {
94
107
  const packageJson = JSON.parse(readFileSync(fileURLToPath(new URL("../package.json", import.meta.url)), "utf8"));
95
108
  const exportsMap = packageJson && typeof packageJson === "object" ? packageJson.exports : {};