basic activity feed

This commit is contained in:
Badtz 2025-03-28 14:04:56 -07:00
parent 9a3819293c
commit e30d3da176
4 changed files with 44 additions and 3 deletions

View file

@ -0,0 +1,16 @@
<script lang="ts">
import type { MeWoachFeedActivity } from '@atcute/client/lexicons';
export let activity: MeWoachFeedActivity.Record[] = [];
</script>
<ul>
{#each activity as activityItem}
<li class="mx-auto mb-2 w-1/3 bg-gray-600 p-4">
<div>
<p>{activityItem.performedAt}</p>
<p>{activityItem.progress}</p>
<p>{activityItem.session.uri}</p>
</div>
</li>
{/each}
</ul>

View file

@ -56,3 +56,15 @@ export async function getSessions(rpc: XRPC, did: string) {
}); });
return records; return records;
} }
export async function getActivity(rpc: XRPC, did: string) {
const {
data: { records }
} = await rpc.get('com.atproto.repo.listRecords', {
params: {
repo: did,
collection: 'me.woach.feed.activity'
}
});
return records;
}

View file

@ -1,4 +1,5 @@
<script lang="ts"> <script lang="ts">
import Activity from '$lib/components/activity.svelte';
import List from '$lib/components/list.svelte'; import List from '$lib/components/list.svelte';
import type { PageProps } from './$types'; import type { PageProps } from './$types';
@ -8,3 +9,4 @@
<h1>{data.handle}</h1> <h1>{data.handle}</h1>
<List sessions={data.sessions} /> <List sessions={data.sessions} />
<Activity activity={data.activity} />

View file

@ -1,5 +1,9 @@
import { createRPC, getSessions, resolveHandle } from '$lib/util'; import { createRPC, getActivity, getSessions, resolveHandle } from '$lib/util';
import type { ComAtprotoRepoListRecords, MeWoachFeedSession } from '@atcute/client/lexicons'; import type {
ComAtprotoRepoListRecords,
MeWoachFeedActivity,
MeWoachFeedSession
} from '@atcute/client/lexicons';
import type { PageLoad } from './$types'; import type { PageLoad } from './$types';
export const load: PageLoad = async ({ params }) => { export const load: PageLoad = async ({ params }) => {
@ -10,8 +14,15 @@ export const load: PageLoad = async ({ params }) => {
(record: ComAtprotoRepoListRecords.Record) => record.value as MeWoachFeedSession.Record (record: ComAtprotoRepoListRecords.Record) => record.value as MeWoachFeedSession.Record
); );
const activity: MeWoachFeedActivity.Record[] = (await getActivity(rpc, did)).map(
(record: ComAtprotoRepoListRecords.Record) => record.value as MeWoachFeedActivity.Record
);
console.log(activity);
return { return {
handle: params.handle, handle: params.handle,
sessions: sessions sessions: sessions,
activity: activity
}; };
}; };