tracks lexicons and how many times they appeared on the jetstream

feat: add connection spinner

ptr.pet fc2b671d c3346a41

verified
+4
client/src/app.css
···
overflow-y: overlay;
overflow-y: auto; /* Fallback for browsers that don't support overlay */
}
+
+
.wsbadge {
+
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
+
}
-7
client/src/lib/components/BskyToggle.svelte
···
<input checked={dontShowBsky} type="checkbox" />
<span class="ml-0.5"> hide app.bsky.* </span>
</button>
-
-
<style lang="postcss">
-
@reference "../../app.css";
-
.wsbadge {
-
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
-
}
-
</style>
-7
client/src/lib/components/FilterControls.svelte
···
class="bg-blue-50 text-blue-900 placeholder-blue-400 border border-blue-200 rounded-full px-1 outline-none focus:bg-white focus:border-blue-400 min-w-0 w-24"
/>
</div>
-
-
<style lang="postcss">
-
@reference "../../app.css";
-
.wsbadge {
-
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
-
}
-
</style>
-7
client/src/lib/components/RefreshControl.svelte
···
/>
<span class="text-green-700">s</span>
</div>
-
-
<style lang="postcss">
-
@reference "../../app.css";
-
.wsbadge {
-
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
-
}
-
</style>
-7
client/src/lib/components/SortControls.svelte
···
{/each}
</select>
</div>
-
-
<style lang="postcss">
-
@reference "../../app.css";
-
.wsbadge {
-
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
-
}
-
</style>
+10 -10
client/src/lib/components/StatusBadge.svelte
···
const config = $derived(statusConfig[status]);
</script>
-
<span class="wsbadge {config.classes}">
-
{config.text}
-
</span>
-
-
<style lang="postcss">
-
@reference "../../app.css";
-
.wsbadge {
-
@apply text-sm font-semibold mt-1.5 px-2.5 py-0.5 rounded-full border;
-
}
-
</style>
+
<div class="flex flex-row items-center gap-2 wsbadge {config.classes}">
+
<!-- connecting spinner -->
+
{#if status === "connecting"}
+
<div
+
class="animate-spin rounded-full h-4 w-4 border-b-2 border-yellow-800"
+
></div>
+
{/if}
+
<!-- status text -->
+
<span>{config.text}</span>
+
</div>