@shipfox/client-auth 14.0.0 → 14.0.1
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +16 -0
- package/dist/components/email-code-verification.js +1 -1
- package/dist/components/email-code-verification.js.map +1 -1
- package/dist/components/password-login-form.js +1 -1
- package/dist/components/password-login-form.js.map +1 -1
- package/dist/components/workspace-switcher.js +3 -3
- package/dist/components/workspace-switcher.js.map +1 -1
- package/dist/pages/login-page.js +1 -1
- package/dist/pages/login-page.js.map +1 -1
- package/dist/pages/password-reset-page.js +2 -2
- package/dist/pages/password-reset-page.js.map +1 -1
- package/dist/pages/signup-page.js +2 -2
- package/dist/pages/signup-page.js.map +1 -1
- package/dist/pages/workspace-onboarding-page.js +16 -16
- package/dist/pages/workspace-onboarding-page.js.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/components/email-code-verification.tsx +1 -1
- package/src/components/password-login-form.tsx +1 -1
- package/src/components/workspace-switcher.tsx +3 -3
- package/src/pages/login-page.tsx +1 -1
- package/src/pages/password-reset-page.tsx +2 -2
- package/src/pages/signup-page.tsx +2 -2
- package/src/pages/workspace-onboarding-page.tsx +16 -16
- package/tsconfig.build.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shipfox/client-auth",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "14.0.
|
|
4
|
+
"version": "14.0.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/ShipfoxHQ/shipfox.git",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@shipfox/api-auth-dto": "12.0.0",
|
|
40
40
|
"@shipfox/api-workspaces-dto": "12.0.0",
|
|
41
41
|
"@shipfox/client-api": "6.0.1",
|
|
42
|
-
"@shipfox/client-invitations": "14.0.
|
|
43
|
-
"@shipfox/client-shell": "14.0.
|
|
44
|
-
"@shipfox/client-ui": "14.0.
|
|
45
|
-
"@shipfox/react-ui": "0.
|
|
42
|
+
"@shipfox/client-invitations": "14.0.1",
|
|
43
|
+
"@shipfox/client-shell": "14.0.1",
|
|
44
|
+
"@shipfox/client-ui": "14.0.1",
|
|
45
|
+
"@shipfox/react-ui": "1.0.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@tanstack/react-query": "^5.101.0",
|
|
@@ -127,7 +127,7 @@ export function EmailCodeVerification({
|
|
|
127
127
|
This verification code has expired. Use another email to try again.
|
|
128
128
|
</Callout>
|
|
129
129
|
) : null}
|
|
130
|
-
<form className="flex flex-col gap-
|
|
130
|
+
<form className="flex flex-col gap-inline" noValidate onSubmit={submit}>
|
|
131
131
|
<FormField label="Verification code" id="verification-code" error={codeError}>
|
|
132
132
|
<FormFieldInput
|
|
133
133
|
autoComplete="one-time-code"
|
|
@@ -45,7 +45,7 @@ export function WorkspaceSwitcher({activeWorkspaceId, onSelect}: WorkspaceSwitch
|
|
|
45
45
|
<Command>
|
|
46
46
|
<CommandInput placeholder="Search workspaces..." />
|
|
47
47
|
<CommandList className="max-h-none overflow-visible overflow-y-visible p-0">
|
|
48
|
-
<div className="max-h-300 overflow-y-auto overflow-x-hidden p-
|
|
48
|
+
<div className="max-h-300 overflow-y-auto overflow-x-hidden p-menu-surface scrollbar">
|
|
49
49
|
<CommandEmpty>No workspaces found.</CommandEmpty>
|
|
50
50
|
<CommandGroup heading="Workspaces">
|
|
51
51
|
{workspaces.map((workspace) => (
|
|
@@ -57,7 +57,7 @@ export function WorkspaceSwitcher({activeWorkspaceId, onSelect}: WorkspaceSwitch
|
|
|
57
57
|
>
|
|
58
58
|
<Icon
|
|
59
59
|
name="check"
|
|
60
|
-
className={`size-16
|
|
60
|
+
className={`size-16 ${
|
|
61
61
|
activeWorkspaceId === workspace.id ? 'opacity-100' : 'opacity-0'
|
|
62
62
|
}`}
|
|
63
63
|
/>
|
|
@@ -67,7 +67,7 @@ export function WorkspaceSwitcher({activeWorkspaceId, onSelect}: WorkspaceSwitch
|
|
|
67
67
|
</CommandGroup>
|
|
68
68
|
</div>
|
|
69
69
|
<CommandSeparator alwaysRender className="mx-0" />
|
|
70
|
-
<CommandGroup forceMount className="p-
|
|
70
|
+
<CommandGroup forceMount className="p-menu-surface">
|
|
71
71
|
<CommandItem value="__create" onSelect={handleCreate} forceMount>
|
|
72
72
|
<Icon name="addLine" className="size-16" />
|
|
73
73
|
Create workspace
|
package/src/pages/login-page.tsx
CHANGED
|
@@ -28,7 +28,7 @@ export function LoginPage() {
|
|
|
28
28
|
return (
|
|
29
29
|
<AuthShell title={headerTitle} description={headerDescription}>
|
|
30
30
|
<PasswordLoginForm invitationEmail={invitationPending?.email}>
|
|
31
|
-
<ButtonLink asChild variant="subtle" className="-mt-
|
|
31
|
+
<ButtonLink asChild variant="subtle" className="-mt-inline self-end">
|
|
32
32
|
<Link to="/auth/reset">Forgot password?</Link>
|
|
33
33
|
</ButtonLink>
|
|
34
34
|
</PasswordLoginForm>
|
|
@@ -95,7 +95,7 @@ function PasswordResetRequest() {
|
|
|
95
95
|
return (
|
|
96
96
|
<AuthShell title="Reset your password" description="Enter your email to get a reset link.">
|
|
97
97
|
<form
|
|
98
|
-
className="flex flex-col gap-
|
|
98
|
+
className="flex flex-col gap-group"
|
|
99
99
|
noValidate
|
|
100
100
|
onSubmit={(event) => {
|
|
101
101
|
event.preventDefault();
|
|
@@ -174,7 +174,7 @@ function PasswordResetConfirm({token}: {token: string}) {
|
|
|
174
174
|
return (
|
|
175
175
|
<AuthShell title="Set a new password" description="Choose a password for your Shipfox account.">
|
|
176
176
|
<form
|
|
177
|
-
className="flex flex-col gap-
|
|
177
|
+
className="flex flex-col gap-group"
|
|
178
178
|
noValidate
|
|
179
179
|
onSubmit={(event) => {
|
|
180
180
|
event.preventDefault();
|
|
@@ -206,7 +206,7 @@ export function SignupPage() {
|
|
|
206
206
|
description="Your account was created, but we could not finish signing you in."
|
|
207
207
|
>
|
|
208
208
|
<Callout role="alert" type="error">
|
|
209
|
-
<div className="flex flex-col gap-
|
|
209
|
+
<div className="flex flex-col gap-inline">
|
|
210
210
|
<Text size="sm">
|
|
211
211
|
Try again to finish joining your workspace. You can safely retry this step.
|
|
212
212
|
</Text>
|
|
@@ -285,7 +285,7 @@ export function SignupPage() {
|
|
|
285
285
|
return (
|
|
286
286
|
<AuthShell title={headerTitle} description={headerDescription}>
|
|
287
287
|
<form
|
|
288
|
-
className="flex flex-col gap-
|
|
288
|
+
className="flex flex-col gap-group"
|
|
289
289
|
noValidate
|
|
290
290
|
onSubmit={(event) => {
|
|
291
291
|
event.preventDefault();
|
|
@@ -78,10 +78,10 @@ export function WorkspaceOnboardingPage() {
|
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
return (
|
|
81
|
-
<main className="min-h-screen bg-background-subtle-base px-
|
|
82
|
-
<div className="mx-auto flex min-h-[calc(100vh-64px)] w-full max-w-[1120px] flex-col gap-
|
|
81
|
+
<main className="min-h-screen bg-background-subtle-base px-frame py-frame max-[520px]:px-row">
|
|
82
|
+
<div className="mx-auto flex min-h-[calc(100vh-64px)] w-full max-w-[1120px] flex-col gap-section">
|
|
83
83
|
<header className="flex items-center justify-between">
|
|
84
|
-
<div className="flex items-center gap-
|
|
84
|
+
<div className="flex items-center gap-inline">
|
|
85
85
|
<div className="flex size-36 items-center justify-center rounded-8 border border-border-neutral-base bg-background-neutral-base shadow-button-neutral">
|
|
86
86
|
<Icon name="shipfox" className="size-24 text-background-highlight-interactive" />
|
|
87
87
|
</div>
|
|
@@ -91,7 +91,7 @@ export function WorkspaceOnboardingPage() {
|
|
|
91
91
|
</div>
|
|
92
92
|
</header>
|
|
93
93
|
|
|
94
|
-
<section className="grid flex-1 items-center gap-
|
|
94
|
+
<section className="grid flex-1 items-center gap-region lg:grid-cols-[minmax(0,440px)_minmax(0,1fr)]">
|
|
95
95
|
<form
|
|
96
96
|
className="relative z-10 w-full"
|
|
97
97
|
noValidate
|
|
@@ -102,8 +102,8 @@ export function WorkspaceOnboardingPage() {
|
|
|
102
102
|
void form.handleSubmit();
|
|
103
103
|
}}
|
|
104
104
|
>
|
|
105
|
-
<Card className="gap-
|
|
106
|
-
<CardHeader className="gap-
|
|
105
|
+
<Card className="gap-section p-panel shadow-button-neutral">
|
|
106
|
+
<CardHeader className="gap-inline">
|
|
107
107
|
<CardTitle id="workspace-onboarding-title" variant="h1">
|
|
108
108
|
Create your workspace
|
|
109
109
|
</CardTitle>
|
|
@@ -116,7 +116,7 @@ export function WorkspaceOnboardingPage() {
|
|
|
116
116
|
</Callout>
|
|
117
117
|
) : null}
|
|
118
118
|
|
|
119
|
-
<CardContent className="flex flex-col gap-
|
|
119
|
+
<CardContent className="flex flex-col gap-inline">
|
|
120
120
|
<form.Field
|
|
121
121
|
name="name"
|
|
122
122
|
validators={{
|
|
@@ -201,11 +201,11 @@ export function WorkspaceOnboardingPage() {
|
|
|
201
201
|
</Card>
|
|
202
202
|
</form>
|
|
203
203
|
|
|
204
|
-
<div className="hidden flex-col gap-
|
|
205
|
-
<div className="grid grid-cols-4 gap-
|
|
204
|
+
<div className="hidden flex-col gap-group lg:flex" aria-hidden="true">
|
|
205
|
+
<div className="grid grid-cols-4 gap-cluster">
|
|
206
206
|
{previewMetrics.map((metric) => (
|
|
207
207
|
<div
|
|
208
|
-
className="rounded-8 border border-border-neutral-base bg-background-neutral-base p-
|
|
208
|
+
className="rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact shadow-button-neutral"
|
|
209
209
|
key={metric.label}
|
|
210
210
|
>
|
|
211
211
|
<Text size="xs" className="text-foreground-neutral-muted">
|
|
@@ -217,18 +217,18 @@ export function WorkspaceOnboardingPage() {
|
|
|
217
217
|
</div>
|
|
218
218
|
))}
|
|
219
219
|
</div>
|
|
220
|
-
<div className="grid grid-cols-2 gap-
|
|
220
|
+
<div className="grid grid-cols-2 gap-group">
|
|
221
221
|
<PreviewPanel title="Performance over time" />
|
|
222
222
|
<PreviewPanel title="Duration distribution" bars />
|
|
223
223
|
</div>
|
|
224
|
-
<div className="rounded-8 border border-border-neutral-base bg-background-neutral-base p-
|
|
224
|
+
<div className="flex flex-col gap-cluster rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact shadow-button-neutral">
|
|
225
225
|
<Text size="sm" bold>
|
|
226
226
|
Jobs breakdown
|
|
227
227
|
</Text>
|
|
228
|
-
<div className="
|
|
228
|
+
<div className="flex flex-col gap-inline">
|
|
229
229
|
{[0, 1, 2, 3].map((row) => (
|
|
230
230
|
<div
|
|
231
|
-
className="grid grid-cols-[1fr_80px_80px] gap-
|
|
231
|
+
className="grid grid-cols-[1fr_80px_80px] gap-cluster border-t border-border-neutral-base pt-[10px]"
|
|
232
232
|
key={row}
|
|
233
233
|
>
|
|
234
234
|
<div className="h-12 rounded-full bg-background-neutral-disabled" />
|
|
@@ -247,11 +247,11 @@ export function WorkspaceOnboardingPage() {
|
|
|
247
247
|
|
|
248
248
|
function PreviewPanel({title, bars = false}: {title: string; bars?: boolean}) {
|
|
249
249
|
return (
|
|
250
|
-
<div className="rounded-8 border border-border-neutral-base bg-background-neutral-base p-
|
|
250
|
+
<div className="flex flex-col gap-group rounded-8 border border-border-neutral-base bg-background-neutral-base p-panel-compact shadow-button-neutral">
|
|
251
251
|
<Text size="sm" bold>
|
|
252
252
|
{title}
|
|
253
253
|
</Text>
|
|
254
|
-
<div className="
|
|
254
|
+
<div className="flex h-[220px] items-end gap-inline border-b border-l border-border-neutral-base px-row pb-[10px]">
|
|
255
255
|
{previewBars.map((bar) => (
|
|
256
256
|
<div
|
|
257
257
|
className={
|