···11+import { getClient } from '$lib/atproto';
22+import { resumeSession, getProfile } from '$lib/atproto';
33+44+export async function load({ params }) {
55+ const client = await getClient();
66+ if (params.aturl) {
77+ const { data, ok } = await client.get('app.bsky.feed.getFeed', {
88+ params: {
99+ feed: params.aturl,
1010+ limit: 30
1111+ }
1212+ });
1313+ if (!ok) {
1414+ throw new Error(`couldn't load feed ${params.aturl}`);
1515+ }
1616+ return { data };
1717+ }
1818+1919+ // use following feed
2020+ const { data, ok } = await client.get('app.bsky.feed.getTimeline', {
2121+ params: {
2222+ limit: 30
2323+ }
2424+ });
2525+ if (!ok) {
2626+ throw new Error("couldn't load following timeline");
2727+ }
2828+ return { data };
2929+}
+10
src/routes/feed/[[aturl]]/+page.svelte
···11+<script lang="ts">
22+ import Post from '$lib/components/Post.svelte';
33+44+ let { data } = $props();
55+</script>
66+77+{#each data.data.feed as entry, i (i)}
88+ <Post post={entry.post} />
99+{/each}
1010+