From 39e453845b553128936daa69e4a5018be55cb8bb Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Tue, 27 Feb 2024 14:25:42 +0000 Subject: [PATCH] feat(RepoPage): add support for listing issues add support for listing issues --- src/lib/components/issues/type.ts | 60 +++++ .../components/proposals/ProposalsList.svelte | 11 +- .../proposals/ProposalsListItem.svelte | 4 +- src/lib/components/proposals/type.ts | 2 + src/lib/kinds.ts | 2 + src/lib/stores/Issues.ts | 231 ++++++++++++++++++ src/routes/+page.svelte | 2 +- src/routes/repo/[repo_id]/+page.svelte | 55 ++++- 8 files changed, 355 insertions(+), 12 deletions(-) create mode 100644 src/lib/components/issues/type.ts create mode 100644 src/lib/stores/Issues.ts diff --git a/src/lib/components/issues/type.ts b/src/lib/components/issues/type.ts new file mode 100644 index 0000000..badad7e --- /dev/null +++ b/src/lib/components/issues/type.ts @@ -0,0 +1,60 @@ +import type { User } from '../users/type' +import { defaults as user_defaults } from '../users/type' +import type { Event } from '../events/type' +import type { NDKEvent } from '@nostr-dev-kit/ndk' + +export interface IssueSummary { + type: 'issue' + title: string + descritpion: string + repo_identifier: string + id: string + comments: number + status: undefined | number + status_date: number + author: User + created_at: number | undefined + loading: boolean +} + +export const summary_defaults: IssueSummary = { + type: 'issue', + title: '', + descritpion: '', + repo_identifier: '', + id: '', + comments: 0, + status: undefined, + status_date: 0, + author: { ...user_defaults }, + created_at: 0, + loading: true, +} + +export interface IssueSummaries { + id: string | undefined + summaries: IssueSummary[] + loading: boolean +} + +export const summaries_defaults: IssueSummaries = { + id: '', + summaries: [], + loading: true, +} + +export interface IssueFull { + summary: IssueSummary + issue_event: NDKEvent | undefined + labels: string[] + events: Event[] + loading: boolean +} + +export const full_defaults: IssueFull = { + summary: { ...summary_defaults }, + issue_event: undefined, + labels: [], + events: [], + loading: true, +} diff --git a/src/lib/components/proposals/ProposalsList.svelte b/src/lib/components/proposals/ProposalsList.svelte index a2d3b68..a88c889 100644 --- a/src/lib/components/proposals/ProposalsList.svelte +++ b/src/lib/components/proposals/ProposalsList.svelte @@ -1,9 +1,10 @@