2024-04-26 07:54:02 +02:00
|
|
|
<template>
|
2024-06-29 05:05:50 +02:00
|
|
|
<Timeline type="status" :items="(items as Status[])" :is-loading="isLoading" :has-reached-end="hasReachedEnd"
|
|
|
|
|
:error="error" :load-next="loadNext" :load-prev="loadPrev" :remove-item="removeItem"
|
|
|
|
|
:update-item="updateItem" />
|
2024-04-26 07:54:02 +02:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
2024-06-29 05:05:50 +02:00
|
|
|
import type { Status } from "@lysand-org/client/types";
|
|
|
|
|
import { usePublicTimeline } from "~/composables/PublicTimeline";
|
2024-06-21 04:09:09 +02:00
|
|
|
import Timeline from "./timeline.vue";
|
2024-06-08 01:09:15 +02:00
|
|
|
const client = useClient();
|
2024-04-26 07:54:02 +02:00
|
|
|
|
2024-06-29 05:05:50 +02:00
|
|
|
const {
|
|
|
|
|
error,
|
|
|
|
|
hasReachedEnd,
|
|
|
|
|
isLoading,
|
|
|
|
|
items,
|
|
|
|
|
loadNext,
|
|
|
|
|
loadPrev,
|
|
|
|
|
removeItem,
|
|
|
|
|
updateItem,
|
|
|
|
|
} = usePublicTimeline(client.value);
|
|
|
|
|
|
|
|
|
|
// Example of how to handle global events
|
2024-04-28 07:02:27 +02:00
|
|
|
useListen("note:delete", ({ id }) => {
|
2024-06-29 05:05:50 +02:00
|
|
|
removeItem(id);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
useListen("note:edit", (updatedNote) => {
|
|
|
|
|
updateItem(updatedNote);
|
2024-04-28 07:02:27 +02:00
|
|
|
});
|
2024-04-26 07:54:02 +02:00
|
|
|
</script>
|