From 219128e938d19424b5e7723254741044262e020f Mon Sep 17 00:00:00 2001 From: Sebastian Pravda Date: Mon, 19 Dec 2022 22:09:44 +0100 Subject: [PATCH 1/7] feat: svg2pdf render --- frontend/package.json | 2 + .../admin/CreateCandidateModal.svelte | 83 ++++++++++++++++++ frontend/static/drawing.svg | 86 +++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 frontend/src/lib/components/admin/CreateCandidateModal.svelte create mode 100644 frontend/static/drawing.svg diff --git a/frontend/package.json b/frontend/package.json index a5527a2..06fc1bb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -50,6 +50,8 @@ "swiper": "^8.4.6", "tippy.js": "^6.3.7", "typesafe-i18n": "^5.20.0", + "jspdf": "^2.5.1", + "svg2pdf.js": "^2.2.1", "yup": "^0.32.11" } } diff --git a/frontend/src/lib/components/admin/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/CreateCandidateModal.svelte new file mode 100644 index 0000000..2582427 --- /dev/null +++ b/frontend/src/lib/components/admin/CreateCandidateModal.svelte @@ -0,0 +1,83 @@ + + +{#if isOpened} + +
+ + + + {#if login} +

{applicationId}

+

{login.password}

+ {:else} +

Registrace nového uchazeče

+

Evidenčni číslo přihlášky

+ +

Rodné číslo

+ + + {/if} +
+
+{/if} + + diff --git a/frontend/static/drawing.svg b/frontend/static/drawing.svg new file mode 100644 index 0000000..b07fa93 --- /dev/null +++ b/frontend/static/drawing.svg @@ -0,0 +1,86 @@ + + + + + + + + + ${APPLICATION} + ${CODE} + + + + From 8ff4d1c2d4bae6e62cb8db1576dd202cb4ff3a35 Mon Sep 17 00:00:00 2001 From: EETagent Date: Sat, 4 Feb 2023 18:56:27 +0100 Subject: [PATCH 2/7] fix: lockfile --- frontend/pnpm-lock.yaml | 161 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 310a2ec..9c266dc 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -19,6 +19,9 @@ dependencies: isomorphic-dompurify: specifier: ^0.26.0 version: 0.26.0 + jspdf: + specifier: ^2.5.1 + version: 2.5.1 just-debounce-it: specifier: ^3.2.0 version: 3.2.0 @@ -34,6 +37,9 @@ dependencies: svelte-tippy: specifier: ^1.3.2 version: 1.3.2 + svg2pdf.js: + specifier: ^2.2.1 + version: 2.2.1(jspdf@2.5.1) swiper: specifier: ^8.4.6 version: 8.4.6 @@ -572,6 +578,11 @@ packages: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true + /@types/raf@3.4.0: + resolution: {integrity: sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==} + dev: false + optional: true + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -807,6 +818,12 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: false + /axios@1.2.5: resolution: {integrity: sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==} dependencies: @@ -821,6 +838,12 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /base64-arraybuffer@1.0.2: + resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} + engines: {node: '>= 0.6.0'} + dev: false + optional: true + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -846,6 +869,12 @@ packages: fill-range: 7.0.1 dev: true + /btoa@1.2.1: + resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==} + engines: {node: '>= 0.4.0'} + hasBin: true + dev: false + /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -867,6 +896,22 @@ packages: engines: {node: '>=6'} dev: true + /canvg@3.0.10: + resolution: {integrity: sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + '@babel/runtime': 7.20.13 + '@types/raf': 3.4.0 + core-js: 3.27.2 + raf: 3.4.1 + regenerator-runtime: 0.13.11 + rgbcolor: 1.0.1 + stackblur-canvas: 2.5.0 + svg-pathdata: 6.0.3 + dev: false + optional: true + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -921,6 +966,12 @@ packages: engines: {node: '>= 0.6'} dev: true + /core-js@3.27.2: + resolution: {integrity: sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w==} + requiresBuild: true + dev: false + optional: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -930,6 +981,19 @@ packages: which: 2.0.2 dev: true + /css-line-break@2.1.0: + resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} + dependencies: + utrie: 1.0.2 + dev: false + optional: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + /cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: false @@ -1285,6 +1349,10 @@ packages: reusify: 1.0.4 dev: true + /fflate@0.4.8: + resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + dev: false + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1343,6 +1411,10 @@ packages: optional: true dev: false + /font-family-papandreou@0.2.0-patch2: + resolution: {integrity: sha512-l/YiRdBSH/eWv6OF3sLGkwErL+n0MqCICi9mppTZBOCL5vixWGDqCYvRcuxB2h7RGCTzaTKOHT2caHvCXQPRlw==} + dev: false + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -1463,6 +1535,16 @@ packages: whatwg-encoding: 2.0.0 dev: false + /html2canvas@1.4.1: + resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + css-line-break: 2.1.0 + text-segmentation: 1.0.3 + dev: false + optional: true + /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -1658,6 +1740,20 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /jspdf@2.5.1: + resolution: {integrity: sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==} + dependencies: + '@babel/runtime': 7.20.13 + atob: 2.1.2 + btoa: 1.2.1 + fflate: 0.4.8 + optionalDependencies: + canvg: 3.0.10 + core-js: 3.27.2 + dompurify: 2.4.3 + html2canvas: 1.4.1 + dev: false + /just-debounce-it@3.2.0: resolution: {integrity: sha512-WXzwLL0745uNuedrCsCs3rpmfD6DBaf7uuVwaq98/8dafURfgQaBsSpjiPp5+CW6Vjltwy9cOGI6qE71b3T8iQ==} dev: false @@ -1901,6 +1997,11 @@ packages: engines: {node: '>=8'} dev: true + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: false + optional: true + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -2033,6 +2134,13 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /raf@3.4.1: + resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + dependencies: + performance-now: 2.1.0 + dev: false + optional: true + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -2072,6 +2180,12 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true + /rgbcolor@1.0.1: + resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==} + engines: {node: '>= 0.8.15'} + dev: false + optional: true + /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true @@ -2187,10 +2301,21 @@ packages: dev: false optional: true + /specificity@0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + dev: false + /ssr-window@4.0.2: resolution: {integrity: sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==} dev: false + /stackblur-canvas@2.5.0: + resolution: {integrity: sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==} + engines: {node: '>=0.1.14'} + dev: false + optional: true + /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -2345,6 +2470,28 @@ packages: resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==} engines: {node: '>= 8'} + /svg-pathdata@6.0.3: + resolution: {integrity: sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==} + engines: {node: '>=12.0.0'} + dev: false + optional: true + + /svg2pdf.js@2.2.1(jspdf@2.5.1): + resolution: {integrity: sha512-gJsFT42tb+pYTuFudkKgpMws54DvsJW7wmzGRUY1b9CUJpRMoBU5B4HrCMUTlK2lpcdPL5cOyr84hy2BEj1/Ag==} + peerDependencies: + jspdf: ^2.0.0 + dependencies: + cssesc: 3.0.0 + font-family-papandreou: 0.2.0-patch2 + jspdf: 2.5.1 + specificity: 0.4.1 + svgpath: 2.6.0 + dev: false + + /svgpath@2.6.0: + resolution: {integrity: sha512-OIWR6bKzXvdXYyO4DK/UWa1VA1JeKq8E+0ug2DG98Y/vOmMpfZNj+TIG988HjfYSqtcy/hFOtZq/n/j5GSESNg==} + dev: false + /swiper@8.4.6: resolution: {integrity: sha512-HACW035vBz2T6Kfut23EAzXhcDpgR8doX+wjq0ZUvJgS5SQApGrV885DAPLBFnmPUISsAhNSVxPKDxqroFvXvQ==} engines: {node: '>= 4.7.0'} @@ -2358,6 +2505,13 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: false + /text-segmentation@1.0.3: + resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} + dependencies: + utrie: 1.0.2 + dev: false + optional: true + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -2491,6 +2645,13 @@ packages: requires-port: 1.0.0 dev: false + /utrie@1.0.2: + resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + dependencies: + base64-arraybuffer: 1.0.2 + dev: false + optional: true + /vite@4.0.4: resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} From fc8c587f5ab7fddf921b3eba22d9bc9288f41c18 Mon Sep 17 00:00:00 2001 From: EETagent Date: Sun, 5 Feb 2023 20:44:03 +0100 Subject: [PATCH 3/7] feat: move drawning to assets --- frontend/{static => src/lib/assets/pdf}/drawing.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/{static => src/lib/assets/pdf}/drawing.svg (100%) diff --git a/frontend/static/drawing.svg b/frontend/src/lib/assets/pdf/drawing.svg similarity index 100% rename from frontend/static/drawing.svg rename to frontend/src/lib/assets/pdf/drawing.svg From 66f3f13419e2885f176a6e2062d2c4f9769622af Mon Sep 17 00:00:00 2001 From: EETagent Date: Sun, 5 Feb 2023 21:11:17 +0100 Subject: [PATCH 4/7] feat: move to our modal --- .../admin/modal/CreateCandidateModal.svelte | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte index 8f66eb7..e8e36a7 100644 --- a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte +++ b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte @@ -10,6 +10,8 @@ import IdField from '../../textfield/IdField.svelte'; import NumberField from '../../textfield/NumberField.svelte'; import { SvelteToast, toast } from '@zerodevx/svelte-toast'; + import jsPDF from 'jspdf'; + import 'svg2pdf.js'; let isOpened = true; @@ -84,6 +86,22 @@ } }; + const generatePdf = async () => { + const template = (await import('$lib/assets/pdf/drawing.svg?raw')).default; + const svg = template + .replace('${APPLICATION}', login.applicationId.toString()) + .replace('${CODE}', login.password); + + const element = document.getElementById('svg-element')!; + element.innerHTML = svg; + + const doc = new jsPDF('p', 'mm', [210, 297]); + + await doc.svg(element); + + doc.save('PRIHLASOVACI_UDAJE_' + login.applicationId.toString()); + }; + const close = () => { isOpened = false; dispatch('close'); @@ -95,6 +113,8 @@
{#if login} + +

Ev. č.: {applicationId}

R. č.: {login.personalIdNumber}

Heslo: {login.password}

@@ -114,7 +134,8 @@
{/if}
-

Evidenční číslo přihlášky ( +

+ Evidenční číslo přihlášky ( {`Obor: ${field}`})

From 3cbe187292d5cbf7f587446a0e622aba8a17f840 Mon Sep 17 00:00:00 2001 From: EETagent Date: Sun, 5 Feb 2023 21:11:40 +0100 Subject: [PATCH 5/7] feat: remove old create candidate modal --- .../admin/CreateCandidateModal.svelte | 83 ------------------- 1 file changed, 83 deletions(-) delete mode 100644 frontend/src/lib/components/admin/CreateCandidateModal.svelte diff --git a/frontend/src/lib/components/admin/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/CreateCandidateModal.svelte deleted file mode 100644 index 2582427..0000000 --- a/frontend/src/lib/components/admin/CreateCandidateModal.svelte +++ /dev/null @@ -1,83 +0,0 @@ - - -{#if isOpened} - -
- - - - {#if login} -

{applicationId}

-

{login.password}

- {:else} -

Registrace nového uchazeče

-

Evidenčni číslo přihlášky

- -

Rodné číslo

- - - {/if} -
-
-{/if} - - From ca1993533e952bcf109727127887538a3279a3c4 Mon Sep 17 00:00:00 2001 From: EETagent Date: Sun, 5 Feb 2023 21:12:32 +0100 Subject: [PATCH 6/7] feat: clear --- .../src/lib/components/admin/modal/CreateCandidateModal.svelte | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte index e8e36a7..aa0ba64 100644 --- a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte +++ b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte @@ -88,6 +88,7 @@ const generatePdf = async () => { const template = (await import('$lib/assets/pdf/drawing.svg?raw')).default; + const svg = template .replace('${APPLICATION}', login.applicationId.toString()) .replace('${CODE}', login.password); @@ -100,6 +101,8 @@ await doc.svg(element); doc.save('PRIHLASOVACI_UDAJE_' + login.applicationId.toString()); + + element.innerHTML = ''; }; const close = () => { From 763a552bd4b5f2b095d5ed04f70400f20419f35a Mon Sep 17 00:00:00 2001 From: EETagent Date: Sun, 5 Feb 2023 21:14:34 +0100 Subject: [PATCH 7/7] feat: styled download pdf button --- .../lib/components/admin/modal/CreateCandidateModal.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte index aa0ba64..381860c 100644 --- a/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte +++ b/frontend/src/lib/components/admin/modal/CreateCandidateModal.svelte @@ -117,7 +117,7 @@
{#if login} - +

Ev. č.: {applicationId}

R. č.: {login.personalIdNumber}

Heslo: {login.password}

@@ -126,6 +126,11 @@ Slinkovaný s {login.applications.filter((a) => a != applicationId)} {/if} +
+ +
{:else}

Registrace nového uchazeče

{#if error}