From 7e6daf94cc49c93ad1a471190121d6a8cf6bb6ee Mon Sep 17 00:00:00 2001 From: Daan Vanoverloop Date: Thu, 1 Sep 2022 16:03:36 +0200 Subject: [PATCH] Update --- package.json | 15 +- pnpm-lock.yaml | 380 +++++++++++++++++++++++++++++++-- postcss.config.cjs | 6 + src/Button.svelte | 13 ++ src/Loading.svelte | 9 + src/Navbar.svelte | 32 +++ src/Table.svelte | 47 ++++ src/app.css | 3 + src/app.d.ts | 1 + src/app.html | 3 +- src/routes/+layout.svelte | 23 ++ src/routes/+page.svelte | 6 + src/routes/events/+page.svelte | 1 + src/routes/users/+page.svelte | 142 ++++++++++++ src/store.ts | 4 + src/util.ts | 19 ++ svelte.config.js | 2 +- tailwind.config.cjs | 8 + 18 files changed, 690 insertions(+), 24 deletions(-) create mode 100644 postcss.config.cjs create mode 100644 src/Button.svelte create mode 100644 src/Loading.svelte create mode 100644 src/Navbar.svelte create mode 100644 src/Table.svelte create mode 100644 src/app.css create mode 100644 src/routes/+layout.svelte create mode 100644 src/routes/events/+page.svelte create mode 100644 src/routes/users/+page.svelte create mode 100644 src/store.ts create mode 100644 src/util.ts create mode 100644 tailwind.config.cjs diff --git a/package.json b/package.json index cba4f7d..1808683 100644 --- a/package.json +++ b/package.json @@ -18,17 +18,28 @@ "@sveltejs/kit": "next", "@typescript-eslint/eslint-plugin": "^5.27.0", "@typescript-eslint/parser": "^5.27.0", + "attractions": "^3.7.0", + "autoprefixer": "^10.4.8", "eslint": "^8.16.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^4.0.0", + "postcss": "^8.4.16", "prettier": "^2.6.2", "prettier-plugin-svelte": "^2.7.0", + "sass": "^1.54.7", "svelte": "^3.44.0", "svelte-check": "^2.7.1", - "svelte-preprocess": "^4.10.6", + "svelte-preprocess": "^4.10.7", + "tailwindcss": "^3.1.8", "tslib": "^2.3.1", "typescript": "^4.7.4", "vite": "^3.1.0-beta.1" }, - "type": "module" + "type": "module", + "dependencies": { + "@mdi/font": "^7.0.96", + "@mdi/js": "^7.0.96", + "agnostic-svelte": "^1.1.27", + "mdi-svelte": "^1.1.2" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4676093..94dc875 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,40 +1,60 @@ lockfileVersion: 5.4 specifiers: + '@mdi/font': ^7.0.96 + '@mdi/js': ^7.0.96 '@playwright/test': ^1.25.0 '@sveltejs/adapter-auto': next '@sveltejs/kit': next '@typescript-eslint/eslint-plugin': ^5.27.0 '@typescript-eslint/parser': ^5.27.0 + agnostic-svelte: ^1.1.27 + attractions: ^3.7.0 + autoprefixer: ^10.4.8 eslint: ^8.16.0 eslint-config-prettier: ^8.3.0 eslint-plugin-svelte3: ^4.0.0 + mdi-svelte: ^1.1.2 + postcss: ^8.4.16 prettier: ^2.6.2 prettier-plugin-svelte: ^2.7.0 + sass: ^1.54.7 svelte: ^3.44.0 svelte-check: ^2.7.1 - svelte-preprocess: ^4.10.6 + svelte-preprocess: ^4.10.7 + tailwindcss: ^3.1.8 tslib: ^2.3.1 typescript: ^4.7.4 vite: ^3.1.0-beta.1 +dependencies: + '@mdi/font': 7.0.96 + '@mdi/js': 7.0.96 + agnostic-svelte: 1.1.27_svelte@3.49.0 + mdi-svelte: 1.1.2 + devDependencies: '@playwright/test': 1.25.1 - '@sveltejs/adapter-auto': 1.0.0-next.70 - '@sveltejs/kit': 1.0.0-next.456_fhgkwirxvgjw2igda6zmhiisma + '@sveltejs/adapter-auto': 1.0.0-next.71 + '@sveltejs/kit': 1.0.0-next.460_fhgkwirxvgjw2igda6zmhiisma '@typescript-eslint/eslint-plugin': 5.36.1_lbwfnm54o3pmr3ypeqp3btnera '@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm + attractions: 3.7.0_ufjatbtqlomsznofyumggn5xqu + autoprefixer: 10.4.8_postcss@8.4.16 eslint: 8.23.0 eslint-config-prettier: 8.5.0_eslint@8.23.0 eslint-plugin-svelte3: 4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e + postcss: 8.4.16 prettier: 2.7.1 prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi + sass: 1.54.7 svelte: 3.49.0 - svelte-check: 2.9.0_svelte@3.49.0 - svelte-preprocess: 4.10.7_k5n4uipe6734vn7334tf7n5ml4 + svelte-check: 2.9.0_c6x723yp7pdz7iha3ksnylcgzy + svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm + tailwindcss: 3.1.8 tslib: 2.4.0 typescript: 4.8.2 - vite: 3.1.0-beta.1 + vite: 3.1.0-beta.1_sass@1.54.7 packages: @@ -130,6 +150,14 @@ packages: - supports-color dev: true + /@mdi/font/7.0.96: + resolution: {integrity: sha512-rzlxTfR64hqY8yiBzDjmANfcd8rv+T5C0Yedv/TWk2QyAQYdc66e0kaN1ipmnYU3RukHRTRcBARHzzm+tIhL7w==} + dev: false + + /@mdi/js/7.0.96: + resolution: {integrity: sha512-lNqhkV3cpPfYb/Avh+vXLFukUTbHbyHoFo4Jdc7Oc9UvURGVhamFIpgOVvEf2bNA78zvjXTZeVWExUTR+DLBfQ==} + dev: false + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -172,11 +200,11 @@ packages: picomatch: 2.3.1 dev: true - /@sveltejs/adapter-auto/1.0.0-next.70: - resolution: {integrity: sha512-FJlDO6oUqbuFJjQoguGb4gdBj3iCSM3evFXkBpQ7hvwu3y2gKbcdzsxdn9tZ5LzkHh79CeJcwiszXFQ8usKk/A==} + /@sveltejs/adapter-auto/1.0.0-next.71: + resolution: {integrity: sha512-Qsl82HcehWJbZztXgmU/nTPDeeIaB4jrOQpSvy3Pi8octs+rEf/CO87Wk06EP+M/zUzEHDNENMOx0DgWuHpj7Q==} dependencies: '@sveltejs/adapter-cloudflare': 1.0.0-next.32 - '@sveltejs/adapter-netlify': 1.0.0-next.75 + '@sveltejs/adapter-netlify': 1.0.0-next.76 '@sveltejs/adapter-vercel': 1.0.0-next.72 transitivePeerDependencies: - encoding @@ -191,8 +219,8 @@ packages: worktop: 0.8.0-next.14 dev: true - /@sveltejs/adapter-netlify/1.0.0-next.75: - resolution: {integrity: sha512-1zTR/U/ceEAyqIGJ74v54G+JbIR+fSmTN9qfqGOM0gBwVoBVRUujGm4tDFJQNYzvuGzVnC7br/rhYMLZd2JluQ==} + /@sveltejs/adapter-netlify/1.0.0-next.76: + resolution: {integrity: sha512-XC33i13N+zkDP1rKrssQ55TPzt4DkLjKux6g1xW2MB+5KxnC9PP2rIkocKxFw/pK2XU8cUIgmOJ1y5PQrHaiKg==} dependencies: '@iarna/toml': 2.2.5 esbuild: 0.14.54 @@ -210,8 +238,8 @@ packages: - supports-color dev: true - /@sveltejs/kit/1.0.0-next.456_fhgkwirxvgjw2igda6zmhiisma: - resolution: {integrity: sha512-yzYoRtRPqVTcIehfxXptZzH5bDN/19cqTrrJ1KM0Ju5BrpRsRvqLYlZBYBaDv0bx1MdfJkUJlPVchLbS6bsRXw==} + /@sveltejs/kit/1.0.0-next.460_fhgkwirxvgjw2igda6zmhiisma: + resolution: {integrity: sha512-bwDkwzEN72+1K5FXqBQGrYOwyA6V5sSSec/A6qXMTfh4uycFTiIQh/e2ki3pxfG0SwijrUo43FEbdKLyBiuDgQ==} engines: {node: '>=16.14'} hasBin: true requiresBuild: true @@ -232,7 +260,7 @@ packages: svelte: 3.49.0 tiny-glob: 0.2.9 undici: 5.10.0 - vite: 3.1.0-beta.1 + vite: 3.1.0-beta.1_sass@1.54.7 transitivePeerDependencies: - diff-match-patch - supports-color @@ -256,7 +284,7 @@ packages: magic-string: 0.26.3 svelte: 3.49.0 svelte-hmr: 0.14.12_svelte@3.49.0 - vite: 3.1.0-beta.1 + vite: 3.1.0-beta.1_sass@1.54.7 transitivePeerDependencies: - supports-color dev: true @@ -426,6 +454,12 @@ packages: - supports-color dev: true + /a11y-dialog/7.5.2: + resolution: {integrity: sha512-zfWtVvrbGbP3AFnEJ1aJFtu7GvedgjOEKbkyEUSeaNWDzmFJk9O5nuolDQrRDyRDE5fqSJRiBJtD5bUYKveoUg==} + dependencies: + focusable-selectors: 0.4.0 + dev: false + /abbrev/1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true @@ -438,6 +472,25 @@ packages: acorn: 8.8.0 dev: true + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + dev: true + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /acorn/8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -453,6 +506,19 @@ packages: - supports-color dev: true + /agnostic-helpers/1.0.2: + resolution: {integrity: sha512-BizdxC9SYdd0kgY/3lcDeeiSTs4BwUsa0oc5Nsaz5j397rZgC0vO1Tlvj5XOk/1pqTtnBi0ptu0/6CQvdwnsww==} + dev: false + + /agnostic-svelte/1.1.27_svelte@3.49.0: + resolution: {integrity: sha512-wV0JbTr1Jbkh8/YRWVvWsQ2aFY+std/rG0avADm7romk1Zptdyh8j2+507PvQHKSl3lqsCeDx7yLFq5SWfANIw==} + dependencies: + agnostic-helpers: 1.0.2 + svelte-a11y-dialog: 0.2.0_svelte@3.49.0 + transitivePeerDependencies: + - svelte + dev: false + /ajv/6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -494,6 +560,10 @@ packages: readable-stream: 3.6.0 dev: true + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true @@ -507,6 +577,36 @@ packages: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: true + /attractions/3.7.0_ufjatbtqlomsznofyumggn5xqu: + resolution: {integrity: sha512-Se8fyAr80gHJf0qClk2cK7hndjHPU0X6netBbau/g0rBPC+L6HxKAYVqwYfb5pTXxtFx6k63Uvj0LDL/6/P3rg==} + peerDependencies: + postcss: '>=7 <9' + sass: '>=1.33.0' + svelte: ^3.31.0 + svelte-preprocess: ^4.0.10 + dependencies: + postcss: 8.4.16 + sass: 1.54.7 + svelte: 3.49.0 + svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm + dev: true + + /autoprefixer/10.4.8_postcss@8.4.16: + resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.3 + caniuse-lite: 1.0.30001387 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.16 + postcss-value-parser: 4.2.0 + dev: true + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true @@ -536,6 +636,17 @@ packages: fill-range: 7.0.1 dev: true + /browserslist/4.21.3: + resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001387 + electron-to-chromium: 1.4.237 + node-releases: 2.0.6 + update-browserslist-db: 1.0.5_browserslist@4.21.3 + dev: true + /buffer-crc32/0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -545,6 +656,15 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /caniuse-lite/1.0.30001387: + resolution: {integrity: sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA==} + dev: true + /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -611,6 +731,12 @@ packages: which: 2.0.2 dev: true + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + /data-uri-to-buffer/4.0.0: resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} engines: {node: '>= 12'} @@ -637,6 +763,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /defined/1.0.0: + resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} + dev: true + /delegates/1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true @@ -651,10 +781,24 @@ packages: engines: {node: '>=8'} dev: true + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.0 + minimist: 1.2.6 + dev: true + /devalue/3.1.2: resolution: {integrity: sha512-wUXbMGPAsBx79UF14nsWSsJlC7RcwPlf2w3bGheODWxKx57e9n68ceoijbqCJCEbjyo0S79nqfPwQgyijwLaqw==} dev: true + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -662,6 +806,10 @@ packages: path-type: 4.0.0 dev: true + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -669,6 +817,10 @@ packages: esutils: 2.0.3 dev: true + /electron-to-chromium/1.4.237: + resolution: {integrity: sha512-vxVyGJcsgArNOVUJcXm+7iY3PJAfmSapEszQD1HbyPLl0qoCmNQ1o/EX3RI7Et5/88In9oLxX3SGF8J3orkUgA==} + dev: true + /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -886,6 +1038,11 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1115,6 +1272,10 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true + /focusable-selectors/0.4.0: + resolution: {integrity: sha512-tc/236hUU3xemsRLu1RKhRQ5UWHjRM9iJTli1zdac43h7b1biRSgG0mILM0qrcsKaGCHcOPJ6NKbk12ouKHLpw==} + dev: false + /formdata-polyfill/4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -1122,6 +1283,10 @@ packages: fetch-blob: 3.2.0 dev: true + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + /fs-minipass/2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -1255,6 +1420,10 @@ packages: engines: {node: '>= 4'} dev: true + /immutable/4.1.0: + resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + dev: true + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -1346,6 +1515,11 @@ packages: type-check: 0.4.0 dev: true + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} + dev: true + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1384,6 +1558,10 @@ packages: semver: 6.3.0 dev: true + /mdi-svelte/1.1.2: + resolution: {integrity: sha512-jVn/CxVzOXTVWDJpUgkgbL/Dt3GTcxa51bOZHQtmrW+lPNypKXddNJIvcqSX+xW6KRIgjB4m715XjaqbDT/mFA==} + dev: false + /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1501,6 +1679,10 @@ packages: hasBin: true dev: true + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + dev: true + /nopt/5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -1514,6 +1696,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + /npmlog/5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: @@ -1528,6 +1715,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -1600,12 +1792,78 @@ packages: engines: {node: '>=8.6'} dev: true + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + /playwright-core/1.25.1: resolution: {integrity: sha512-lSvPCmA2n7LawD2Hw7gSCLScZ+vYRkhU8xH0AapMyzwN+ojoDqhkH/KIEUxwNu2PjPoE/fcE0wLAksdOhJ2O5g==} engines: {node: '>=14'} hasBin: true dev: true + /postcss-import/14.1.0_postcss@8.4.16: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.16 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: true + + /postcss-js/4.0.0_postcss@8.4.16: + resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.3.3 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.16 + dev: true + + /postcss-load-config/3.1.4_postcss@8.4.16: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.16 + yaml: 1.10.2 + dev: true + + /postcss-nested/5.0.6_postcss@8.4.16: + resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.16 + postcss-selector-parser: 6.0.10 + dev: true + + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + /postcss/8.4.16: resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} engines: {node: ^10 || ^12 || >=14} @@ -1645,6 +1903,17 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} @@ -1749,6 +2018,16 @@ packages: rimraf: 2.7.1 dev: true + /sass/1.54.7: + resolution: {integrity: sha512-3q7MQz7sCpVG6TLhUfZwGOcd2/sm2ghYN2JEdRjNiW04ILdvahdo9GuAs+bxsxZ3hDCKv+wUT5w0iFWGU0CxlA==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.1.0 + source-map-js: 1.0.2 + dev: true + /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true @@ -1865,7 +2144,16 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.9.0_svelte@3.49.0: + /svelte-a11y-dialog/0.2.0_svelte@3.49.0: + resolution: {integrity: sha512-sVJ6SbLABFfbeNNcsFpHA7VY4S1MXC8rZ9AzNtOMWjxwiwTc0Xl3ZSUYbz7ixbxLr4tDDVoZmb7xQTzLbTyZag==} + peerDependencies: + svelte: ^3.44.0 + dependencies: + a11y-dialog: 7.5.2 + svelte: 3.49.0 + dev: false + + /svelte-check/2.9.0_c6x723yp7pdz7iha3ksnylcgzy: resolution: {integrity: sha512-9AVrtP7WbfDgCdqTZNPdj5CCCy1OrYMxFVWAWzNw7fl93c9klFJFtqzVXa6fovfQ050CcpUyJE2dPFL9TFAREw==} hasBin: true peerDependencies: @@ -1878,7 +2166,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.49.0 - svelte-preprocess: 4.10.7_k5n4uipe6734vn7334tf7n5ml4 + svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm typescript: 4.8.2 transitivePeerDependencies: - '@babel/core' @@ -1902,7 +2190,7 @@ packages: svelte: 3.49.0 dev: true - /svelte-preprocess/4.10.7_k5n4uipe6734vn7334tf7n5ml4: + /svelte-preprocess/4.10.7_2lciotjd6bilkiadfxmz6rz2jm: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -1947,6 +2235,8 @@ packages: '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.25.9 + postcss: 8.4.16 + sass: 1.54.7 sorcery: 0.10.0 strip-indent: 3.0.0 svelte: 3.49.0 @@ -1956,6 +2246,36 @@ packages: /svelte/3.49.0: resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==} engines: {node: '>= 8'} + + /tailwindcss/3.1.8: + resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} + engines: {node: '>=12.13.0'} + hasBin: true + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.11 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.0.6 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.16 + postcss-import: 14.1.0_postcss@8.4.16 + postcss-js: 4.0.0_postcss@8.4.16 + postcss-load-config: 3.1.4_postcss@8.4.16 + postcss-nested: 5.0.6_postcss@8.4.16 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node dev: true /tar/6.1.11: @@ -2038,6 +2358,17 @@ packages: engines: {node: '>=12.18'} dev: true + /update-browserslist-db/1.0.5_browserslist@4.21.3: + resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.3 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -2048,7 +2379,7 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/3.1.0-beta.1: + /vite/3.1.0-beta.1_sass@1.54.7: resolution: {integrity: sha512-JGEnWSC0hfarcduTCQr6wnRjPLbT62iLCK59HBJXYt9oyWSUMtrvcnDqzvLFC+lHV6KGFQkmWlZucyIQmgUnLA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -2071,6 +2402,7 @@ packages: postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 + sass: 1.54.7 optionalDependencies: fsevents: 2.3.2 dev: true @@ -2122,10 +2454,20 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/src/Button.svelte b/src/Button.svelte new file mode 100644 index 0000000..01c82c1 --- /dev/null +++ b/src/Button.svelte @@ -0,0 +1,13 @@ + + + diff --git a/src/Loading.svelte b/src/Loading.svelte new file mode 100644 index 0000000..08db7a0 --- /dev/null +++ b/src/Loading.svelte @@ -0,0 +1,9 @@ + + + + diff --git a/src/Navbar.svelte b/src/Navbar.svelte new file mode 100644 index 0000000..1a520a0 --- /dev/null +++ b/src/Navbar.svelte @@ -0,0 +1,32 @@ + + + + + + + diff --git a/src/Table.svelte b/src/Table.svelte new file mode 100644 index 0000000..31d26f6 --- /dev/null +++ b/src/Table.svelte @@ -0,0 +1,47 @@ + + + + + +
+
+ + + + {#each headers as header} + + {/each} + + + + {#if rows !== undefined && rows !== null} + {#each rows as row} + + {#each row as value} + + {/each} + + {/each} + {/if} + + {#if loading === true} + + + + {/if} + +
{header}
{value}
+
+ +
+
+
+
diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/src/app.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/src/app.d.ts b/src/app.d.ts index 14ac5d1..fed3564 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,3 +1,4 @@ + // See https://kit.svelte.dev/docs/types#app // for information about these interfaces // and what to do when importing types diff --git a/src/app.html b/src/app.html index 5b53ef7..9eea51c 100644 --- a/src/app.html +++ b/src/app.html @@ -2,11 +2,10 @@ - %sveltekit.head% - +
%sveltekit.body%
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..cdf43b9 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,23 @@ + + + + + + +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5982b0a..ff8177a 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,2 +1,8 @@ + +

Welcome to SvelteKit

Visit kit.svelte.dev to read the documentation

+ +

{name}

diff --git a/src/routes/events/+page.svelte b/src/routes/events/+page.svelte new file mode 100644 index 0000000..f90dc54 --- /dev/null +++ b/src/routes/events/+page.svelte @@ -0,0 +1 @@ +

Events

diff --git a/src/routes/users/+page.svelte b/src/routes/users/+page.svelte new file mode 100644 index 0000000..9a1db1a --- /dev/null +++ b/src/routes/users/+page.svelte @@ -0,0 +1,142 @@ + + + + +
+ + {#if users !== undefined} + {#each users as user} + + + + + + + {/each} + {/if} + + + + {/if} + +
{user.id}{user.name} + {#if scoreEdit === user.id} + + + + +
+ + + + {#if loading === false} + +
+
diff --git a/src/store.ts b/src/store.ts new file mode 100644 index 0000000..ffa88ba --- /dev/null +++ b/src/store.ts @@ -0,0 +1,4 @@ +import { writable } from 'svelte/store'; + +export const apiKey = writable("7de10bf6-278d-11ed-ad60-a8a15919d1b3"); +export const apiEndpoint = writable("http://localhost:8000/api/"); diff --git a/src/util.ts b/src/util.ts new file mode 100644 index 0000000..1f72dc5 --- /dev/null +++ b/src/util.ts @@ -0,0 +1,19 @@ + +import { apiEndpoint, apiKey } from './store'; +import { get } from 'svelte/store'; + +export const apiRequest = async (method: string, endpoint: string, body?: string) => { + const myHeaders = new Headers(); + myHeaders.append('X-API-Key', get(apiKey)); + + const myInit: RequestInit = { + method, + headers: myHeaders, + mode: 'cors', + cache: 'default', + body, + }; + + const myRequest = new Request(`${get(apiEndpoint)}/${endpoint}`); + return await fetch(myRequest, myInit); +} diff --git a/svelte.config.js b/svelte.config.js index 892f0c4..c793385 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -5,7 +5,7 @@ import preprocess from 'svelte-preprocess'; const config = { // Consult https://github.com/sveltejs/svelte-preprocess // for more information about preprocessors - preprocess: preprocess(), + preprocess: preprocess({ postcss: true }), kit: { adapter: adapter() diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..baa08eb --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./src/**/*.{html,js,svelte,ts}'], + theme: { + extend: {}, + }, + plugins: [], +}