basic activity feed
This commit is contained in:
parent
9a3819293c
commit
e30d3da176
4 changed files with 44 additions and 3 deletions
16
src/lib/components/activity.svelte
Normal file
16
src/lib/components/activity.svelte
Normal 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>
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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} />
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue