@@ -22,14 +22,6 @@ function feedAccessNote(feedCreationEnabled: boolean, accessTokenRequired: boole
2222 return '' ;
2323}
2424
25- function instanceNote ( feedCreationEnabled : boolean , accessTokenRequired : boolean , hasAccessToken : boolean ) {
26- if ( ! feedCreationEnabled ) return 'This deployment is currently serving read-only feed functionality.' ;
27- if ( ! accessTokenRequired ) return 'This deployment can generate feeds without additional access setup.' ;
28- return hasAccessToken
29- ? 'An access token is currently stored in this browser session.'
30- : 'This deployment asks for an access token only when you create a custom feed.' ;
31- }
32-
3325interface CreateFeedPanelProps {
3426 feedFormData : FeedFormData ;
3527 feedFieldErrors : FeedFieldErrors ;
@@ -150,20 +142,18 @@ export function CreateFeedPanel({
150142 { showTokenPrompt && (
151143 < div class = "token-gate" role = "group" aria-label = "Access token" >
152144 < div class = "token-gate__copy" >
153- < p class = "eyebrow" > Access token</ p >
154- < h3 > Unlock custom feed creation</ h3 >
155- < p class = "muted-copy" >
156- Save a token in this browser session to generate feeds from your own URLs.
157- </ p >
145+ < span class = "field-label" > Access token</ span >
146+ < p class = "muted-copy" > Save one token in this browser session to continue.</ p >
158147 </ div >
159148 < div class = "token-gate__controls" >
160149 < label class = "field-block" htmlFor = "access-token" >
161- < span class = "field-label" > Access token</ span >
162150 < input
163151 id = "access-token"
164152 name = "access-token"
165153 type = "password"
166154 class = "input input--mono"
155+ aria-label = "Access token"
156+ placeholder = "Paste access token"
167157 autocomplete = "off"
168158 value = { tokenDraft }
169159 onInput = { ( event ) => onTokenDraftChange ( ( event . target as HTMLInputElement ) . value ) }
@@ -172,7 +162,7 @@ export function CreateFeedPanel({
172162 </ label >
173163 < div class = "token-gate__actions" >
174164 < button type = "button" class = "btn btn--primary" onClick = { onSaveToken } >
175- Save token
165+ Continue
176166 </ button >
177167 < button type = "button" class = "btn btn--ghost" onClick = { onCancelTokenPrompt } >
178168 Cancel
@@ -199,39 +189,26 @@ export function CreateFeedPanel({
199189 ) ;
200190}
201191
202- export function QuickToolsPanel ( ) {
203- return (
204- < section class = "surface surface--quiet" >
205- < div class = "surface__header" >
206- < h2 > Bookmarklet</ h2 >
207- </ div >
208- < Bookmarklet />
209- </ section >
210- ) ;
211- }
212-
213192interface InstanceInfoProps {
214- feedCreationEnabled : boolean ;
215- accessTokenRequired : boolean ;
216193 hasAccessToken : boolean ;
217194 onClearToken : ( ) => void ;
218195}
219196
220- export function InstanceInfo ( {
221- feedCreationEnabled,
222- accessTokenRequired,
223- hasAccessToken,
224- onClearToken,
225- } : InstanceInfoProps ) {
197+ export function InstanceInfo ( { hasAccessToken, onClearToken } : InstanceInfoProps ) {
226198 return (
227199 < section class = "surface surface--info" >
228200 < div class = "surface__header" >
229201 < h2 > Run your own instance</ h2 >
230202 </ div >
231203
232204 < div class = "instance-info" >
233- < p > Start locally with Docker, then use included feeds, automatic generation, or custom configs.</ p >
234- < p > { instanceNote ( feedCreationEnabled , accessTokenRequired , hasAccessToken ) } </ p >
205+ < p >
206+ Start locally with Docker, then wire in included feeds, automatic generation, or custom configs.
207+ </ p >
208+ </ div >
209+
210+ < div class = "instance-utility" >
211+ < Bookmarklet />
235212 </ div >
236213
237214 < div class = "surface__toolbar" >
0 commit comments