diff --git a/Dockerfile b/Dockerfile index a2c4656..3629242 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,4 +10,5 @@ COPY --from=builder /portfolio/target/release/portfolio /usr/local/bin/portfolio VOLUME ["/portfolio"] WORKDIR /portfolio +EXPOSE 8000 ENTRYPOINT ["portfolio"] diff --git a/frontend/src/global.d.ts b/frontend/src/global.d.ts index cc4837b..e2ae676 100644 --- a/frontend/src/global.d.ts +++ b/frontend/src/global.d.ts @@ -1,18 +1,24 @@ -declare type FileDropEvent = import("filedrop-svelte/event").FileDropEvent; -declare type FileDropSelectEvent = import("filedrop-svelte/event").FileDropSelectEvent; -declare type FileDropDragEvent = import("filedrop-svelte/event").FileDropDragEvent; +declare type FileDropEvent = import('filedrop-svelte/event').FileDropEvent; +declare type FileDropSelectEvent = import('filedrop-svelte/event').FileDropSelectEvent; +declare type FileDropDragEvent = import('filedrop-svelte/event').FileDropDragEvent; declare namespace svelte.JSX { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface HTMLAttributes { - onfiledrop?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledragenter?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledragleave?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledragover?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledialogcancel?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledialogclose?: (event: CustomEvent & { target: EventTarget & T }) => void; - onfiledialogopen?: (event: CustomEvent & { target: EventTarget & T }) => void; - onwindowfiledragenter?: (event: CustomEvent & { target: EventTarget & T }) => void; - onwindowfiledragleave?: (event: CustomEvent & { target: EventTarget & T }) => void; - onwindowfiledragover?: (event: CustomEvent & { target: EventTarget & T }) => void; - } -} \ No newline at end of file + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface HTMLAttributes { + onfiledrop?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledragenter?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledragleave?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledragover?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledialogcancel?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledialogclose?: (event: CustomEvent & { target: EventTarget & T }) => void; + onfiledialogopen?: (event: CustomEvent & { target: EventTarget & T }) => void; + onwindowfiledragenter?: ( + event: CustomEvent & { target: EventTarget & T } + ) => void; + onwindowfiledragleave?: ( + event: CustomEvent & { target: EventTarget & T } + ) => void; + onwindowfiledragover?: ( + event: CustomEvent & { target: EventTarget & T } + ) => void; + } +} diff --git a/frontend/src/lib/@api/admin.ts b/frontend/src/lib/@api/admin.ts index fcbf2f7..6c9d64c 100644 --- a/frontend/src/lib/@api/admin.ts +++ b/frontend/src/lib/@api/admin.ts @@ -123,9 +123,7 @@ export const apiFetchCandidate = async (id: number, fetchSsr?: Fetch): Promise => { +export const apiListCandidatesCSV = async (fetchSsr?: Fetch): Promise => { const apiFetch = fetchSsr || fetch; try { const res = await apiFetch(API_URL + '/admin/list/candidates_csv', { diff --git a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte index 6a71d92..c6df9dc 100644 --- a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte +++ b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte @@ -26,6 +26,7 @@ try { login = await apiCreateCandidate(data); dispatch('created'); + error = ''; } catch (e: unknown) { console.error(e); error = (e as ApiError).msg; @@ -47,7 +48,10 @@ {:else}

Registrace nového uchazeče

{#if error} -