replies timeline only, appview-less bluesky client

fix: dont 'duplicate' accounts

ptr.pet 5e163a7e 40023019

verified
Changed files
+5 -4
src
+1 -1
src/components/AccountSelector.svelte
···
<!-- svelte-ignore a11y_click_events_have_key_events -->
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div
-
class="absolute left-0 z-10 mt-3 min-w-52 animate-fade-in-scale-fast overflow-hidden rounded-sm border-2 border-(--nucleus-accent) bg-(--nucleus-bg)/94 shadow-2xl backdrop-blur-lg transition-all"
+
class="absolute left-0 z-20 mt-3 min-w-52 animate-fade-in-scale-fast overflow-hidden rounded-sm border-2 border-(--nucleus-accent) bg-(--nucleus-bg)/94 shadow-2xl backdrop-blur-lg transition-all"
onclick={(e) => e.stopPropagation()}
>
{#if accounts.length > 0}
+1
src/components/Popup.svelte
···
let popupElement: HTMLDivElement | undefined = $state();
+
// this sucks probably idk
$effect(() => {
if (!isOpen) return;
+1 -1
src/lib/accounts.ts
···
})();
export const addAccount = (account: Account): void => {
-
accounts.update((accounts) => [...accounts, account]);
+
accounts.update((accounts) => [...accounts.filter((a) => a.did !== account.did), account]);
};
export const loggingIn = {
+2 -2
src/routes/+page.svelte
···
<div class="mx-auto max-w-2xl">
<!-- Sticky header -->
-
<div class="sticky top-0 z-10 bg-(--nucleus-bg) p-4">
+
<div class="sticky top-0 z-10 bg-(--nucleus-bg) pb-2">
<div class="mb-6 flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold tracking-tight">nucleus</h1>
···
</div>
{#if errorsOpen}
<div
-
class="absolute top-full right-0 left-0 z-50 mt-2 flex animate-fade-in-scale-fast flex-col gap-1 error-disclaimer shadow-lg transition-all"
+
class="absolute top-full right-0 left-0 z-10 mt-2 flex animate-fade-in-scale-fast flex-col gap-1 error-disclaimer shadow-lg transition-all"
>
{#each errors as error, idx (idx)}
<p>• {error}</p>