@@ -75,51 +75,40 @@ export function GuestOnboardingPanel({
7575 const selectedDemoUrl = demoSources . find ( ( source ) => source . id === selectedDemoId ) ?. url ?? demoSources [ 0 ] . url ;
7676
7777 return (
78- < section class = "surface surface--form " >
78+ < section class = "workspace " >
7979 < div class = "panel-meta" >
8080 < span />
8181 { mode === 'guest-demo' ? (
8282 < button type = "button" class = "btn btn--link" onClick = { ( ) => onModeChange ( 'guest-auth' ) } >
8383 Sign in
8484 </ button >
8585 ) : (
86- < button type = "button" class = "btn btn--link" onClick = { onBackToDemo } >
87- Back to demo
86+ < button type = "button" class = "btn btn--link btn--meta " onClick = { onBackToDemo } >
87+ ← Back to demo
8888 </ button >
8989 ) }
9090 </ div >
9191
92- < header class = "surface-header onboarding-header" >
93- < h2 class = "onboarding-title" > Convert website to RSS</ h2 >
94- < p class = "onboarding-subtitle" >
95- { mode === 'guest-demo'
96- ? 'Try a demo source instantly. Sign in to convert your own URLs.'
97- : 'Sign in to convert any website URL.' }
98- </ p >
99- </ header >
100-
10192 { mode === 'guest-demo' ? (
102- < div class = "form form--spacious form--tight" >
103- < fieldset class = "fieldset" >
104- < legend class = "legend" > Demo source</ legend >
105- < div class = "radio-list radio-list--compact" >
93+ < div class = "form" >
94+ < h2 class = "workspace-title" > Convert website to RSS</ h2 >
95+ < p class = "field-help" > Try a demo source instantly. Sign in to convert your own URLs.</ p >
96+
97+ < div class = "field" >
98+ < label for = "demo-source" class = "label" > Demo source</ label >
99+ < select
100+ id = "demo-source"
101+ class = "input"
102+ value = { selectedDemoId }
103+ onChange = { ( e ) => setSelectedDemoId ( ( e . target as HTMLSelectElement ) . value ) }
104+ >
106105 { demoSources . map ( ( source ) => (
107- < label key = { source . id } class = { `radio-card radio-card--compact ${ selectedDemoId === source . id ? 'is-selected' : '' } ` } >
108- < input
109- type = "radio"
110- name = "demo-source"
111- class = "radio-card__input"
112- checked = { selectedDemoId === source . id }
113- onChange = { ( ) => setSelectedDemoId ( source . id ) }
114- />
115- < span class = "radio-card__content" >
116- < span class = "radio-card__title" > { source . label } </ span >
117- < span class = "radio-card__hint" > { source . hint } </ span >
118- </ span >
119- </ label >
106+ < option key = { source . id } value = { source . id } >
107+ { source . label } — { source . hint }
108+ </ option >
120109 ) ) }
121- </ div >
122- </ fieldset >
110+ </ select >
111+ </ div >
123112
124113 { demoError && (
125114 < div class = "notice notice--error notice--compact" role = "alert" >
@@ -129,13 +118,15 @@ export function GuestOnboardingPanel({
129118 ) }
130119
131120 < div class = "form-actions" >
132- < button type = "button" class = "btn btn--accent " onClick = { ( ) => onConvert ( selectedDemoUrl ) } >
121+ < button type = "button" class = "btn btn--ghost " onClick = { ( ) => onConvert ( selectedDemoUrl ) } >
133122 Run demo
134123 </ button >
135124 </ div >
136125 </ div >
137126 ) : (
138- < form id = "auth-section" class = "form form--spacious form--tight" onSubmit = { onAuthSubmit } >
127+ < form id = "auth-section" class = "form" onSubmit = { onAuthSubmit } >
128+ < h2 class = "workspace-title" > Convert website to RSS</ h2 >
129+
139130 { authFieldErrors . form && (
140131 < div class = "notice notice--error notice--compact" role = "alert" >
141132 < p > { authFieldErrors . form } </ p >
@@ -182,15 +173,15 @@ export function GuestOnboardingPanel({
182173 </ div >
183174 </ div >
184175
185- < p class = "surface-header__hint " >
176+ < p class = "field-help " >
186177 Need a token? Ask your html2rss-web admin or read the{ ' ' }
187178 < a href = "https://html2rss.github.io/" target = "_blank" rel = "noopener noreferrer" >
188179 official docs
189180 </ a >
190181 .
191182 </ p >
192183
193- < div class = "form-actions auth-form-actions " >
184+ < div class = "form-actions" >
194185 < button type = "submit" class = "btn btn--accent" >
195186 Sign in
196187 </ button >
@@ -233,15 +224,16 @@ export function MemberConvertPanel({
233224 const selectedStrategy = strategies . find ( ( strategy ) => strategy . id === feedFormData . strategy ) ;
234225
235226 return (
236- < section class = "surface surface--form surface--minimal " >
227+ < section class = "workspace " >
237228 < div class = "panel-meta" >
238229 < span class = "panel-meta__primary" > { username } </ span >
239230 < button type = "button" onClick = { onLogout } class = "btn btn--link btn--meta" >
240231 Log out
241232 </ button >
242233 </ div >
243234
244- < form id = "feed-section" class = "form form--spacious form--tight form--member" onSubmit = { onFeedSubmit } >
235+ < form id = "feed-section" class = "form" onSubmit = { onFeedSubmit } >
236+ < h2 class = "workspace-title" > Convert a website</ h2 >
245237 < div class = "field" >
246238 < label for = "url" class = "label" data-required > URL</ label >
247239 < div class = "field field--inline" >
@@ -257,7 +249,7 @@ export function MemberConvertPanel({
257249 value = { feedFormData . url }
258250 onInput = { ( e ) => onFeedFieldChange ( 'url' , ( e . target as HTMLInputElement ) . value ) }
259251 />
260- < button type = "submit" class = "btn btn--quiet- accent" disabled = { isConverting } >
252+ < button type = "submit" class = "btn btn--accent" disabled = { isConverting } >
261253 { isConverting ? 'Converting...' : 'Convert' }
262254 </ button >
263255 </ div >
0 commit comments