From 485bd8613de8e85294cc7f5b087e381915c891f6 Mon Sep 17 00:00:00 2001 From: Sebastian Pravda Date: Fri, 2 Dec 2022 19:30:56 +0100 Subject: [PATCH] feat: file upload status --- .../dashboard/CoverLetterUploadCard.svelte | 6 ++- .../dashboard/DashboardInfoCard.svelte | 5 --- .../dashboard/DashboardUploadCard.svelte | 36 ++++++++++++++++- .../PortfolioLetterUploadCard.svelte | 5 ++- .../dashboard/PortfolioZipUploadCard.svelte | 5 ++- .../dashboard/StatusNotification.svelte | 39 +++++++++++++++++++ frontend/src/routes/dashboard/+page.svelte | 3 ++ frontend/src/stores/portfolio.ts | 11 +++++- 8 files changed, 98 insertions(+), 12 deletions(-) create mode 100644 frontend/src/lib/components/dashboard/StatusNotification.svelte diff --git a/frontend/src/lib/components/dashboard/CoverLetterUploadCard.svelte b/frontend/src/lib/components/dashboard/CoverLetterUploadCard.svelte index 3b02f0c..9c39fa2 100644 --- a/frontend/src/lib/components/dashboard/CoverLetterUploadCard.svelte +++ b/frontend/src/lib/components/dashboard/CoverLetterUploadCard.svelte @@ -1,5 +1,6 @@ @@ -16,5 +18,7 @@ on:filedrop={e => onFileDrop(e.detail)} title="Motivační dopis" filetype="PDF" - filesize="10 MB"> + filesize="10 MB" + fileType={1} + > diff --git a/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte b/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte index 8c58f2e..f98f76b 100644 --- a/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte +++ b/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte @@ -1,12 +1,7 @@
diff --git a/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte b/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte index 87e50f6..eb3e259 100644 --- a/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte +++ b/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte @@ -1,14 +1,34 @@ @@ -16,5 +18,6 @@ on:filedrop={e => onFileDrop(e.detail)} title="Portfolio" filetype="PDF" - filesize="10 MB"> + filesize="10 MB" + fileType={2}> diff --git a/frontend/src/lib/components/dashboard/PortfolioZipUploadCard.svelte b/frontend/src/lib/components/dashboard/PortfolioZipUploadCard.svelte index 5df50df..8c3861b 100644 --- a/frontend/src/lib/components/dashboard/PortfolioZipUploadCard.svelte +++ b/frontend/src/lib/components/dashboard/PortfolioZipUploadCard.svelte @@ -1,5 +1,6 @@ @@ -16,5 +18,6 @@ on:filedrop={e => onFileDrop(e.detail)} title="Další data" filetype="ZIP" - filesize="100 MB"> + filesize="100 MB" + fileType={3}> diff --git a/frontend/src/lib/components/dashboard/StatusNotification.svelte b/frontend/src/lib/components/dashboard/StatusNotification.svelte new file mode 100644 index 0000000..c5c2db7 --- /dev/null +++ b/frontend/src/lib/components/dashboard/StatusNotification.svelte @@ -0,0 +1,39 @@ + + + +
+ +

{title}

+
+ + \ No newline at end of file diff --git a/frontend/src/routes/dashboard/+page.svelte b/frontend/src/routes/dashboard/+page.svelte index 53557f4..c57ddca 100644 --- a/frontend/src/routes/dashboard/+page.svelte +++ b/frontend/src/routes/dashboard/+page.svelte @@ -10,6 +10,7 @@ import CoverLetterUploadCard from '$lib/components/dashboard/CoverLetterUploadCard.svelte'; import PortfolioLetterUploadCard from '$lib/components/dashboard/PortfolioLetterUploadCard.svelte'; import PortfolioZipUploadCard from '$lib/components/dashboard/PortfolioZipUploadCard.svelte'; + import { fetchSubmProgress } from '../../stores/portfolio'; let fullName = ""; @@ -20,6 +21,8 @@ email = $candidateData.email ?? ""; } + fetchSubmProgress(); // TODO: move to a better place + $: if ($candidateData.name === undefined) { fetch(); } diff --git a/frontend/src/stores/portfolio.ts b/frontend/src/stores/portfolio.ts index d925865..3be192e 100644 --- a/frontend/src/stores/portfolio.ts +++ b/frontend/src/stores/portfolio.ts @@ -1,12 +1,19 @@ import { apiFetchSubmissionProgress } from "../@api/candidate"; import { writable } from "svelte/store"; +export enum UploadStatus { + None = 1, + Some = 2, + All = 3, + Submitted = 4, +} + export interface SubmissionProgress { - status?: number; + status?: UploadStatus; files?: [number]; } -export const submissionProgress = writable(); +export const submissionProgress = writable({}); export async function fetchSubmProgress() { try {