No data available.
;
- // }
-
- return (
-
-
+
Wedding Planner
-
+
Logged in as {JSON.parse(localStorage.getItem('currentUser') || '{}').email}
+
);
diff --git a/app/ui/guests/affinity-groups-tree.tsx b/app/ui/guests/affinity-groups-tree.tsx
deleted file mode 100644
index 0082070..0000000
--- a/app/ui/guests/affinity-groups-tree.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-'use client'
-
-import React, { useState, useEffect, Suspense } from 'react';
-import { Tree } from 'primereact/tree';
-import { PrimeIcons } from 'primereact/api';
-import { debug } from 'console';
-import { Group } from '@/app/lib/definitions';
-
-export default function AffinityGroupsTree() {
- const [nodes, setNodes] = useState([]);
-
- const groupToNode = (group: Group): any => {
- return({
- key: group.id,
- label: `${group.name} (${group.guest_count})`,
- icon: group.icon,
- children: group.children.map((child) => groupToNode(child)),
- className: "px-4",
- })
- }
-
- const parseNode = (record: any, included: any[]): Group => {
- if (!record.attributes) {
- record = included.find((a) => a.id === record.id);
- }
-
- const children: Group[] = (record?.relationships?.children?.data || []).map((child: any) => {
- return (parseNode(child, included));
- });
-
- const children_guest_count: number = children.reduce((acc: number, child: Group) => acc + child.guest_count, 0);
-
- return ({
- id: record.id,
- name: record.attributes.name,
- guest_count: record.attributes.guest_count + children_guest_count,
- icon: record.attributes.icon,
- children: children,
- })
- }
-
-
- useEffect(() => {
- if (nodes.length > 0) {
- return;
- }
- fetch("/api/groups.json")
- .then((response) => response.json())
- .then((data) => {
- setNodes(data.data.map((record: any) => {
- return (groupToNode(parseNode(record, data.included)));
- }))
- });
- });
-
- return (
-
-
- setNodes(e.value as any)} className="w-full md:w-30rem" />
-
-
- )
-}
\ No newline at end of file
diff --git a/app/ui/guests/breadcrumbs.tsx b/app/ui/guests/breadcrumbs.tsx
deleted file mode 100644
index 828a614..0000000
--- a/app/ui/guests/breadcrumbs.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-import { clsx } from 'clsx';
-import Link from 'next/link';
-import { lusitana } from '@/app/ui/fonts';
-
-interface Breadcrumb {
- label: string;
- href: string;
- active?: boolean;
-}
-
-export default function Breadcrumbs({
- breadcrumbs,
-}: {
- breadcrumbs: Breadcrumb[];
-}) {
- return (
-
- );
-}
diff --git a/app/ui/guests/buttons.tsx b/app/ui/guests/buttons.tsx
deleted file mode 100644
index d4e2183..0000000
--- a/app/ui/guests/buttons.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-import { PencilIcon, PlusIcon, TrashIcon } from '@heroicons/react/24/outline';
-import Link from 'next/link';
-
-export function CreateInvoice() {
- return (
-
-
Create Invoice{' '}
-
-
- );
-}
-
-export function UpdateInvoice({ id }: { id: string }) {
- return (
-
-
-
- );
-}
-
-export function DeleteInvoice({ id }: { id: string }) {
- return (
- <>
-
- >
- );
-}
diff --git a/app/ui/guests/create-form.tsx b/app/ui/guests/create-form.tsx
deleted file mode 100644
index d66a259..0000000
--- a/app/ui/guests/create-form.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-import { CustomerField } from '@/app/lib/definitions';
-import Link from 'next/link';
-import {
- CheckIcon,
- ClockIcon,
- CurrencyDollarIcon,
- UserCircleIcon,
-} from '@heroicons/react/24/outline';
-import { Button } from '@/app/ui/button';
-
-export default function Form({ customers }: { customers: CustomerField[] }) {
- return (
-
- );
-}
diff --git a/app/ui/guests/edit-form.tsx b/app/ui/guests/edit-form.tsx
deleted file mode 100644
index d71a275..0000000
--- a/app/ui/guests/edit-form.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-'use client';
-
-import { CustomerField, InvoiceForm } from '@/app/lib/definitions';
-import {
- CheckIcon,
- ClockIcon,
- CurrencyDollarIcon,
- UserCircleIcon,
-} from '@heroicons/react/24/outline';
-import Link from 'next/link';
-import { Button } from '@/app/ui/button';
-
-export default function EditInvoiceForm({
- invoice,
- customers,
-}: {
- invoice: InvoiceForm;
- customers: CustomerField[];
-}) {
- return (
-
- );
-}
diff --git a/app/ui/guests/pagination.tsx b/app/ui/guests/pagination.tsx
deleted file mode 100644
index 42488ae..0000000
--- a/app/ui/guests/pagination.tsx
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-'use client';
-
-import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline';
-import clsx from 'clsx';
-import Link from 'next/link';
-import { generatePagination } from '@/app/lib/utils';
-
-export default function Pagination({ totalPages }: { totalPages: number }) {
- // NOTE: Uncomment this code in Chapter 11
-
- // const allPages = generatePagination(currentPage, totalPages);
-
- return (
- <>
- {/* NOTE: Uncomment this code in Chapter 11 */}
-
- {/*
-
-
-
- {allPages.map((page, index) => {
- let position: 'first' | 'last' | 'single' | 'middle' | undefined;
-
- if (index === 0) position = 'first';
- if (index === allPages.length - 1) position = 'last';
- if (allPages.length === 1) position = 'single';
- if (page === '...') position = 'middle';
-
- return (
-
- );
- })}
-
-
-
= totalPages}
- />
- */}
- >
- );
-}
-
-function PaginationNumber({
- page,
- href,
- isActive,
- position,
-}: {
- page: number | string;
- href: string;
- position?: 'first' | 'last' | 'middle' | 'single';
- isActive: boolean;
-}) {
- const className = clsx(
- 'flex h-10 w-10 items-center justify-center text-sm border',
- {
- 'rounded-l-md': position === 'first' || position === 'single',
- 'rounded-r-md': position === 'last' || position === 'single',
- 'z-10 bg-blue-600 border-blue-600 text-white': isActive,
- 'hover:bg-gray-100': !isActive && position !== 'middle',
- 'text-gray-300': position === 'middle',
- },
- );
-
- return isActive || position === 'middle' ? (
-
{page}
- ) : (
-
- {page}
-
- );
-}
-
-function PaginationArrow({
- href,
- direction,
- isDisabled,
-}: {
- href: string;
- direction: 'left' | 'right';
- isDisabled?: boolean;
-}) {
- const className = clsx(
- 'flex h-10 w-10 items-center justify-center rounded-md border',
- {
- 'pointer-events-none text-gray-300': isDisabled,
- 'hover:bg-gray-100': !isDisabled,
- 'mr-2 md:mr-4': direction === 'left',
- 'ml-2 md:ml-4': direction === 'right',
- },
- );
-
- const icon =
- direction === 'left' ? (
-
- ) : (
-
- );
-
- return isDisabled ? (
-
{icon}
- ) : (
-
- {icon}
-
- );
-}
diff --git a/app/ui/guests/status.tsx b/app/ui/guests/status.tsx
deleted file mode 100644
index f8a3a78..0000000
--- a/app/ui/guests/status.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-import { CheckIcon, ClockIcon } from '@heroicons/react/24/outline';
-import clsx from 'clsx';
-
-export default function gueststatus({ status }: { status: string }) {
- return (
-
- {status === 'pending' ? (
- <>
- Pending
-
- >
- ) : null}
- {status === 'paid' ? (
- <>
- Paid
-
- >
- ) : null}
-
- );
-}
diff --git a/app/ui/login-form.tsx b/app/ui/login-form.tsx
deleted file mode 100644
index 6e6241e..0000000
--- a/app/ui/login-form.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 2024 Manuel Bustillo*/
-
-import { lusitana } from '@/app/ui/fonts';
-import {
- AtSymbolIcon,
- KeyIcon,
- ExclamationCircleIcon,
-} from '@heroicons/react/24/outline';
-import { ArrowRightIcon } from '@heroicons/react/20/solid';
-import { Button } from './button';
-
-export default function LoginForm() {
- return (
-
- );
-}
diff --git a/package.json b/package.json
index cd0557c..41ea854 100644
--- a/package.json
+++ b/package.json
@@ -19,19 +19,19 @@
"react": "19.0.0-rc-f38c22b244-20240704",
"react-dom": "19.0.0-rc-f38c22b244-20240704",
"tailwindcss": "3.4.15",
- "typescript": "5.6.3",
+ "typescript": "5.7.2",
"use-debounce": "^10.0.1",
"zod": "^3.23.8"
},
"devDependencies": {
"@playwright/test": "^1.46.0",
"@types/bcrypt": "^5.0.2",
- "@types/node": "22.9.0",
+ "@types/node": "22.10.1",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1"
},
"engines": {
"node": ">=23.0.0"
},
- "packageManager": "pnpm@9.13.2+sha512.88c9c3864450350e65a33587ab801acf946d7c814ed1134da4a924f6df5a2120fd36b46aab68f7cd1d413149112d53c7db3a4136624cfd00ff1846a0c6cef48a"
+ "packageManager": "pnpm@9.14.4+sha512.c8180b3fbe4e4bca02c94234717896b5529740a6cbadf19fa78254270403ea2f27d4e1d46a08a0f56c89b63dc8ebfd3ee53326da720273794e6200fcf0d184ab"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c367c00..f249b78 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,7 +10,7 @@ importers:
dependencies:
'@heroicons/react':
specifier: ^2.1.4
- version: 2.1.5(react@19.0.0-rc-f38c22b244-20240704)
+ version: 2.2.0(react@19.0.0-rc-f38c22b244-20240704)
'@tailwindcss/forms':
specifier: ^0.5.7
version: 0.5.9(tailwindcss@3.4.15)
@@ -25,10 +25,10 @@ importers:
version: 2.1.1
next:
specifier: 15.0.3
- version: 15.0.3(@playwright/test@1.48.2)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
+ version: 15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@15.0.3(@playwright/test@1.48.2)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
+ version: 5.0.0-beta.25(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
postcss:
specifier: 8.4.49
version: 8.4.49
@@ -37,7 +37,7 @@ importers:
version: 7.0.0
primereact:
specifier: ^10.8.2
- version: 10.8.4(@types/react@18.3.12)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
+ version: 10.8.5(@types/react@18.3.12)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
react:
specifier: 19.0.0-rc-f38c22b244-20240704
version: 19.0.0-rc-f38c22b244-20240704
@@ -48,8 +48,8 @@ importers:
specifier: 3.4.15
version: 3.4.15
typescript:
- specifier: 5.6.3
- version: 5.6.3
+ specifier: 5.7.2
+ version: 5.7.2
use-debounce:
specifier: ^10.0.1
version: 10.0.4(react@19.0.0-rc-f38c22b244-20240704)
@@ -59,13 +59,13 @@ importers:
devDependencies:
'@playwright/test':
specifier: ^1.46.0
- version: 1.48.2
+ version: 1.49.0
'@types/bcrypt':
specifier: ^5.0.2
version: 5.0.2
'@types/node':
- specifier: 22.9.0
- version: 22.9.0
+ specifier: 22.10.1
+ version: 22.10.1
'@types/react':
specifier: 18.3.12
version: 18.3.12
@@ -93,17 +93,17 @@ packages:
nodemailer:
optional: true
- '@babel/runtime@7.25.7':
- resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==}
+ '@babel/runtime@7.26.0':
+ resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
engines: {node: '>=6.9.0'}
'@emnapi/runtime@1.2.0':
resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
- '@heroicons/react@2.1.5':
- resolution: {integrity: sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA==}
+ '@heroicons/react@2.2.0':
+ resolution: {integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==}
peerDependencies:
- react: '>= 16'
+ react: '>= 16 || ^19.0.0-rc'
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
@@ -306,8 +306,8 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
- '@playwright/test@1.48.2':
- resolution: {integrity: sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==}
+ '@playwright/test@1.49.0':
+ resolution: {integrity: sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==}
engines: {node: '>=18'}
hasBin: true
@@ -328,8 +328,8 @@ packages:
'@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
- '@types/node@22.9.0':
- resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==}
+ '@types/node@22.10.1':
+ resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
'@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
@@ -839,13 +839,13 @@ packages:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
- playwright-core@1.48.2:
- resolution: {integrity: sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==}
+ playwright-core@1.49.0:
+ resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.48.2:
- resolution: {integrity: sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==}
+ playwright@1.49.0:
+ resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==}
engines: {node: '>=18'}
hasBin: true
@@ -908,8 +908,8 @@ packages:
primeicons@7.0.0:
resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==}
- primereact@10.8.4:
- resolution: {integrity: sha512-jwkSzq6pOHayzEh+9dgk2M71gEZtoQakwPKVo3FUJO3eEX3SoAOchON+Xm1tGCNqtd66ca8RgOWQcpv3AQoMvg==}
+ primereact@10.8.5:
+ resolution: {integrity: sha512-B1LeJdNGGAB8P1VRJE0TDYz6rZSDwxE7Ft8PLFjRYLO44+mIJNDsLYSB56LRJOoqUNRhQrRIe/5ctS5eyQAzwQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -1096,13 +1096,13 @@ packages:
tslib@2.6.3:
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
- typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
+ typescript@5.7.2:
+ resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
engines: {node: '>=14.17'}
hasBin: true
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@6.20.0:
+ resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
update-browserslist-db@1.1.0:
resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
@@ -1169,7 +1169,7 @@ snapshots:
preact: 10.11.3
preact-render-to-string: 5.2.3(preact@10.11.3)
- '@babel/runtime@7.25.7':
+ '@babel/runtime@7.26.0':
dependencies:
regenerator-runtime: 0.14.1
@@ -1178,7 +1178,7 @@ snapshots:
tslib: 2.6.3
optional: true
- '@heroicons/react@2.1.5(react@19.0.0-rc-f38c22b244-20240704)':
+ '@heroicons/react@2.2.0(react@19.0.0-rc-f38c22b244-20240704)':
dependencies:
react: 19.0.0-rc-f38c22b244-20240704
@@ -1341,9 +1341,9 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
- '@playwright/test@1.48.2':
+ '@playwright/test@1.49.0':
dependencies:
- playwright: 1.48.2
+ playwright: 1.49.0
'@swc/counter@0.1.3': {}
@@ -1358,13 +1358,13 @@ snapshots:
'@types/bcrypt@5.0.2':
dependencies:
- '@types/node': 22.9.0
+ '@types/node': 22.10.1
'@types/cookie@0.6.0': {}
- '@types/node@22.9.0':
+ '@types/node@22.10.1':
dependencies:
- undici-types: 6.19.8
+ undici-types: 6.20.0
'@types/prop-types@15.7.12': {}
@@ -1535,7 +1535,7 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.26.0
csstype: 3.1.3
eastasianwidth@0.2.0: {}
@@ -1735,13 +1735,13 @@ snapshots:
nanoid@3.3.7: {}
- next-auth@5.0.0-beta.25(next@15.0.3(@playwright/test@1.48.2)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
+ next-auth@5.0.0-beta.25(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
dependencies:
'@auth/core': 0.37.2
- next: 15.0.3(@playwright/test@1.48.2)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
+ next: 15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
react: 19.0.0-rc-f38c22b244-20240704
- next@15.0.3(@playwright/test@1.48.2)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
+ next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
dependencies:
'@next/env': 15.0.3
'@swc/counter': 0.1.3
@@ -1761,7 +1761,7 @@ snapshots:
'@next/swc-linux-x64-musl': 15.0.3
'@next/swc-win32-arm64-msvc': 15.0.3
'@next/swc-win32-x64-msvc': 15.0.3
- '@playwright/test': 1.48.2
+ '@playwright/test': 1.49.0
sharp: 0.33.5
transitivePeerDependencies:
- '@babel/core'
@@ -1821,11 +1821,11 @@ snapshots:
pirates@4.0.6: {}
- playwright-core@1.48.2: {}
+ playwright-core@1.49.0: {}
- playwright@1.48.2:
+ playwright@1.49.0:
dependencies:
- playwright-core: 1.48.2
+ playwright-core: 1.49.0
optionalDependencies:
fsevents: 2.3.2
@@ -1883,7 +1883,7 @@ snapshots:
primeicons@7.0.0: {}
- primereact@10.8.4(@types/react@18.3.12)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
+ primereact@10.8.5(@types/react@18.3.12)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
dependencies:
'@types/react-transition-group': 4.4.11
react: 19.0.0-rc-f38c22b244-20240704
@@ -1909,7 +1909,7 @@ snapshots:
react-transition-group@4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.26.0
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -2104,9 +2104,9 @@ snapshots:
tslib@2.6.3: {}
- typescript@5.6.3: {}
+ typescript@5.7.2: {}
- undici-types@6.19.8: {}
+ undici-types@6.20.0: {}
update-browserslist-db@1.1.0(browserslist@4.23.3):
dependencies:
diff --git a/public/customers/amy-burns.png b/public/customers/amy-burns.png
deleted file mode 100644
index 7b29d72..0000000
Binary files a/public/customers/amy-burns.png and /dev/null differ
diff --git a/public/customers/balazs-orban.png b/public/customers/balazs-orban.png
deleted file mode 100644
index 7fbc009..0000000
Binary files a/public/customers/balazs-orban.png and /dev/null differ
diff --git a/public/customers/delba-de-oliveira.png b/public/customers/delba-de-oliveira.png
deleted file mode 100644
index 08db1b8..0000000
Binary files a/public/customers/delba-de-oliveira.png and /dev/null differ
diff --git a/public/customers/evil-rabbit.png b/public/customers/evil-rabbit.png
deleted file mode 100644
index fe7990f..0000000
Binary files a/public/customers/evil-rabbit.png and /dev/null differ
diff --git a/public/customers/lee-robinson.png b/public/customers/lee-robinson.png
deleted file mode 100644
index 633ae98..0000000
Binary files a/public/customers/lee-robinson.png and /dev/null differ
diff --git a/public/customers/michael-novotny.png b/public/customers/michael-novotny.png
deleted file mode 100644
index 96a13a6..0000000
Binary files a/public/customers/michael-novotny.png and /dev/null differ
diff --git a/tests/guests.spec.ts b/tests/guests.spec.ts
index 87abe3a..8bf139c 100644
--- a/tests/guests.spec.ts
+++ b/tests/guests.spec.ts
@@ -1,7 +1,7 @@
import { test, expect, Page } from '@playwright/test'
const mockGuestsAPI = ({ page }: { page: Page }) => {
- page.route('*/**/api/guests', async route => {
+ page.route('*/**/api/default/guests', async route => {
const json = [
{
"id": "f4a09c28-40ea-4553-90a5-96935a59cac6",
@@ -28,7 +28,7 @@ const mockGuestsAPI = ({ page }: { page: Page }) => {
}
const mockGroupsAPI = ({ page }: { page: Page }) => {
- page.route('*/**/api/groups', async route => {
+ page.route('*/**/api/default/groups', async route => {
const json = [
{
"id": "ee44ffb9-1147-4842-a378-9eaeb0f0871a",
@@ -65,7 +65,7 @@ const mockGroupsAPI = ({ page }: { page: Page }) => {
test('should display the list of guests', async ({ page }) => {
await mockGuestsAPI({ page });
- await page.goto('/dashboard/guests');
+ await page.goto('/default/dashboard/guests');
await expect(page.getByRole('tab', { name: 'Groups' })).toBeVisible();
await expect(page.getByRole('tab', { name: 'Guests' })).toBeVisible();
@@ -90,7 +90,7 @@ test('should display the list of guests', async ({ page }) => {
test('should display the list of groups', async ({ page }) => {
await mockGroupsAPI({ page });
- await page.goto('/dashboard/guests');
+ await page.goto('/default/dashboard/guests');
await page.getByRole('tab', { name: 'Groups' }).click();
await expect(page.getByText('There are 2 elements in the list')).toBeVisible();