From 45e105dc78b763ec881440b3942df54618c834d3 Mon Sep 17 00:00:00 2001 From: Anders <69890033+lille-morille@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:31:26 +0200 Subject: [PATCH] Upload image to create a question game (#77) * Upload image for create endpoint * Upload image to create question game --- ER_diagram.pdf | Bin 79023 -> 99157 bytes package.json | 1 + pnpm-lock.yaml | 191 +++++++++++++++--- .../migration.sql | 8 + prisma/schema.prisma | 13 +- src/components/questiongame/form.tsx | 122 +++++------ src/components/ui/select.tsx | 59 +++--- .../question-game/game/controller/create.ts | 45 ++--- .../api/question-game/game/schema/create.ts | 7 +- src/server/api/question-game/middleware.ts | 21 -- 10 files changed, 292 insertions(+), 175 deletions(-) create mode 100644 prisma/migrations/20241021170629_question_game_image/migration.sql delete mode 100644 src/server/api/question-game/middleware.ts diff --git a/ER_diagram.pdf b/ER_diagram.pdf index e2a92b75f70856bb5d380c62d48e6531e2119976..44239cd5aeec085dc64860990b8f3d32da2169ee 100644 GIT binary patch literal 99157 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 BU7i2{ literal 79023 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 diff --git a/package.json b/package.json index d5fc443..307aed3 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-radio-group": "^1.2.0", + "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5fed9e7..8177fb9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ importers: '@radix-ui/react-radio-group': specifier: ^1.2.0 version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': + specifier: ^2.1.2 + version: 2.1.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-separator': specifier: ^1.0.3 version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -120,9 +123,6 @@ importers: '@tailwindcss/forms': specifier: ^0.5.8 version: 0.5.8(tailwindcss@3.4.10) - '@types/browser-image-compression': - specifier: ^1.0.9 - version: 1.0.9 '@types/eslint': specifier: ^8.56.10 version: 8.56.12 @@ -602,6 +602,9 @@ packages: typescript: optional: true + '@radix-ui/number@1.1.0': + resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} + '@radix-ui/primitive@1.1.0': resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} @@ -662,6 +665,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-dialog@1.1.1': resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==} peerDependencies: @@ -697,6 +709,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-dismissable-layer@1.1.1': + resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-dropdown-menu@2.1.1': resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==} peerDependencies: @@ -719,6 +744,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-focus-guards@1.1.1': + resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-focus-scope@1.1.0': resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} peerDependencies: @@ -793,6 +827,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-portal@1.1.2': + resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-presence@1.1.0': resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} peerDependencies: @@ -845,6 +892,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-select@2.1.2': + resolution: {integrity: sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-separator@1.1.0': resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} peerDependencies: @@ -1125,10 +1185,6 @@ packages: '@trpc/server@11.0.0-rc.498': resolution: {integrity: sha512-LECCOz8JNB67CBasPA6fkLbhJIbUQRP1wq02xUfUMeaSEZFWJL+7fcTgLaWFQSHMMnMsvkLuDuDDkUSCF2SXmg==} - '@types/browser-image-compression@1.0.9': - resolution: {integrity: sha512-fuEfHm2aG4u8AY9BSSEt2L46x+j/mWk9D9jCJ2+lB+TtflzXwZ328QPKr6HQxJu0ynDpc7XttvSAnx+4AP6QXA==} - deprecated: This is a stub types definition. browser-image-compression provides its own type definitions, so you do not need this installed. - '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -3124,6 +3180,16 @@ packages: '@types/react': optional: true + react-remove-scroll@2.6.0: + resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + react-style-singleton@2.2.1: resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -4078,6 +4144,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@radix-ui/number@1.1.0': {} + '@radix-ui/primitive@1.1.0': {} '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -4125,6 +4193,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.5 + '@radix-ui/react-context@1.1.1(@types/react@18.3.5)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.5 + '@radix-ui/react-dialog@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 @@ -4166,6 +4240,19 @@ snapshots: '@types/react': 18.3.5 '@types/react-dom': 18.3.0 + '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.5)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + '@types/react-dom': 18.3.0 + '@radix-ui/react-dropdown-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 @@ -4187,6 +4274,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.5 + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.5)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.5 + '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.5)(react@18.3.1) @@ -4268,6 +4361,16 @@ snapshots: '@types/react': 18.3.5 '@types/react-dom': 18.3.0 + '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.5)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + '@types/react-dom': 18.3.0 + '@radix-ui/react-presence@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.5)(react@18.3.1) @@ -4322,6 +4425,35 @@ snapshots: '@types/react': 18.3.5 '@types/react-dom': 18.3.0 + '@radix-ui/react-select@2.1.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.5)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.6.0(@types/react@18.3.5)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + '@types/react-dom': 18.3.0 + '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -4548,10 +4680,6 @@ snapshots: '@trpc/server@11.0.0-rc.498': {} - '@types/browser-image-compression@1.0.9': - dependencies: - browser-image-compression: 2.0.2 - '@types/cookie@0.6.0': {} '@types/d3-scale-chromatic@3.0.3': {} @@ -5556,8 +5684,8 @@ snapshots: '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) eslint-plugin-react: 7.35.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -5576,47 +5704,37 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.6 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.8.0 is-bun-module: 1.1.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -5627,7 +5745,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.4.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -5638,7 +5756,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.4.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6907,6 +7025,17 @@ snapshots: optionalDependencies: '@types/react': 18.3.5 + react-remove-scroll@2.6.0(@types/react@18.3.5)(react@18.3.1): + dependencies: + react: 18.3.1 + react-remove-scroll-bar: 2.3.6(@types/react@18.3.5)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.5)(react@18.3.1) + tslib: 2.7.0 + use-callback-ref: 1.3.2(@types/react@18.3.5)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.5)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + react-style-singleton@2.2.1(@types/react@18.3.5)(react@18.3.1): dependencies: get-nonce: 1.0.1 diff --git a/prisma/migrations/20241021170629_question_game_image/migration.sql b/prisma/migrations/20241021170629_question_game_image/migration.sql new file mode 100644 index 0000000..c6e20a8 --- /dev/null +++ b/prisma/migrations/20241021170629_question_game_image/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - Added the required column `imageUrl` to the `QuestionGame` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "QuestionGame" ADD COLUMN "imageUrl" TEXT NOT NULL; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 75b2f52..d6e451b 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -102,14 +102,15 @@ enum BeerPongTournamentStatus { } model QuestionGame { - id Int @id @default(autoincrement()) + id Int @id @default(autoincrement()) title String + imageUrl String questions Question[] } model Question { - id Int @id @default(autoincrement()) - question String - questionGame QuestionGame @relation(fields: [questionGameId], references: [id], onDelete: Cascade) - questionGameId Int -} \ No newline at end of file + id Int @id @default(autoincrement()) + question String + questionGame QuestionGame @relation(fields: [questionGameId], references: [id], onDelete: Cascade) + questionGameId Int +} diff --git a/src/components/questiongame/form.tsx b/src/components/questiongame/form.tsx index 8689906..87e5789 100644 --- a/src/components/questiongame/form.tsx +++ b/src/components/questiongame/form.tsx @@ -10,69 +10,73 @@ import { Form, FormControl, FormField, FormItem, FormLabel } from "../ui/form"; import { InputSchema } from "~/server/api/question-game/game/schema/create"; import Input from "../layout/input"; import { Button } from "../ui/button"; - +import FileUploader from "../file-upload"; export const QuestionGameForm = () => { - const form = useForm>({ - resolver: zodResolver(InputSchema), - defaultValues: { - title: "" - } - }); - - const { - mutate: createGame, - status, - data: game - } = api.questionGame.game.create.useMutation({ - onError: (error) => { - console.error("Feil ved opprettelse av spill:", error); - }, - onSuccess: (data) => { - console.log("Spill opprettet:", data); - } - }); + const form = useForm>({ + resolver: zodResolver(InputSchema), + defaultValues: { + title: "", + imageUrl: "", + }, + }); - const router = useRouter(); + const { + mutate: createGame, + status, + data: game, + } = api.questionGame.game.create.useMutation({ + onError: (error) => { + console.error("Feil ved opprettelse av spill:", error); + }, + onSuccess: (data) => { + console.log("Spill opprettet:", data); + }, + }); - useEffect(() => { - if (status === "success") { - console.log("Spill opprettet med ID:", game?.questionGameId); - router.replace(`/question-game/${game.questionGameId}/questions`); - } - }, [status]); + const router = useRouter(); - const onSubmit = (values: z.infer) => { - console.log("Skjema verdier:", values); - createGame(values); - }; + useEffect(() => { + if (status === "success") { + console.log("Spill opprettet med ID:", game?.questionGameId); + router.replace(`/question-game/${game.questionGameId}/questions`); + } + }, [status]); - return ( -
- - ( - - Tittel - - - - - )} - /> -
- Default -
- - - - ); -} + const onSubmit = (values: z.infer) => { + console.log("Skjema verdier:", values); + createGame(values); + }; + return ( +
+ + ( + + Tittel + + + + + )} + /> + form.setValue("imageUrl", file)} /> + + + + ); +}; diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx index 1091153..01edcf2 100644 --- a/src/components/ui/select.tsx +++ b/src/components/ui/select.tsx @@ -1,16 +1,15 @@ -"use client" +"use client"; -import * as React from "react" -import * as SelectPrimitive from "@radix-ui/react-select" -import { Check, ChevronDown, ChevronUp } from "lucide-react" +import * as React from "react"; +import * as SelectPrimitive from "@radix-ui/react-select"; +import { Check, ChevronDown, ChevronUp } from "lucide-react"; +import { cn } from "../../util/tailwind-cn"; -import { cn } from "~/lib/utils" +const Select = SelectPrimitive.Root; -const Select = SelectPrimitive.Root +const SelectGroup = SelectPrimitive.Group; -const SelectGroup = SelectPrimitive.Group - -const SelectValue = SelectPrimitive.Value +const SelectValue = SelectPrimitive.Value; const SelectTrigger = React.forwardRef< React.ElementRef, @@ -20,7 +19,7 @@ const SelectTrigger = React.forwardRef< ref={ref} className={cn( "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", - className + className, )} {...props} > @@ -29,8 +28,8 @@ const SelectTrigger = React.forwardRef< -)) -SelectTrigger.displayName = SelectPrimitive.Trigger.displayName +)); +SelectTrigger.displayName = SelectPrimitive.Trigger.displayName; const SelectScrollUpButton = React.forwardRef< React.ElementRef, @@ -40,14 +39,14 @@ const SelectScrollUpButton = React.forwardRef< ref={ref} className={cn( "flex cursor-default items-center justify-center py-1", - className + className, )} {...props} > -)) -SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName +)); +SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName; const SelectScrollDownButton = React.forwardRef< React.ElementRef, @@ -57,15 +56,15 @@ const SelectScrollDownButton = React.forwardRef< ref={ref} className={cn( "flex cursor-default items-center justify-center py-1", - className + className, )} {...props} > -)) +)); SelectScrollDownButton.displayName = - SelectPrimitive.ScrollDownButton.displayName + SelectPrimitive.ScrollDownButton.displayName; const SelectContent = React.forwardRef< React.ElementRef, @@ -78,7 +77,7 @@ const SelectContent = React.forwardRef< "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", - className + className, )} position={position} {...props} @@ -88,7 +87,7 @@ const SelectContent = React.forwardRef< className={cn( "p-1", position === "popper" && - "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]" + "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]", )} > {children} @@ -96,8 +95,8 @@ const SelectContent = React.forwardRef< -)) -SelectContent.displayName = SelectPrimitive.Content.displayName +)); +SelectContent.displayName = SelectPrimitive.Content.displayName; const SelectLabel = React.forwardRef< React.ElementRef, @@ -108,8 +107,8 @@ const SelectLabel = React.forwardRef< className={cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)} {...props} /> -)) -SelectLabel.displayName = SelectPrimitive.Label.displayName +)); +SelectLabel.displayName = SelectPrimitive.Label.displayName; const SelectItem = React.forwardRef< React.ElementRef, @@ -119,7 +118,7 @@ const SelectItem = React.forwardRef< ref={ref} className={cn( "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", - className + className, )} {...props} > @@ -131,8 +130,8 @@ const SelectItem = React.forwardRef< {children} -)) -SelectItem.displayName = SelectPrimitive.Item.displayName +)); +SelectItem.displayName = SelectPrimitive.Item.displayName; const SelectSeparator = React.forwardRef< React.ElementRef, @@ -143,8 +142,8 @@ const SelectSeparator = React.forwardRef< className={cn("-mx-1 my-1 h-px bg-muted", className)} {...props} /> -)) -SelectSeparator.displayName = SelectPrimitive.Separator.displayName +)); +SelectSeparator.displayName = SelectPrimitive.Separator.displayName; export { Select, @@ -157,4 +156,4 @@ export { SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, -} +}; diff --git a/src/server/api/question-game/game/controller/create.ts b/src/server/api/question-game/game/controller/create.ts index e9713d0..0b0a05e 100644 --- a/src/server/api/question-game/game/controller/create.ts +++ b/src/server/api/question-game/game/controller/create.ts @@ -1,33 +1,28 @@ import { z } from "zod"; -import { adminProcedure, Controller } from '~/server/api/trpc'; -import { assertHasCreateQuestionGameControl } from "../../middleware"; +import { adminProcedure, Controller } from "~/server/api/trpc"; import { InputSchema, OutputSchema } from "../schema/create"; import { db } from "~/server/db"; - const handler: Controller< - z.infer, - z.infer -> = async ({input, ctx}) => { - await assertHasCreateQuestionGameControl({ctx}); + z.infer, + z.infer +> = async ({ input, ctx }) => { + const game = await db.questionGame.create({ + data: { + title: input.title, + imageUrl: input.imageUrl, + }, + select: { + id: true, + }, + }); - const game = await db.questionGame.create({ - data: { - title: input.title, - }, - select: { - id: true - } - }); - - return { - questionGameId: game.id - } -} + return { + questionGameId: game.id, + }; +}; export default adminProcedure - .input(InputSchema) - .output(OutputSchema) - .mutation(handler); - - + .input(InputSchema) + .output(OutputSchema) + .mutation(handler); diff --git a/src/server/api/question-game/game/schema/create.ts b/src/server/api/question-game/game/schema/create.ts index c61a8d3..ae2a8d3 100644 --- a/src/server/api/question-game/game/schema/create.ts +++ b/src/server/api/question-game/game/schema/create.ts @@ -1,9 +1,10 @@ import { z } from "zod"; export const InputSchema = z.object({ - title: z.string() + title: z.string(), + imageUrl: z.string().url(), }); export const OutputSchema = z.object({ - questionGameId: z.number().int().nonnegative() -}); \ No newline at end of file + questionGameId: z.number().int().nonnegative(), +}); diff --git a/src/server/api/question-game/middleware.ts b/src/server/api/question-game/middleware.ts deleted file mode 100644 index b4c91de..0000000 --- a/src/server/api/question-game/middleware.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { TRPCError } from "@trpc/server"; -import { ProcedureCtx } from "../trpc" - -export interface AssertHasCreateQuestionGameProps { - ctx: ProcedureCtx; -} - -/** - * Throws an error if the user is not admin - * - */ -export const assertHasCreateQuestionGameControl = async ({ - ctx -}:AssertHasCreateQuestionGameProps) => { - if(ctx.session.user.role !== "ADMIN") { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Du har ikke lov til å opprette et spill av 100 spørsmål" - }) - } -} \ No newline at end of file