diff --git a/package-lock.json b/package-lock.json index 35ea0cd..7504422 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,14 +14,15 @@ "@sveltejs/adapter-node": "^1.3.1", "@sveltejs/kit": "^1.27.6", "dotenv": "^16.3.1", - "tabulator-tables": "^6.2.3", + "tsc-alias": "^1.8.10", "typescript": "^5.0.0", "vite": "^4.4.2", - "vitest": "^0.34.0" + "vitest": "^0.34.0", + "wx-svelte-core": "^1.3.1", + "wx-svelte-grid": "^1.3.3" }, "devDependencies": { "@sveltejs/adapter-auto": "^2.0.0", - "@types/tabulator-tables": "^6.2.3", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.28.0", @@ -1108,12 +1109,6 @@ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, - "node_modules/@types/tabulator-tables": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@types/tabulator-tables/-/tabulator-tables-6.2.3.tgz", - "integrity": "sha512-ZeRF/WvtwFXml/4aT7kzfkHEiwbjHZdlIsjrgqcfdmpkl9GQ9XBHY6u9BblUaHX4NUiOlBeHrQKjvai6/bQH0g==", - "dev": true - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", @@ -1468,7 +1463,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1481,7 +1475,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -1707,7 +1700,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, "engines": { "node": ">=8" }, @@ -1824,7 +1816,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1848,7 +1839,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -1892,6 +1882,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -3637,7 +3635,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4256,6 +4253,18 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/mylas": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz", + "integrity": "sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==", + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/raouldeheer" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -4289,7 +4298,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4563,6 +4571,17 @@ "pathe": "^1.1.2" } }, + "node_modules/plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "dependencies": { + "queue-lit": "^1.5.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -4733,6 +4752,14 @@ "node": ">=6" } }, + "node_modules/queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==", + "engines": { + "node": ">=12" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4761,7 +4788,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -4773,7 +4799,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -5545,11 +5570,6 @@ "@types/estree": "^1.0.6" } }, - "node_modules/tabulator-tables": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-6.3.0.tgz", - "integrity": "sha512-gFiivoa03+NCDJ28Na3UU45nJT7sFXBsFCBtMqXz5OpsNTWrmL5ZJYA4oZtDFaVfarPqUHNgwm2PhL6DR7CQxg==" - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -5616,6 +5636,22 @@ "typescript": ">=4.2.0" } }, + "node_modules/tsc-alias": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.10.tgz", + "integrity": "sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==", + "dependencies": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + }, + "bin": { + "tsc-alias": "dist/bin/index.js" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -6094,6 +6130,99 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "node_modules/wx-core-locales": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/wx-core-locales/-/wx-core-locales-1.3.1.tgz", + "integrity": "sha512-Wfd86TvQE4SumypY4EbjmX2tgb12vkqa39DVE0Z0BoH5/qrbEeikY96uo+zkGgjuhB5EtHAL+YEjWBojHB+oEg==" + }, + "node_modules/wx-grid-data-provider": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/wx-grid-data-provider/-/wx-grid-data-provider-1.3.3.tgz", + "integrity": "sha512-IZI4LOHvrMsT7rB5NayBeJo63w7RCr8Iwj6Fap04+aR++7lvO7FhLt5euSbTLSk+7yBi0GfpIoPkEKiwG/BmwA==", + "dependencies": { + "wx-lib-data-provider": "1.4.0" + } + }, + "node_modules/wx-grid-locales": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/wx-grid-locales/-/wx-grid-locales-1.3.3.tgz", + "integrity": "sha512-eG6vo345WGyKlMFm+e7IsbMWYjRZAb9PRCB2skv9Zq+1AsOVxiHEeiTL4YhnfA29IyB5vjzFcvMNATrrcRMdag==" + }, + "node_modules/wx-grid-store": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/wx-grid-store/-/wx-grid-store-1.3.3.tgz", + "integrity": "sha512-tEZP9psOuHXuTCivksBmKKERolxjaV+GJHQfLJ9RQ9VPQ1JmEY6R72q3Ok/gTgnpGbNkmLxUB27ZwY0Ohzq1kA==", + "dependencies": { + "wx-lib-state": "1.9.0" + } + }, + "node_modules/wx-lib-data-provider": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/wx-lib-data-provider/-/wx-lib-data-provider-1.4.0.tgz", + "integrity": "sha512-nlrryjpRhpm5GBcct2e7Gb9Mc4r4nv2xjDZnfTKhYeweAYldti+3qnbF+4KjEzNqFH48xqlcECGTi0Q6JnCvag==" + }, + "node_modules/wx-lib-dom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/wx-lib-dom/-/wx-lib-dom-0.6.0.tgz", + "integrity": "sha512-uJ7BgHW5I8qhgKGcJTqG++9f2wKF6irL0rz/cawVo5DqcWe061M4wWKIHYXnJle4+wtpcPVeF2ASxIxJS1aGWQ==" + }, + "node_modules/wx-lib-state": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/wx-lib-state/-/wx-lib-state-1.9.0.tgz", + "integrity": "sha512-h2BeV/km+PH00pcHyUhyYJdY50vTBVtPzlA+b6idtoBiglUrP+ahmt9I6QvdKVoIPbIGh6EzqavDXuORucEy4g==" + }, + "node_modules/wx-lib-svelte": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/wx-lib-svelte/-/wx-lib-svelte-0.4.0.tgz", + "integrity": "sha512-62uJVUrdmUZj1wOTUlC1CUj+heaRjoCuPiRLBAzytweGUhZ0HqG2JDHUwWKEMqZNU55TyRy/BiJDi84kElfCeQ==" + }, + "node_modules/wx-svelte-core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/wx-svelte-core/-/wx-svelte-core-1.3.1.tgz", + "integrity": "sha512-/IaIzvoilZpHZpOIOvrOyudOPHu6N9I0mceiXQd0ItBdeX6lBiTsx3lvBfTrxNTEt2i7PJsQriyrJmZ+a3iHnA==", + "dependencies": { + "wx-core-locales": "1.3.1", + "wx-lib-dom": "0.6.0" + } + }, + "node_modules/wx-svelte-grid": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/wx-svelte-grid/-/wx-svelte-grid-1.3.3.tgz", + "integrity": "sha512-RJ89S9DgJac6GkU5wRk4MTzRiEFjpUPGf5FBXtVTyt2RVUydNCs3DVDwF+Wqv0FoKj/+m25ba8Sqc7LSXkq7qw==", + "dependencies": { + "wx-grid-data-provider": "1.3.3", + "wx-grid-locales": "1.3.3", + "wx-grid-store": "1.3.3", + "wx-lib-dom": "0.6.0", + "wx-lib-state": "1.9.0", + "wx-lib-svelte": "0.4.0", + "wx-svelte-core": "1.3.1", + "wx-svelte-menu": "1.3.0" + } + }, + "node_modules/wx-svelte-menu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wx-svelte-menu/-/wx-svelte-menu-1.3.0.tgz", + "integrity": "sha512-BzxUSbyya8GnOA2mtj2TbKvVGdHsihjgeSDMR7PihCiTJwCn7I1ewySFR3Iqta6TVv0xABKuxfDkDzpWC/XMJA==", + "dependencies": { + "wx-lib-dom": "0.6.0", + "wx-svelte-core": "1.3.0" + } + }, + "node_modules/wx-svelte-menu/node_modules/wx-core-locales": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wx-core-locales/-/wx-core-locales-1.3.0.tgz", + "integrity": "sha512-gG4VU4d7DuFNNTmbQMGimJOaIszdiCQZhE2a4ulwjbAbTaZVC+HWARpR69Z4w7hL9FQkqEkGcV6ArUYaF0I5LQ==" + }, + "node_modules/wx-svelte-menu/node_modules/wx-svelte-core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wx-svelte-core/-/wx-svelte-core-1.3.0.tgz", + "integrity": "sha512-kJvrmkniAdJiI0c1/te8jD2szFpSYuorBbBrqvkXzo/sLQnomYowgVVFql4C9yOkN/dOXK2A+7jYic/a3d51jw==", + "dependencies": { + "wx-core-locales": "1.3.0", + "wx-lib-dom": "0.6.0" + } + }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", diff --git a/package.json b/package.json index 939f14a..5771deb 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^2.0.0", - "@types/tabulator-tables": "^6.2.3", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.28.0", @@ -50,10 +49,12 @@ "@sveltejs/adapter-node": "^1.3.1", "@sveltejs/kit": "^1.27.6", "dotenv": "^16.3.1", - "tabulator-tables": "^6.2.3", + "tsc-alias": "^1.8.10", "typescript": "^5.0.0", "vite": "^4.4.2", - "vitest": "^0.34.0" + "vitest": "^0.34.0", + "wx-svelte-core": "^1.3.1", + "wx-svelte-grid": "^1.3.3" }, "eslintConfig": { "extends": [ diff --git a/src/lib/DataTable.svelte b/src/lib/DataTable.svelte index 23dc4ec..aa50402 100644 --- a/src/lib/DataTable.svelte +++ b/src/lib/DataTable.svelte @@ -1,41 +1,19 @@ -
+ + + - - - + diff --git a/src/routes/+page.ts b/src/routes/+page.ts index 6f984dd..b52ce0d 100644 --- a/src/routes/+page.ts +++ b/src/routes/+page.ts @@ -1,10 +1,6 @@ import { tourns } from './stores'; -import type { ColumnDefinition } from 'tabulator-tables'; - -/** @type {import('./$types').PageLoad} */ export const load = async ({ fetch} ) => { - console.log(`Fetching from ${import.meta.env.VITE_API_URL}/public/invite/upcoming`); const response = await fetch(`${import.meta.env.VITE_API_URL}/public/invite/upcoming`); const rawData = await response.json(); @@ -108,7 +104,7 @@ export const load = async ({ fetch} ) => { } else if (regEnd < now) { tourn.registration = `Closed`; } else { - tourn.registration = `Due by ${ + tourn.registration = `Due ${ regEnd.toLocaleDateString('en-us', { month : 'numeric', @@ -130,49 +126,53 @@ export const load = async ({ fetch} ) => { return tourn; }); - const columns: ColumnDefinition[] = [ + const columns = [ { - title : "Dates", - field : 'dates', + header : "Dates", + id : 'dates', sorter : 'string', - width : 80, hozAlign : 'center', + width : 80, + resize : true, },{ - title : 'Tournament', - field : 'name', + header : 'Tournament', + id : 'name', sorter : 'string', - width : 310, - editor : true, + width : 300, + resize : true, },{ - title : 'Location', - field : 'location', - sorter : 'string', - width : 100, - tooltip: 'City or Online Platform', + header : 'Location', + id : 'location', + sorter : 'string', + tooltip : 'City or Online Platform', + resize : true, },{ - title : 'ST', - field : 'state', + header : 'ST', + id : 'state', sorter : 'string', hozAlign : 'center', - width : 64, tooltip : 'State, Country or Home Timezone Online', + width : 64, + resize : true, },{ - title : 'Type', - field : 'type', + header : 'Mode', + id : 'mode', sorter : 'string', hozAlign : 'center', - formatter : (cell) => cell.getValue(), - width : 74, + width : 64, + resize : true, },{ - title : 'Registration', - field : 'registration', + header : 'Registration', + id : 'registration', sorter : 'string', - width : 164, + resize : true, },{ - title : 'Judge Signups', - field : 'signup', - sorter : 'string', + header : 'Judge Signups', + id : 'signup', + sorter : 'string', hozAlign : 'center', + width : 64, + resize : true, }, ]; diff --git a/tsconfig.json b/tsconfig.json index 6ae0c8c..9b8f0a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,18 @@ { "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true + "allowJs" : true, + "checkJs" : true, + "esModuleInterop" : true, + "forceConsistentCasingInFileNames" : true, + "resolveJsonModule" : true, + "skipLibCheck" : true, + "sourceMap" : true, + "strict" : true + }, + "tsc-alias": { + "resolveFullPaths" : true, + "verbose" : false } // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias //