browse the protocol like its 2008 ibex.desertthunder.dev
ubuntu atproto svelte
7

Configure Feed

Select the types of activity you want to include in your feed.

feat: link to universal link for profiles

Owais Jamil (Jun 9, 2026, 3:14 PM -0500) 1c8eee98 b66acf27

+9 -12
+2 -2
src/lib/components/GnomeMenuBar.svelte
··· 4 4 import { repoBrowser } from '$lib/atproto/repo.svelte'; 5 5 import { desktopSession } from '$lib/desktop-session.svelte'; 6 6 import { windowManager } from '$lib/window-manager.svelte'; 7 - import GnomeTry from '$lib/components/GnomeTry.svelte'; 7 + import GnomeTray from '$lib/components/GnomeTray.svelte'; 8 8 9 9 function changeAccount() { 10 10 windowManager.close('gedit'); ··· 64 64 </details> 65 65 </nav> 66 66 67 - <GnomeTry /> 67 + <GnomeTray /> 68 68 69 69 <style> 70 70 .panel-menus {
+7 -10
src/lib/components/GnomeTry.svelte src/lib/components/GnomeTray.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from 'svelte'; 3 3 import { accountSetup } from '$lib/atproto/setup.svelte'; 4 - import { repoBrowser } from '$lib/atproto/repo.svelte'; 5 4 import { desktopSession } from '$lib/desktop-session.svelte'; 6 - import { windowManager } from '$lib/window-manager.svelte'; 7 5 8 6 let now = $state(new Date()); 9 7 ··· 26 24 27 25 return () => window.clearInterval(interval); 28 26 }); 29 - 30 - function changeAccount() { 31 - windowManager.close('gedit'); 32 - repoBrowser.reset(); 33 - accountSetup.reset(); 34 - } 35 27 </script> 36 28 37 29 <aside class="panel-tray" aria-label="Status tray"> 38 30 {#if accountSetup.identity} 39 - <button class="account-chip" type="button" onclick={changeAccount} title="Change account"> 31 + <a 32 + class="account-chip" 33 + href={`https://aturi.to/profile/${encodeURIComponent(accountSetup.identity.handle)}`} 34 + target="_blank" 35 + rel="noopener noreferrer" 36 + title={`Open @${accountSetup.identity.handle} on aturi.to`}> 40 37 {#if accountSetup.identity.avatar} 41 38 <img src={accountSetup.identity.avatar} alt="" width="16" height="16" /> 42 39 {:else} 43 40 <img src="/icons/humanity/places/user-home.svg" alt="" width="16" height="16" /> 44 41 {/if} 45 42 <span>@{accountSetup.identity.handle}</span> 46 - </button> 43 + </a> 47 44 {/if} 48 45 <button class="tray-button" type="button" onclick={() => desktopSession.lock()} title="Lock screen"> 49 46 <img src="/icons/humanity/status/network-wireless-encrypted.svg" alt="Lock screen" width="16" height="16" />