Compare commits
8 Commits
c6223414e2
...
78b8b887ee
Author | SHA1 | Date | |
---|---|---|---|
![]() |
78b8b887ee | ||
a74ef0c8b6 | |||
87cf2d3bb2 | |||
5c1f8b0dbe | |||
24e60231d0 | |||
943da9c7e8 | |||
cc698102f2 | |||
87bd3fac4b |
119
app/[slug]/site/invitation/[id]/page.tsx
Normal file
119
app/[slug]/site/invitation/[id]/page.tsx
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
/* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
|
||||||
|
|
||||||
|
'use client'
|
||||||
|
|
||||||
|
import { AbstractApi } from "@/app/api/abstract-api";
|
||||||
|
import { Invitation, InvitationSerializer } from "@/app/lib/invitation";
|
||||||
|
import { useParams } from "next/navigation";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import { FloatLabel } from "primereact/floatlabel";
|
||||||
|
import { Dropdown } from "primereact/dropdown";
|
||||||
|
import { Guest, GuestSerializer, GuestStatus } from "@/app/lib/guest";
|
||||||
|
import { Button } from "primereact/button";
|
||||||
|
|
||||||
|
type FormResponse = {
|
||||||
|
attendance: GuestStatus;
|
||||||
|
};
|
||||||
|
|
||||||
|
function GuestForm({ guest, idx }: { guest: Guest, idx: number }) {
|
||||||
|
const [response, setResponse] = useState<FormResponse>({
|
||||||
|
attendance: guest.status!
|
||||||
|
});
|
||||||
|
|
||||||
|
const [pendingChanges, setPendingChanges] = useState(false);
|
||||||
|
const [sending, setSending] = useState(false);
|
||||||
|
|
||||||
|
console.log('GuestForm response', response.attendance);
|
||||||
|
|
||||||
|
const attendanceOptions: { name: string, code: GuestStatus }[] = [
|
||||||
|
{
|
||||||
|
name: 'Attending',
|
||||||
|
code: 'confirmed'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Declined',
|
||||||
|
code: 'declined'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Tentative',
|
||||||
|
code: 'tentative'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const api = new AbstractApi<Guest>();
|
||||||
|
const serializer = new GuestSerializer();
|
||||||
|
|
||||||
|
const submitForm = () => {
|
||||||
|
setSending(true);
|
||||||
|
setPendingChanges(false);
|
||||||
|
api.update(serializer, {
|
||||||
|
id: guest.id!,
|
||||||
|
status: response.attendance,
|
||||||
|
}, () => setSending(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={guest.id}
|
||||||
|
className={`px-2 py-6 flex flex-col items-center ${idx !== 0 ? 'border-t border-gray-300' : ''}`}
|
||||||
|
>
|
||||||
|
<h2 className="m-2 text-xl font-semibold">{guest.name}</h2>
|
||||||
|
|
||||||
|
<Dropdown
|
||||||
|
value={response.attendance}
|
||||||
|
options={attendanceOptions}
|
||||||
|
optionLabel="name"
|
||||||
|
optionValue="code"
|
||||||
|
className="rounded-md w-full max-w-xs border border-gray-300"
|
||||||
|
checkmark={true}
|
||||||
|
highlightOnSelect={false}
|
||||||
|
onChange={(e) => {
|
||||||
|
setPendingChanges(true);
|
||||||
|
setResponse({ ...response, attendance: e.value })
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
label="Save"
|
||||||
|
icon="pi pi-save"
|
||||||
|
loading={sending}
|
||||||
|
onClick={submitForm}
|
||||||
|
disabled={!pendingChanges || sending}
|
||||||
|
className="mt-4 max-w-xs"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Page() {
|
||||||
|
const params = useParams<{ slug: string, id: string }>()
|
||||||
|
|
||||||
|
const [invitation, setInvitation] = useState<Invitation>();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
localStorage.setItem('slug', params.slug);
|
||||||
|
|
||||||
|
const api = new AbstractApi<Invitation>();
|
||||||
|
const serializer = new InvitationSerializer();
|
||||||
|
|
||||||
|
api.get(serializer, params.id, (invitation: Invitation) => {
|
||||||
|
setInvitation(invitation);
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col items-center">
|
||||||
|
<h1 className="text-2xl font-bold mb-4">Invitation</h1>
|
||||||
|
{invitation ? (
|
||||||
|
<div>
|
||||||
|
<p>We have reserved {invitation.guests.length} seats in your honor. Please, confirm attendance submitting the following form:</p>
|
||||||
|
{invitation.guests.map((guest, idx) => (
|
||||||
|
<GuestForm key={guest.id} guest={guest} idx={idx} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<p>Loading...</p>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
@ -29,7 +29,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {
|
|||||||
|
|
||||||
<div className="max-w-4xl w-full h-full bg-[#f9f9f7] shadow-lg">
|
<div className="max-w-4xl w-full h-full bg-[#f9f9f7] shadow-lg">
|
||||||
<div
|
<div
|
||||||
className="max-w-4xl lg:m-6 m-3 lg:px-6 px-3 py-24 border-2 border-[#d3d3d1] rounded-xl text-[#958971] flex justify-center"
|
className="max-w-4xl lg:m-6 m-3 lg:px-6 px-3 lg:py-24 py-2 border-2 border-[#d3d3d1] rounded-xl text-[#958971] flex justify-center"
|
||||||
style={{ height: 'calc(100% - 3rem)' }}
|
style={{ height: 'calc(100% - 3rem)' }}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
@ -6,8 +6,16 @@ import { AbstractApi } from '@/app/api/abstract-api';
|
|||||||
import { Website, WebsiteSerializer } from '@/app/lib/website';
|
import { Website, WebsiteSerializer } from '@/app/lib/website';
|
||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import DOMPurify from "dompurify";
|
import DOMPurify from "dompurify";
|
||||||
|
import { useParams } from 'next/navigation';
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
|
const params = useParams<{ slug: string }>()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
localStorage.setItem('slug', params.slug);
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
const [websiteContent, setWebsiteContent] = useState<string>("");
|
const [websiteContent, setWebsiteContent] = useState<string>("");
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ export class AbstractApi<T extends Entity> implements Api<T> {
|
|||||||
body: serializable.toJson(object),
|
body: serializable.toJson(object),
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json',
|
||||||
'X-CSRF-TOKEN': getCsrfToken(),
|
'X-CSRF-TOKEN': getCsrfToken(),
|
||||||
}
|
}
|
||||||
}).then(callback)
|
}).then(callback)
|
||||||
@ -61,6 +62,7 @@ export class AbstractApi<T extends Entity> implements Api<T> {
|
|||||||
body: serializable.toJson(object),
|
body: serializable.toJson(object),
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json',
|
||||||
'X-CSRF-TOKEN': getCsrfToken(),
|
'X-CSRF-TOKEN': getCsrfToken(),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -5,8 +5,9 @@
|
|||||||
import { AbstractApi } from "@/app/api/abstract-api";
|
import { AbstractApi } from "@/app/api/abstract-api";
|
||||||
import { Guest } from "@/app/lib/guest";
|
import { Guest } from "@/app/lib/guest";
|
||||||
import { Invitation, InvitationSerializer } from "@/app/lib/invitation";
|
import { Invitation, InvitationSerializer } from "@/app/lib/invitation";
|
||||||
|
import { getSlug } from "@/app/lib/utils";
|
||||||
import { draggable, dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
import { draggable, dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
||||||
import { TrashIcon } from "@heroicons/react/24/outline";
|
import { LinkIcon, TrashIcon } from "@heroicons/react/24/outline";
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
@ -24,6 +25,8 @@ function InvitationCard({ invitation, allGuests, onGuestAdded, onDestroy }: {
|
|||||||
const api = new AbstractApi<Invitation>();
|
const api = new AbstractApi<Invitation>();
|
||||||
const serializer = new InvitationSerializer();
|
const serializer = new InvitationSerializer();
|
||||||
|
|
||||||
|
const iconClassName = "w-5 h-5 text-white absolute top-2 opacity-0 group-hover:opacity-100 cursor-pointer";
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (ref.current) {
|
if (ref.current) {
|
||||||
return dropTargetForElements({
|
return dropTargetForElements({
|
||||||
@ -53,8 +56,14 @@ function InvitationCard({ invitation, allGuests, onGuestAdded, onDestroy }: {
|
|||||||
className="relative flex items-center justify-center w-full bg-green-800 border border-green-900 group"
|
className="relative flex items-center justify-center w-full bg-green-800 border border-green-900 group"
|
||||||
style={{ aspectRatio: "1.618 / 1" }}
|
style={{ aspectRatio: "1.618 / 1" }}
|
||||||
>
|
>
|
||||||
|
<LinkIcon
|
||||||
|
className={`${iconClassName} right-8`}
|
||||||
|
onClick={() => {
|
||||||
|
navigator.clipboard.writeText(`https://${window.location.host}/${getSlug()}/site/invitation/${invitation.id}`);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
<TrashIcon
|
<TrashIcon
|
||||||
className="w-5 h-5 text-white absolute top-2 right-2 opacity-0 group-hover:opacity-100 cursor-pointer"
|
className={`${iconClassName} right-2`}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (window.confirm("Are you sure you want to delete this invitation?")) {
|
if (window.confirm("Are you sure you want to delete this invitation?")) {
|
||||||
api.destroy(serializer, invitation, () => {
|
api.destroy(serializer, invitation, () => {
|
||||||
@ -64,6 +73,7 @@ function InvitationCard({ invitation, allGuests, onGuestAdded, onDestroy }: {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
{guests.length === 0 ? (
|
{guests.length === 0 ? (
|
||||||
<p className="text-center text-yellow-500 text-lg italic">
|
<p className="text-center text-yellow-500 text-lg italic">
|
||||||
(empty invitation)
|
(empty invitation)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
"postcss": "8.5.4",
|
"postcss": "8.5.4",
|
||||||
"primeicons": "^7.0.0",
|
"primeicons": "^7.0.0",
|
||||||
"primereact": "^10.8.2",
|
"primereact": "^10.8.2",
|
||||||
"react": "19.0.0-rc-f38c22b244-20240704",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.0.0-rc-f38c22b244-20240704",
|
"react-dom": "19.0.0-rc-f38c22b244-20240704",
|
||||||
"tailwindcss": "3.4.17",
|
"tailwindcss": "3.4.17",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.8.3",
|
||||||
@ -33,7 +33,7 @@
|
|||||||
"@playwright/test": "^1.52.0",
|
"@playwright/test": "^1.52.0",
|
||||||
"@types/bcrypt": "^5.0.2",
|
"@types/bcrypt": "^5.0.2",
|
||||||
"@types/node": "22.15.30",
|
"@types/node": "22.15.30",
|
||||||
"@types/react": "18.3.23",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "18.3.7",
|
"@types/react-dom": "18.3.7",
|
||||||
"wait-on": "^8.0.3"
|
"wait-on": "^8.0.3"
|
||||||
},
|
},
|
||||||
|
110
pnpm-lock.yaml
generated
110
pnpm-lock.yaml
generated
@ -13,7 +13,7 @@ importers:
|
|||||||
version: 1.7.2
|
version: 1.7.2
|
||||||
'@heroicons/react':
|
'@heroicons/react':
|
||||||
specifier: ^2.1.4
|
specifier: ^2.1.4
|
||||||
version: 2.2.0(react@19.0.0-rc-f38c22b244-20240704)
|
version: 2.2.0(react@19.1.0)
|
||||||
'@tailwindcss/forms':
|
'@tailwindcss/forms':
|
||||||
specifier: ^0.5.7
|
specifier: ^0.5.7
|
||||||
version: 0.5.10(tailwindcss@3.4.17)
|
version: 0.5.10(tailwindcss@3.4.17)
|
||||||
@ -22,7 +22,7 @@ importers:
|
|||||||
version: 2.14.0
|
version: 2.14.0
|
||||||
'@tiptap/react':
|
'@tiptap/react':
|
||||||
specifier: ^2.14.0
|
specifier: ^2.14.0
|
||||||
version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
|
version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
|
||||||
'@tiptap/starter-kit':
|
'@tiptap/starter-kit':
|
||||||
specifier: ^2.14.0
|
specifier: ^2.14.0
|
||||||
version: 2.14.0
|
version: 2.14.0
|
||||||
@ -40,10 +40,10 @@ importers:
|
|||||||
version: 3.2.6
|
version: 3.2.6
|
||||||
next:
|
next:
|
||||||
specifier: 15.3.3
|
specifier: 15.3.3
|
||||||
version: 15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
|
version: 15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
|
||||||
next-auth:
|
next-auth:
|
||||||
specifier: 5.0.0-beta.28
|
specifier: 5.0.0-beta.28
|
||||||
version: 5.0.0-beta.28(next@15.3.3(@playwright/test@1.52.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)
|
version: 5.0.0-beta.28(next@15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0))(react@19.1.0)
|
||||||
postcss:
|
postcss:
|
||||||
specifier: 8.5.4
|
specifier: 8.5.4
|
||||||
version: 8.5.4
|
version: 8.5.4
|
||||||
@ -52,13 +52,13 @@ importers:
|
|||||||
version: 7.0.0
|
version: 7.0.0
|
||||||
primereact:
|
primereact:
|
||||||
specifier: ^10.8.2
|
specifier: ^10.8.2
|
||||||
version: 10.9.5(@types/react@18.3.23)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
|
version: 10.9.5(@types/react@19.1.8)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
|
||||||
react:
|
react:
|
||||||
specifier: 19.0.0-rc-f38c22b244-20240704
|
specifier: 19.1.0
|
||||||
version: 19.0.0-rc-f38c22b244-20240704
|
version: 19.1.0
|
||||||
react-dom:
|
react-dom:
|
||||||
specifier: 19.0.0-rc-f38c22b244-20240704
|
specifier: 19.0.0-rc-f38c22b244-20240704
|
||||||
version: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
|
version: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: 3.4.17
|
specifier: 3.4.17
|
||||||
version: 3.4.17
|
version: 3.4.17
|
||||||
@ -67,7 +67,7 @@ importers:
|
|||||||
version: 5.8.3
|
version: 5.8.3
|
||||||
use-debounce:
|
use-debounce:
|
||||||
specifier: ^10.0.1
|
specifier: ^10.0.1
|
||||||
version: 10.0.4(react@19.0.0-rc-f38c22b244-20240704)
|
version: 10.0.4(react@19.1.0)
|
||||||
uuid:
|
uuid:
|
||||||
specifier: 11.1.0
|
specifier: 11.1.0
|
||||||
version: 11.1.0
|
version: 11.1.0
|
||||||
@ -85,11 +85,11 @@ importers:
|
|||||||
specifier: 22.15.30
|
specifier: 22.15.30
|
||||||
version: 22.15.30
|
version: 22.15.30
|
||||||
'@types/react':
|
'@types/react':
|
||||||
specifier: 18.3.23
|
specifier: 19.1.8
|
||||||
version: 18.3.23
|
version: 19.1.8
|
||||||
'@types/react-dom':
|
'@types/react-dom':
|
||||||
specifier: 18.3.7
|
specifier: 18.3.7
|
||||||
version: 18.3.7(@types/react@18.3.23)
|
version: 18.3.7(@types/react@19.1.8)
|
||||||
wait-on:
|
wait-on:
|
||||||
specifier: ^8.0.3
|
specifier: ^8.0.3
|
||||||
version: 8.0.3
|
version: 8.0.3
|
||||||
@ -518,9 +518,6 @@ packages:
|
|||||||
'@types/node@22.15.30':
|
'@types/node@22.15.30':
|
||||||
resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==}
|
resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==}
|
||||||
|
|
||||||
'@types/prop-types@15.7.12':
|
|
||||||
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
|
|
||||||
|
|
||||||
'@types/react-dom@18.3.7':
|
'@types/react-dom@18.3.7':
|
||||||
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -531,8 +528,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/react': '*'
|
'@types/react': '*'
|
||||||
|
|
||||||
'@types/react@18.3.23':
|
'@types/react@19.1.8':
|
||||||
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
|
resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
|
||||||
|
|
||||||
'@types/trusted-types@2.0.7':
|
'@types/trusted-types@2.0.7':
|
||||||
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
|
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
|
||||||
@ -1323,8 +1320,8 @@ packages:
|
|||||||
react: '>=16.6.0'
|
react: '>=16.6.0'
|
||||||
react-dom: '>=16.6.0'
|
react-dom: '>=16.6.0'
|
||||||
|
|
||||||
react@19.0.0-rc-f38c22b244-20240704:
|
react@19.1.0:
|
||||||
resolution: {integrity: sha512-OP8O6Oc1rdR9IdIKJRKaL1PYd4eGkn6f88VqiygWyyG4P4RmPPix5pp7MatqSt9TnBOcVT+lBMGoVxRgUFeudQ==}
|
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
read-cache@1.0.0:
|
read-cache@1.0.0:
|
||||||
@ -1596,9 +1593,9 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@hapi/hoek': 9.3.0
|
'@hapi/hoek': 9.3.0
|
||||||
|
|
||||||
'@heroicons/react@2.2.0(react@19.0.0-rc-f38c22b244-20240704)':
|
'@heroicons/react@2.2.0(react@19.1.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.34.1':
|
'@img/sharp-darwin-arm64@0.34.1':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@ -1907,7 +1904,7 @@ snapshots:
|
|||||||
prosemirror-transform: 1.10.4
|
prosemirror-transform: 1.10.4
|
||||||
prosemirror-view: 1.40.0
|
prosemirror-view: 1.40.0
|
||||||
|
|
||||||
'@tiptap/react@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)':
|
'@tiptap/react@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 2.14.0(@tiptap/pm@2.14.0)
|
'@tiptap/core': 2.14.0(@tiptap/pm@2.14.0)
|
||||||
'@tiptap/extension-bubble-menu': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)
|
'@tiptap/extension-bubble-menu': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)
|
||||||
@ -1915,9 +1912,9 @@ snapshots:
|
|||||||
'@tiptap/pm': 2.14.0
|
'@tiptap/pm': 2.14.0
|
||||||
'@types/use-sync-external-store': 0.0.6
|
'@types/use-sync-external-store': 0.0.6
|
||||||
fast-deep-equal: 3.1.3
|
fast-deep-equal: 3.1.3
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
|
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
|
||||||
use-sync-external-store: 1.5.0(react@19.0.0-rc-f38c22b244-20240704)
|
use-sync-external-store: 1.5.0(react@19.1.0)
|
||||||
|
|
||||||
'@tiptap/starter-kit@2.14.0':
|
'@tiptap/starter-kit@2.14.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1960,19 +1957,16 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 6.21.0
|
undici-types: 6.21.0
|
||||||
|
|
||||||
'@types/prop-types@15.7.12': {}
|
'@types/react-dom@18.3.7(@types/react@19.1.8)':
|
||||||
|
|
||||||
'@types/react-dom@18.3.7(@types/react@18.3.23)':
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react': 18.3.23
|
'@types/react': 19.1.8
|
||||||
|
|
||||||
'@types/react-transition-group@4.4.12(@types/react@18.3.23)':
|
'@types/react-transition-group@4.4.12(@types/react@19.1.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react': 18.3.23
|
'@types/react': 19.1.8
|
||||||
|
|
||||||
'@types/react@18.3.23':
|
'@types/react@19.1.8':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/prop-types': 15.7.12
|
|
||||||
csstype: 3.1.3
|
csstype: 3.1.3
|
||||||
|
|
||||||
'@types/trusted-types@2.0.7':
|
'@types/trusted-types@2.0.7':
|
||||||
@ -2461,13 +2455,13 @@ snapshots:
|
|||||||
|
|
||||||
nanoid@3.3.8: {}
|
nanoid@3.3.8: {}
|
||||||
|
|
||||||
next-auth@5.0.0-beta.28(next@15.3.3(@playwright/test@1.52.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-auth@5.0.0-beta.28(next@15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@auth/core': 0.39.1
|
'@auth/core': 0.39.1
|
||||||
next: 15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
|
next: 15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
|
|
||||||
next@15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
|
next@15.3.3(@playwright/test@1.52.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/env': 15.3.3
|
'@next/env': 15.3.3
|
||||||
'@swc/counter': 0.1.3
|
'@swc/counter': 0.1.3
|
||||||
@ -2475,9 +2469,9 @@ snapshots:
|
|||||||
busboy: 1.6.0
|
busboy: 1.6.0
|
||||||
caniuse-lite: 1.0.30001702
|
caniuse-lite: 1.0.30001702
|
||||||
postcss: 8.4.31
|
postcss: 8.4.31
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
|
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
|
||||||
styled-jsx: 5.1.6(react@19.0.0-rc-f38c22b244-20240704)
|
styled-jsx: 5.1.6(react@19.1.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@next/swc-darwin-arm64': 15.3.3
|
'@next/swc-darwin-arm64': 15.3.3
|
||||||
'@next/swc-darwin-x64': 15.3.3
|
'@next/swc-darwin-x64': 15.3.3
|
||||||
@ -2606,14 +2600,14 @@ snapshots:
|
|||||||
|
|
||||||
primeicons@7.0.0: {}
|
primeicons@7.0.0: {}
|
||||||
|
|
||||||
primereact@10.9.5(@types/react@18.3.23)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
|
primereact@10.9.5(@types/react@19.1.8)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react-transition-group': 4.4.12(@types/react@18.3.23)
|
'@types/react-transition-group': 4.4.12(@types/react@19.1.8)
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
|
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
|
||||||
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)
|
react-transition-group: 4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 18.3.23
|
'@types/react': 19.1.8
|
||||||
|
|
||||||
prop-types@15.8.1:
|
prop-types@15.8.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2732,23 +2726,23 @@ snapshots:
|
|||||||
|
|
||||||
raf-schd@4.0.3: {}
|
raf-schd@4.0.3: {}
|
||||||
|
|
||||||
react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704):
|
react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
scheduler: 0.25.0-rc-f38c22b244-20240704
|
scheduler: 0.25.0-rc-f38c22b244-20240704
|
||||||
|
|
||||||
react-is@16.13.1: {}
|
react-is@16.13.1: {}
|
||||||
|
|
||||||
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):
|
react-transition-group@4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.27.6
|
'@babel/runtime': 7.27.6
|
||||||
dom-helpers: 5.2.1
|
dom-helpers: 5.2.1
|
||||||
loose-envify: 1.4.0
|
loose-envify: 1.4.0
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
|
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
|
||||||
|
|
||||||
react@19.0.0-rc-f38c22b244-20240704: {}
|
react@19.1.0: {}
|
||||||
|
|
||||||
read-cache@1.0.0:
|
read-cache@1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2870,10 +2864,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 6.0.1
|
ansi-regex: 6.0.1
|
||||||
|
|
||||||
styled-jsx@5.1.6(react@19.0.0-rc-f38c22b244-20240704):
|
styled-jsx@5.1.6(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
client-only: 0.0.1
|
client-only: 0.0.1
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
|
|
||||||
sucrase@3.35.0:
|
sucrase@3.35.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2957,13 +2951,13 @@ snapshots:
|
|||||||
escalade: 3.2.0
|
escalade: 3.2.0
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
|
|
||||||
use-debounce@10.0.4(react@19.0.0-rc-f38c22b244-20240704):
|
use-debounce@10.0.4(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
|
|
||||||
use-sync-external-store@1.5.0(react@19.0.0-rc-f38c22b244-20240704):
|
use-sync-external-store@1.5.0(react@19.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.0.0-rc-f38c22b244-20240704
|
react: 19.1.0
|
||||||
|
|
||||||
util-deprecate@1.0.2: {}
|
util-deprecate@1.0.2: {}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user