From 113bea7da3b2630b7142eb4cbc200e6dd121c26f Mon Sep 17 00:00:00 2001 From: Lewis Date: Wed, 18 Mar 2026 07:18:08 +0200 Subject: [PATCH] refactor(frontend): extract migration component styles + migration.css --- .../migration/AppPasswordStep.svelte | 31 --- .../migration/ChooseHandleStep.svelte | 120 ---------- .../migration/EmailVerifyStep.svelte | 2 +- .../components/migration/InboundWizard.svelte | 36 +-- .../migration/OfflineInboundWizard.svelte | 1 - .../migration/PasskeySetupStep.svelte | 10 - .../src/lib/registration/DidDocStep.svelte | 76 ------- .../src/lib/registration/KeyChoiceStep.svelte | 70 ------ .../lib/registration/VerificationStep.svelte | 39 +--- frontend/src/routes/Migration.svelte | 210 ------------------ frontend/src/styles/migration.css | 169 ++++++++++---- 11 files changed, 126 insertions(+), 638 deletions(-) diff --git a/frontend/src/components/migration/AppPasswordStep.svelte b/frontend/src/components/migration/AppPasswordStep.svelte index 50d4111..972a824 100644 --- a/frontend/src/components/migration/AppPasswordStep.svelte +++ b/frontend/src/components/migration/AppPasswordStep.svelte @@ -53,34 +53,3 @@ - - diff --git a/frontend/src/components/migration/ChooseHandleStep.svelte b/frontend/src/components/migration/ChooseHandleStep.svelte index 2a081eb..71f19f2 100644 --- a/frontend/src/components/migration/ChooseHandleStep.svelte +++ b/frontend/src/components/migration/ChooseHandleStep.svelte @@ -281,123 +281,3 @@ - - diff --git a/frontend/src/components/migration/EmailVerifyStep.svelte b/frontend/src/components/migration/EmailVerifyStep.svelte index 1def323..6a654ad 100644 --- a/frontend/src/components/migration/EmailVerifyStep.svelte +++ b/frontend/src/components/migration/EmailVerifyStep.svelte @@ -39,7 +39,7 @@ {/if}
-
+
-
+
-
+
{/if}
- - diff --git a/frontend/src/components/migration/OfflineInboundWizard.svelte b/frontend/src/components/migration/OfflineInboundWizard.svelte index 256b8c1..6df2922 100644 --- a/frontend/src/components/migration/OfflineInboundWizard.svelte +++ b/frontend/src/components/migration/OfflineInboundWizard.svelte @@ -4,7 +4,6 @@ import { getErrorMessage } from '../../lib/migration/types' import { base64UrlEncode, prepareWebAuthnCreationOptions } from '../../lib/migration/atproto-client' import { _ } from '../../lib/i18n' - import '../../styles/migration.css' import ErrorStep from './ErrorStep.svelte' import SuccessStep from './SuccessStep.svelte' import ChooseHandleStep from './ChooseHandleStep.svelte' diff --git a/frontend/src/components/migration/PasskeySetupStep.svelte b/frontend/src/components/migration/PasskeySetupStep.svelte index e40330a..df8a835 100644 --- a/frontend/src/components/migration/PasskeySetupStep.svelte +++ b/frontend/src/components/migration/PasskeySetupStep.svelte @@ -48,13 +48,3 @@
- - diff --git a/frontend/src/lib/registration/DidDocStep.svelte b/frontend/src/lib/registration/DidDocStep.svelte index 7741ea5..a8f0c98 100644 --- a/frontend/src/lib/registration/DidDocStep.svelte +++ b/frontend/src/lib/registration/DidDocStep.svelte @@ -88,79 +88,3 @@ {/if}
- - diff --git a/frontend/src/lib/registration/KeyChoiceStep.svelte b/frontend/src/lib/registration/KeyChoiceStep.svelte index 5499b56..153aaf6 100644 --- a/frontend/src/lib/registration/KeyChoiceStep.svelte +++ b/frontend/src/lib/registration/KeyChoiceStep.svelte @@ -45,73 +45,3 @@ Back
- - diff --git a/frontend/src/lib/registration/VerificationStep.svelte b/frontend/src/lib/registration/VerificationStep.svelte index 9270d23..d97182c 100644 --- a/frontend/src/lib/registration/VerificationStep.svelte +++ b/frontend/src/lib/registration/VerificationStep.svelte @@ -129,7 +129,7 @@ {/if} -
+
{/if}
- - diff --git a/frontend/src/routes/Migration.svelte b/frontend/src/routes/Migration.svelte index d3f4abd..8e428d2 100644 --- a/frontend/src/routes/Migration.svelte +++ b/frontend/src/routes/Migration.svelte @@ -230,7 +230,6 @@ {#if oauthLoading}
-

{$_('migration.oauthCompleting')}

{:else if oauthError} @@ -304,212 +303,3 @@ {/if}
- diff --git a/frontend/src/styles/migration.css b/frontend/src/styles/migration.css index 85e1a9d..12a0b92 100644 --- a/frontend/src/styles/migration.css +++ b/frontend/src/styles/migration.css @@ -28,9 +28,7 @@ .step-dot { width: 24px; height: 24px; - border-radius: 50%; background: var(--bg-secondary); - border: 2px solid var(--border-color); display: flex; align-items: center; justify-content: center; @@ -82,7 +80,6 @@ .step-content { background: var(--bg-secondary); - border-radius: var(--radius-xl); padding: var(--space-6); } @@ -97,8 +94,6 @@ .info-box { background: var(--accent-muted); - border: 1px solid var(--border-color); - border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); } @@ -126,8 +121,6 @@ .warning-box { background: var(--warning-bg); - border: 1px solid var(--warning-border); - border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); font-size: var(--text-sm); @@ -172,7 +165,6 @@ .current-info { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); display: flex; @@ -195,7 +187,6 @@ .review-card { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); } @@ -243,7 +234,7 @@ } .progress-item.active { - color: var(--accent); + color: var(--secondary); } .progress-item .icon { @@ -254,7 +245,6 @@ .progress-bar { height: 8px; background: var(--bg-primary); - border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-4); } @@ -262,7 +252,6 @@ .progress-fill { height: 100%; background: var(--accent); - transition: width var(--transition-slow); } .status-text { @@ -278,7 +267,6 @@ .blob-progress-bar { height: 8px; background: var(--bg-primary); - border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-2); } @@ -286,7 +274,6 @@ .blob-progress-fill { height: 100%; background: var(--accent); - transition: width var(--transition-slow); } .blob-progress-text { @@ -305,7 +292,6 @@ height: 64px; background: var(--success-bg); color: var(--success-text); - border-radius: 50%; display: flex; align-items: center; justify-content: center; @@ -315,7 +301,6 @@ .success-details { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-4); margin: var(--space-5) 0; text-align: left; @@ -347,8 +332,6 @@ .code-block { background: var(--bg-primary); - border: 1px solid var(--border-color); - border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); overflow-x: auto; @@ -374,22 +357,17 @@ label.auth-option { align-items: center; gap: var(--space-3); padding: var(--space-4); - border: 2px solid var(--border-color); - border-radius: var(--radius-lg); cursor: pointer; margin-bottom: 0; - transition: - border-color var(--transition-normal), - background-color var(--transition-normal); } .auth-option:hover { - border-color: var(--accent); + border-color: var(--secondary); background: var(--bg-hover); } .auth-option.selected { - border-color: var(--accent); + border-color: var(--secondary); background: var(--accent-muted); } @@ -423,15 +401,6 @@ label.auth-option { padding: var(--space-8); } -.spinner { - width: 40px; - height: 40px; - border: 3px solid var(--border-color); - border-top-color: var(--accent); - border-radius: 50%; - animation: spin 1s linear infinite; -} - .passkey-section { margin-top: var(--space-5); text-align: center; @@ -444,7 +413,6 @@ label.auth-option { .app-password-display { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); text-align: center; @@ -463,7 +431,6 @@ label.auth-option { letter-spacing: 0.1em; padding: var(--space-4); background: var(--bg-tertiary); - border-radius: var(--radius-md); margin-bottom: var(--space-4); user-select: all; } @@ -474,7 +441,6 @@ label.auth-option { .current-account { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); display: flex; @@ -493,7 +459,6 @@ label.auth-option { .server-info { background: var(--bg-primary); - border-radius: var(--radius-lg); padding: var(--space-4); margin-top: var(--space-5); } @@ -519,7 +484,7 @@ label.auth-option { display: inline-block; margin-top: var(--space-2); margin-right: var(--space-3); - color: var(--accent); + color: var(--secondary); font-size: var(--text-sm); } @@ -534,7 +499,6 @@ label.auth-option { .next-steps { background: var(--accent-muted); - border-radius: var(--radius-lg); padding: var(--space-5); margin: var(--space-5) 0; text-align: left; @@ -554,7 +518,7 @@ label.auth-option { } .next-steps a { - color: var(--accent); + color: var(--secondary); } .resume-info { @@ -600,7 +564,6 @@ label.auth-option { align-items: center; padding: var(--space-3); background: var(--bg-primary); - border-radius: var(--radius-md); } .file-name { @@ -618,7 +581,6 @@ label.auth-option { font-size: var(--text-sm); padding: var(--space-3); border: 1px solid var(--border-color); - border-radius: var(--radius-md); background: var(--bg-input); color: var(--text-primary); resize: vertical; @@ -626,23 +588,136 @@ label.auth-option { .step-content textarea:focus { outline: none; - border-color: var(--accent); + border-color: var(--secondary); } .message { padding: var(--space-4); - border-radius: var(--radius-lg); margin-bottom: var(--space-4); } .message.success { background: var(--success-bg); color: var(--success-text); - border: 1px solid var(--success-border); } .message.error { background: var(--error-bg); color: var(--error-text); - border: 1px solid var(--error-border); +} + +.handle-choice-options { + display: flex; + flex-direction: column; + gap: var(--space-3); +} + +.handle-choice-option { + display: flex; + align-items: center; + gap: var(--space-3); + padding: var(--space-4); + cursor: pointer; +} + +.handle-choice-option:hover { + border-color: var(--secondary); +} + +.handle-choice-option.selected { + border-color: var(--secondary); + background: var(--accent-muted); +} + +.handle-choice-option input[type="radio"] { + flex-shrink: 0; + width: 18px; + height: 18px; + margin: 0; +} + +.handle-choice-content { + display: flex; + flex-direction: column; + gap: var(--space-1); +} + +.handle-preview { + font-family: var(--font-mono); + font-size: var(--text-sm); + color: var(--text-secondary); +} + +.existing-handle-display { + display: flex; + align-items: center; + gap: var(--space-4); + padding: var(--space-4); + background: var(--bg-secondary); + margin-bottom: var(--space-4); +} + +.handle-value { + font-family: var(--font-mono); + font-size: var(--text-base); +} + +.verified-badge { + font-size: var(--text-xs); + padding: var(--space-1) var(--space-3); + background: var(--success-bg); + color: var(--success-text); +} + +.verification-instructions { + background: var(--bg-secondary); + padding: var(--space-5); + margin-bottom: var(--space-4); +} + +.instruction-header { + margin: 0 0 var(--space-4) 0; + font-size: var(--text-sm); + color: var(--text-secondary); +} + +.instruction-or { + margin: var(--space-3) 0; + font-size: var(--text-xs); + color: var(--text-muted); + text-align: center; +} + +.verification-record { + display: flex; + flex-direction: column; + gap: var(--space-2); +} + +.verification-record code { + font-size: var(--text-sm); + padding: var(--space-3); + background: var(--bg-tertiary); + overflow-x: auto; + word-break: break-all; +} + +.record-content { + font-size: var(--text-xs); + color: var(--text-secondary); + padding-left: var(--space-3); +} + +.record-content code { + padding: var(--space-1) var(--space-2); + font-size: var(--text-xs); +} + +.verify-btn { + width: 100%; +} + +.passkey-section button { + width: 100%; + margin-top: 12px; }