Compare commits

..

10 Commits

Author SHA1 Message Date
Renovate Bot
4f72ef1b4a Update dependency tailwindcss to v4
Some checks failed
Add copyright notice / copyright_notice (pull_request) Successful in 3m15s
Playwright Tests / test (pull_request) Failing after 1m45s
Check usage of free licenses / build-static-assets (pull_request) Successful in 2m27s
Build Nginx-based docker image / build-static-assets (push) Failing after 8m47s
2025-06-16 02:04:58 +00:00
71a976eced Merge pull request 'Update node Docker tag to v24' (#249) from renovate/node-24.x into main
All checks were successful
Check usage of free licenses / build-static-assets (push) Successful in 31s
Playwright Tests / test (push) Successful in 4m22s
Build Nginx-based docker image / build-static-assets (push) Successful in 5m20s
Reviewed-on: #249
2025-06-15 13:37:43 +00:00
41bd2ad2b5 Fix CI to use the node versino defined in .nvmrc
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 4m27s
Add copyright notice / copyright_notice (pull_request) Successful in 4m37s
Build Nginx-based docker image / build-static-assets (push) Successful in 7m2s
Playwright Tests / test (pull_request) Successful in 8m10s
2025-06-15 13:35:24 +02:00
cd6574389f Merge pull request 'Add a confirmation dialog before deleting a guest' (#284) from confirmation-dialog-remove-guest into main
All checks were successful
Check usage of free licenses / build-static-assets (push) Successful in 51s
Playwright Tests / test (push) Successful in 11m49s
Build Nginx-based docker image / build-static-assets (push) Successful in 12m11s
Reviewed-on: #284
2025-06-15 11:28:14 +00:00
e9e0ec7c13 Update .nvmrc
Some checks failed
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m21s
Add copyright notice / copyright_notice (pull_request) Successful in 1m59s
Build Nginx-based docker image / build-static-assets (push) Has been cancelled
Playwright Tests / test (pull_request) Successful in 11m39s
2025-06-15 13:27:44 +02:00
cb89310425 Update specs accordingly
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 55s
Add copyright notice / copyright_notice (pull_request) Successful in 1m7s
Build Nginx-based docker image / build-static-assets (push) Successful in 3m53s
Playwright Tests / test (pull_request) Successful in 4m0s
2025-06-15 13:24:09 +02:00
1e2829da25 Merge pull request 'Fix the color of the table arrangements' (#285) from fix-table-arrangement-colors into main
All checks were successful
Check usage of free licenses / build-static-assets (push) Successful in 41s
Playwright Tests / test (push) Successful in 5m37s
Build Nginx-based docker image / build-static-assets (push) Successful in 6m4s
Reviewed-on: #285
2025-06-15 10:45:35 +00:00
4d1f83cc33 Fix the color of the table arrangements
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m8s
Add copyright notice / copyright_notice (pull_request) Successful in 1m8s
Build Nginx-based docker image / build-static-assets (push) Successful in 4m13s
Playwright Tests / test (pull_request) Successful in 4m6s
2025-06-15 12:32:06 +02:00
471b98fb53 Add a confirmation dialog before deleting a guest
Some checks failed
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m44s
Add copyright notice / copyright_notice (pull_request) Successful in 2m24s
Build Nginx-based docker image / build-static-assets (push) Successful in 8m30s
Playwright Tests / test (pull_request) Failing after 8m55s
2025-06-15 12:12:04 +02:00
Renovate Bot
055ef75510 Update node Docker tag to v24
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 2m49s
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m50s
Build Nginx-based docker image / build-static-assets (push) Successful in 10m4s
Playwright Tests / test (pull_request) Successful in 10m24s
2025-06-15 02:04:31 +00:00
9 changed files with 24 additions and 18 deletions

View File

@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: lts/* node-version-file: .nvmrc
- name: Install dependencies - name: Install dependencies
run: npm install -g pnpm && pnpm install run: npm install -g pnpm && pnpm install
- name: Build the service that will be tested - name: Build the service that will be tested

2
.nvmrc
View File

@ -1 +1 @@
23.11.1 24.2.0

View File

@ -1,6 +1,6 @@
# Based on https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile # Based on https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile
FROM node:23-alpine AS base FROM node:24-alpine AS base
# Install dependencies only when needed # Install dependencies only when needed
FROM base AS deps FROM base AS deps

View File

@ -1,6 +1,6 @@
# Based on https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile # Based on https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile
FROM node:23-alpine AS base FROM node:24-alpine AS base
# Install dependencies only when needed # Install dependencies only when needed
FROM base AS deps FROM base AS deps

View File

@ -34,7 +34,7 @@ export class TableSimulationSerializer implements Serializable<TableSimulation>
return new TableSimulation(data.id, data.tables.map((table: any) => { return new TableSimulation(data.id, data.tables.map((table: any) => {
return { return {
number: table.number, number: table.number,
guests: table.guests.map((guest: any) => new Guest(guest.id, guest.name, guest.group?.name, guest.group?.id, guest.color)), guests: table.guests.map((guest: any) => new Guest(guest.id, guest.name, guest.color, guest.status, [], guest.group)),
discomfort: { discomfort: {
discomfort: table.discomfort.discomfort, discomfort: table.discomfort.discomfort,
breakdown: { breakdown: {

View File

@ -3,7 +3,7 @@
'use client'; 'use client';
import { AbstractApi } from '@/app/api/abstract-api'; import { AbstractApi } from '@/app/api/abstract-api';
import { Guest , GuestSerializer} from '@/app/lib/guest'; import { Guest, GuestSerializer } from '@/app/lib/guest';
import { PencilIcon, TrashIcon } from '@heroicons/react/24/outline'; import { PencilIcon, TrashIcon } from '@heroicons/react/24/outline';
import clsx from 'clsx'; import clsx from 'clsx';
import TableOfContents from '../components/table-of-contents'; import TableOfContents from '../components/table-of-contents';
@ -48,7 +48,12 @@ export default function guestsTable({ guests, onUpdate, onEdit }: {
</td> </td>
<td> <td>
<div className="flex flex-row items-center"> <div className="flex flex-row items-center">
<TrashIcon className='size-6 cursor-pointer' onClick={() => { api.destroy(serializer, guest, onUpdate)}} /> <TrashIcon className='size-6 cursor-pointer' onClick={() => {
if (window.confirm(`Are you sure you want to delete guest "${guest.name}"?`)) {
api.destroy(serializer, guest, onUpdate)
}
}}
/>
<PencilIcon className='size-6 cursor-pointer' onClick={() => onEdit(guest)} /> <PencilIcon className='size-6 cursor-pointer' onClick={() => onEdit(guest)} />
</div> </div>
</td> </td>

View File

@ -32,7 +32,7 @@
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.52.0", "@playwright/test": "^1.52.0",
"@types/bcrypt": "^5.0.2", "@types/bcrypt": "^5.0.2",
"@types/node": "22.15.31", "@types/node": "24.0.1",
"@types/react": "18.3.23", "@types/react": "18.3.23",
"@types/react-dom": "18.3.7", "@types/react-dom": "18.3.7",
"wait-on": "^8.0.3" "wait-on": "^8.0.3"

20
pnpm-lock.yaml generated
View File

@ -82,8 +82,8 @@ importers:
specifier: ^5.0.2 specifier: ^5.0.2
version: 5.0.2 version: 5.0.2
'@types/node': '@types/node':
specifier: 22.15.31 specifier: 24.0.1
version: 22.15.31 version: 24.0.1
'@types/react': '@types/react':
specifier: 18.3.23 specifier: 18.3.23
version: 18.3.23 version: 18.3.23
@ -469,8 +469,8 @@ packages:
'@types/mdurl@2.0.0': '@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
'@types/node@22.15.31': '@types/node@24.0.1':
resolution: {integrity: sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==} resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
'@types/prop-types@15.7.12': '@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
@ -978,8 +978,8 @@ packages:
uc.micro@2.1.0: uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
undici-types@6.21.0: undici-types@7.8.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
update-browserslist-db@1.1.3: update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
@ -1335,7 +1335,7 @@ snapshots:
'@types/bcrypt@5.0.2': '@types/bcrypt@5.0.2':
dependencies: dependencies:
'@types/node': 22.15.31 '@types/node': 24.0.1
'@types/linkify-it@5.0.0': {} '@types/linkify-it@5.0.0': {}
@ -1346,9 +1346,9 @@ snapshots:
'@types/mdurl@2.0.0': {} '@types/mdurl@2.0.0': {}
'@types/node@22.15.31': '@types/node@24.0.1':
dependencies: dependencies:
undici-types: 6.21.0 undici-types: 7.8.0
'@types/prop-types@15.7.12': {} '@types/prop-types@15.7.12': {}
@ -1878,7 +1878,7 @@ snapshots:
uc.micro@2.1.0: {} uc.micro@2.1.0: {}
undici-types@6.21.0: {} undici-types@7.8.0: {}
update-browserslist-db@1.1.3(browserslist@4.24.4): update-browserslist-db@1.1.3(browserslist@4.24.4):
dependencies: dependencies:

View File

@ -70,6 +70,7 @@ test('should allow CRUD on guests', async ({ page }) => {
await expect(page.getByText('There are 3 elements in the list')).toBeVisible(); await expect(page.getByText('There are 3 elements in the list')).toBeVisible();
// Delete John Fire // Delete John Fire
page.on('dialog', dialog => dialog.accept());
await page.getByRole('row').nth(1).locator('svg').nth(0).click(); // Click delete icon await page.getByRole('row').nth(1).locator('svg').nth(0).click(); // Click delete icon
await expect(page.getByText('There are 2 elements in the list')).toBeVisible(); await expect(page.getByText('There are 2 elements in the list')).toBeVisible();
}); });