Skip to content

Commit 21eb936

Browse files
committed
refactor: align web and rss design surfaces
1 parent d86d9cb commit 21eb936

6 files changed

Lines changed: 210 additions & 155 deletions

File tree

frontend/src/components/App.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ export function App() {
196196
return (
197197
<section class="workspace-shell workspace-shell--centered workspace-shell--loading">
198198
<BrandLockup />
199-
<div class="status-card" aria-live="polite">
199+
<div class="ui-card ui-card--notice ui-card--roomy status-card" aria-live="polite">
200200
<div class="status-card__spinner" aria-hidden="true" />
201201
<div>
202202
<strong>Loading instance</strong>
@@ -214,7 +214,7 @@ export function App() {
214214
</header>
215215

216216
{(metadataError || tokenStateError) && (
217-
<section class="notice notice--error" role="alert">
217+
<section class="ui-card ui-card--notice ui-card--padded notice notice--error" role="alert">
218218
<div class="notice__title">Instance metadata unavailable</div>
219219
<p>{metadataError ?? tokenStateError}</p>
220220
</section>

frontend/src/components/AppPanels.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ export function CreateFeedPanel({
118118
onInput={(event) => onFeedFieldChange('url', (event.target as HTMLInputElement).value)}
119119
/>
120120

121-
<label class="field-block field-block--select field-block--subtle" htmlFor="strategy">
121+
<label class="field-block field-block--select" htmlFor="strategy">
122122
<select
123123
id="strategy"
124124
name="strategy"
125-
class="input input--select input--subtle"
125+
class="input input--minimal"
126126
value={feedFormData.strategy}
127127
disabled={strategiesLoading || showTokenPrompt}
128128
onChange={(event) => onFeedFieldChange('strategy', (event.target as HTMLSelectElement).value)}
@@ -147,7 +147,11 @@ export function CreateFeedPanel({
147147
<>
148148
<p class="field-help field-help--alert">Custom feed generation is disabled for this instance.</p>
149149
{featuredFeeds.length > 0 && (
150-
<div class="notice" role="status" aria-label="Included feeds">
150+
<div
151+
class="ui-card ui-card--notice ui-card--padded notice"
152+
role="status"
153+
aria-label="Included feeds"
154+
>
151155
<div class="notice__title">Try a working included feed</div>
152156
<p>Start with one of the embedded configs from this instance:</p>
153157
{featuredFeeds.map((feed) => (
@@ -184,7 +188,7 @@ export function CreateFeedPanel({
184188
id="access-token"
185189
name="access-token"
186190
type="password"
187-
class="input input--mono input--subtle"
191+
class="input input--mono input--minimal"
188192
aria-label="Access token"
189193
placeholder="Paste access token"
190194
autocomplete="off"
@@ -222,14 +226,14 @@ export function CreateFeedPanel({
222226
)}
223227

224228
{conversionError && (
225-
<div class="notice notice--error" role="alert">
229+
<div class="ui-card ui-card--notice ui-card--padded notice notice--error" role="alert">
226230
<div class="notice__title">Feed generation failed</div>
227231
<p>{conversionError}</p>
228232
</div>
229233
)}
230234

231235
{feedFieldErrors.form && (
232-
<div class="notice notice--error" role="alert">
236+
<div class="ui-card ui-card--notice ui-card--padded notice notice--error" role="alert">
233237
<p>{feedFieldErrors.form}</p>
234238
</div>
235239
)}

frontend/src/components/DominantField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export function DominantField({
4545
id={id}
4646
name={id}
4747
type={type}
48-
class="input input--mono input--hero"
48+
class="input input--mono input--lg"
4949
placeholder={placeholder}
5050
autocomplete={type === 'url' ? 'url' : 'off'}
5151
autoFocus={autoFocus}

frontend/src/components/ResultDisplay.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,10 @@ export function ResultDisplay({ result, onCreateAnother }: ResultDisplayProps) {
9494

9595
return (
9696
<section class="result-shell layout-stack" aria-live="polite">
97-
<header class="result-hero layout-rail-reading layout-stack" style={{ '--stack-gap': 'var(--space-3)' }}>
97+
<header
98+
class="result-hero layout-rail-reading layout-stack"
99+
style={{ '--stack-gap': 'var(--space-3)' }}
100+
>
98101
<p class="result-kicker ui-eyebrow">Feed created</p>
99102
<h1 class="result-title">Your feed is ready</h1>
100103
<p class="result-meta layout-rail-copy">{result.name}</p>
@@ -163,7 +166,7 @@ export function ResultDisplay({ result, onCreateAnother }: ResultDisplayProps) {
163166
)}
164167

165168
{copyNotice && (
166-
<div class="notice notice--success" role="status">
169+
<div class="ui-card ui-card--notice ui-card--padded notice notice--success" role="status">
167170
<p>{copyNotice}</p>
168171
</div>
169172
)}

0 commit comments

Comments
 (0)