@@ -498,40 +498,44 @@ export function ServerListView({
498498
499499 { /* Live Apps Section — sample.html line 146-284 */ }
500500 < section className = "max-w-7xl mx-auto px-6 mb-32 scroll-mt-24" id = "live-servers" >
501- < div className = "flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12" >
502- < div >
503- < h2 className = "text-3xl font-extrabold tracking-tight mb-2" > Browse live apps</ h2 >
504- < p className = "text-text-muted" > Explore public tunnels currently active on the network.</ p >
505- </ div >
506- < div className = "flex flex-wrap gap-3" >
507- { /* search pill — replaces mockup line 153-158 static input */ }
508- < div className = "bg-secondary px-4 py-2 rounded-xl flex items-center gap-2 border border-border/10" >
509- < Search className = "text-text-muted h-[18px] w-[18px]" />
510- < input
511- className = "bg-transparent border-none p-0 text-sm w-32 text-foreground outline-none placeholder:text-text-muted"
512- placeholder = "Search apps..."
513- type = "text"
514- value = { searchQuery }
515- onChange = { ( e ) => onSearchChange ( e . target . value ) }
501+ < div className = "mb-12 space-y-4" >
502+ < div className = "flex flex-col md:flex-row md:items-end justify-between gap-6" >
503+ < div >
504+ < h2 className = "text-3xl font-extrabold tracking-tight mb-2" > Browse live apps</ h2 >
505+ < p className = "text-text-muted" > Explore public tunnels currently active on the network.</ p >
506+ </ div >
507+ < div className = "flex flex-col gap-2" >
508+ < div className = "flex flex-wrap gap-3" >
509+ { /* search pill — replaces mockup line 153-158 static input */ }
510+ < div className = "bg-secondary px-4 py-2 rounded-xl flex items-center gap-2 border border-border/10" >
511+ < Search className = "text-text-muted h-4.5 w-4.5" />
512+ < input
513+ className = "bg-transparent border-none p-0 text-sm w-32 text-foreground outline-none placeholder:text-text-muted"
514+ placeholder = "Search apps..."
515+ type = "text"
516+ value = { searchQuery }
517+ onChange = { ( e ) => onSearchChange ( e . target . value ) }
518+ />
519+ </ div >
520+ { /* status select — replaces mockup line 159-163 static button */ }
521+ < StatusSelect
522+ status = { status }
523+ onStatusChange = { onStatusChange }
524+ />
525+ { /* sort select — replaces mockup line 164-168 static button */ }
526+ < SortbySelect
527+ sortBy = { sortBy }
528+ onSortByChange = { onSortByChange }
529+ />
530+ </ div >
531+ { /* tag combobox — replaces mockup line 169-173 static button */ }
532+ < TagCombobox
533+ availableTags = { availableTags }
534+ selectedTags = { selectedTags }
535+ onAdd = { onTagToggle }
536+ onRemove = { onTagToggle }
516537 />
517538 </ div >
518- { /* status select — replaces mockup line 159-163 static button */ }
519- < StatusSelect
520- status = { status }
521- onStatusChange = { onStatusChange }
522- />
523- { /* sort select — replaces mockup line 164-168 static button */ }
524- < SortbySelect
525- sortBy = { sortBy }
526- onSortByChange = { onSortByChange }
527- />
528- { /* tag combobox — replaces mockup line 169-173 static button */ }
529- < TagCombobox
530- availableTags = { availableTags }
531- selectedTags = { selectedTags }
532- onAdd = { onTagToggle }
533- onRemove = { onTagToggle }
534- />
535539 </ div >
536540 </ div >
537541 { /* App Grid (Bento Style) — sample.html line 177, cards replaced with dynamic ServerCard */ }
@@ -565,7 +569,7 @@ export function ServerListView({
565569 target = "_blank"
566570 rel = "noopener noreferrer"
567571 >
568- < Code className = "h-[18px] w-[18px] " />
572+ < Code className = "h-4.5 w-4.5 " />
569573 Open registry.json
570574 </ a >
571575 </ div >
0 commit comments