my website at ewancroft.uk
6
fork

Configure Feed

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

refactor: remove StatusCard component and retire now/ RSS/Atom routes

+1 -83
-1
src/lib/components/layout/index.ts
··· 4 4 export { default as WolfToggle } from './WolfToggle.svelte'; 5 5 export { default as LinkCard } from './main/card/LinkCard.svelte'; 6 6 export { default as ProfileCard } from './main/card/ProfileCard.svelte'; 7 - export { default as StatusCard } from './main/card/StatusCard.svelte'; 8 7 export { default as DynamicLinks } from './main/DynamicLinks.svelte'; 9 8 export { default as TangledRepos } from './main/TangledRepos.svelte'; 10 9 export { default as ScrollToTop } from './main/ScrollToTop.svelte';
-60
src/lib/components/layout/main/card/StatusCard.svelte
··· 1 - <script lang="ts"> 2 - import { onMount } from 'svelte'; 3 - import { Card } from '$lib/components/ui'; 4 - import { fetchStatus, type StatusData } from '$lib/services/atproto'; 5 - import { formatRelativeTime } from '$lib/utils/formatDate'; 6 - import { Rss } from '@lucide/svelte'; 7 - 8 - let status: StatusData | null = null; 9 - let loading = true; 10 - let error: string | null = null; 11 - 12 - onMount(async () => { 13 - try { 14 - status = await fetchStatus(); 15 - } catch (err) { 16 - error = err instanceof Error ? err.message : 'Failed to load status'; 17 - } finally { 18 - loading = false; 19 - } 20 - }); 21 - </script> 22 - 23 - <div class="mx-auto w-full max-w-2xl"> 24 - {#if loading} 25 - <Card loading={true} variant="elevated" padding="md"> 26 - {#snippet skeleton()} 27 - <div class="mb-2 flex items-center gap-2"> 28 - <div class="h-4 w-4 rounded bg-canvas-300 dark:bg-canvas-700"></div> 29 - <div class="h-3 w-24 rounded bg-canvas-300 dark:bg-canvas-700"></div> 30 - </div> 31 - <div class="mb-2 h-5 w-3/4 rounded bg-canvas-300 dark:bg-canvas-700"></div> 32 - <div class="h-3 w-32 rounded bg-canvas-300 dark:bg-canvas-700"></div> 33 - {/snippet} 34 - </Card> 35 - {:else if error} 36 - <Card error={true} errorMessage={error} /> 37 - {:else if status} 38 - {@const safeStatus = status} 39 - <Card variant="elevated" padding="md"> 40 - {#snippet children()} 41 - <div class="mb-2 flex items-center gap-2"> 42 - <Rss class="h-4 w-4 text-primary-600 dark:text-primary-400" aria-hidden="true" /> 43 - <span 44 - class="text-xs font-semibold tracking-wide text-ink-800 uppercase dark:text-ink-100" 45 - > 46 - Current Status 47 - </span> 48 - </div> 49 - 50 - <p class="mb-2 overflow-wrap-anywhere break-words text-lg font-medium text-ink-900 dark:text-ink-50"> 51 - {safeStatus.text} 52 - </p> 53 - 54 - <time datetime={safeStatus.createdAt} class="text-xs font-medium text-ink-800 dark:text-ink-100"> 55 - {formatRelativeTime(safeStatus.createdAt)} 56 - </time> 57 - {/snippet} 58 - </Card> 59 - {/if} 60 - </div>
+1 -1
src/lib/components/layout/main/card/index.ts
··· 1 1 export { default as LinkCard } from './LinkCard.svelte'; 2 2 export { default as ProfileCard } from './ProfileCard.svelte'; 3 - export { default as StatusCard } from './StatusCard.svelte'; 4 3 export { default as PostCard } from './PostCard.svelte'; 5 4 export { default as BlueskyPostCard } from './BlueskyPostCard.svelte'; 6 5 export { default as TangledRepoCard } from './TangledRepoCard.svelte'; 6 + export { default as MusicStatusCard } from './MusicStatusCard.svelte';
-1
src/lib/index.ts
··· 4 4 export { default as ScrollToTop } from './components/layout/main/ScrollToTop.svelte'; 5 5 export { default as LinkCard } from './components/layout/main/card/LinkCard.svelte'; 6 6 export { default as ProfileCard } from './components/layout/main/card/ProfileCard.svelte'; 7 - export { default as StatusCard } from './components/layout/main/card/StatusCard.svelte'; 8 7 9 8 export * from './services/atproto'; 10 9 export * from './helper/siteMeta';
-10
src/routes/now/atom/+server.ts
··· 1 - import type { RequestHandler } from '@sveltejs/kit'; 2 - 3 - export const GET: RequestHandler = () => { 4 - return new Response('The Atom feed for status updates at /now/atom has been retired and is no longer available.', { 5 - status: 410, 6 - headers: { 7 - 'Content-Type': 'text/plain' 8 - } 9 - }); 10 - };
-10
src/routes/now/rss/+server.ts
··· 1 - import type { RequestHandler } from '@sveltejs/kit'; 2 - 3 - export const GET: RequestHandler = () => { 4 - return new Response('The RSS feed for status updates at /now/rss has been retired and is no longer available.', { 5 - status: 410, 6 - headers: { 7 - 'Content-Type': 'text/plain' 8 - } 9 - }); 10 - };