Update language setting and versions in several packages

This commit includes an update of the language setting in the DocsPage and BlogPage functions in the marketing app to make it more dynamic. Additionally, the package versions of next, @makerkit/data-loader-supabase-nextjs, and various Next packages in the Supabase package have been updated.
This commit is contained in:
giancarlo
2024-04-11 13:55:37 +08:00
parent a69688d601
commit 2c7478abff
19 changed files with 105 additions and 88 deletions

View File

@@ -19,7 +19,7 @@ export const generateMetadata = async () => {
}; };
async function BlogPage({ searchParams }: { searchParams: { page: string } }) { async function BlogPage({ searchParams }: { searchParams: { page: string } }) {
const { t } = await createI18nServerInstance(); const { t, resolvedLanguage: language } = await createI18nServerInstance();
const cms = await createCmsClient(); const cms = await createCmsClient();
const page = searchParams.page ? parseInt(searchParams.page) : 0; const page = searchParams.page ? parseInt(searchParams.page) : 0;
@@ -30,6 +30,7 @@ async function BlogPage({ searchParams }: { searchParams: { page: string } }) {
collection: 'posts', collection: 'posts',
limit, limit,
offset, offset,
language,
}); });
return ( return (

View File

@@ -1,12 +1,15 @@
import { Cms, createCmsClient } from '@kit/cms'; import { Cms, createCmsClient } from '@kit/cms';
import { DocsNavigation } from '~/(marketing)/docs/_components/docs-navigation'; import { DocsNavigation } from '~/(marketing)/docs/_components/docs-navigation';
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
async function DocsLayout({ children }: React.PropsWithChildren) { async function DocsLayout({ children }: React.PropsWithChildren) {
const cms = await createCmsClient(); const cms = await createCmsClient();
const { resolvedLanguage } = await createI18nServerInstance();
const { items: pages } = await cms.getContentItems({ const { items: pages } = await cms.getContentItems({
collection: 'documentation', collection: 'documentation',
language: resolvedLanguage,
}); });
return ( return (

View File

@@ -16,10 +16,11 @@ export const generateMetadata = async () => {
async function DocsPage() { async function DocsPage() {
const client = await createCmsClient(); const client = await createCmsClient();
const { t } = await createI18nServerInstance(); const { t, resolvedLanguage } = await createI18nServerInstance();
const { items } = await client.getContentItems({ const { items } = await client.getContentItems({
collection: 'documentation', collection: 'documentation',
language: resolvedLanguage,
}); });
// Filter out any docs that have a parentId, as these are children of other docs // Filter out any docs that have a parentId, as these are children of other docs

View File

@@ -57,7 +57,7 @@
"i18next": "^23.11.0", "i18next": "^23.11.0",
"i18next-resources-to-backend": "^1.2.0", "i18next-resources-to-backend": "^1.2.0",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"next-sitemap": "^4.2.3", "next-sitemap": "^4.2.3",
"next-themes": "0.3.0", "next-themes": "0.3.0",
"react": "18.2.0", "react": "18.2.0",

View File

@@ -45,7 +45,7 @@
"@types/react": "^18.2.75", "@types/react": "^18.2.75",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"react": "18.2.0", "react": "18.2.0",
"react-hook-form": "^7.51.2", "react-hook-form": "^7.51.2",
"react-i18next": "^14.1.0", "react-i18next": "^14.1.0",

View File

@@ -35,6 +35,7 @@ export namespace Cms {
categories?: string[]; categories?: string[];
tags?: string[]; tags?: string[];
parentIds?: string[]; parentIds?: string[];
language?: string | undefined;
} }
export interface GetCategoriesOptions { export interface GetCategoriesOptions {

View File

@@ -23,7 +23,7 @@ export class KeystaticClient implements CmsClient {
const endOffset = startOffset + (options?.limit ?? 10); const endOffset = startOffset + (options?.limit ?? 10);
const filtered = docs.filter((item) => { const filtered = docs.filter((item) => {
const categoryMatch = options?.categories const categoryMatch = options?.categories?.length
? options.categories.find((category) => ? options.categories.find((category) =>
item.entry.categories.includes(category), item.entry.categories.includes(category),
) )
@@ -33,7 +33,13 @@ export class KeystaticClient implements CmsClient {
return false; return false;
} }
const tagMatch = options?.tags if (options.language) {
if (item.entry.language && item.entry.language !== options.language) {
return false;
}
}
const tagMatch = options?.tags?.length
? options.tags.find((tag) => item.entry.tags.includes(tag)) ? options.tags.find((tag) => item.entry.tags.includes(tag))
: true; : true;

View File

@@ -31,6 +31,7 @@ function createKeyStaticConfig(path: string) {
label: 'Parent', label: 'Parent',
collection: 'posts', collection: 'posts',
}), }),
language: fields.text({ label: 'Language' }),
order: fields.number({ label: 'Order' }), order: fields.number({ label: 'Order' }),
content: fields.document({ content: fields.document({
label: 'Content', label: 'Content',
@@ -83,6 +84,7 @@ function createKeyStaticConfig(path: string) {
description: fields.text({ label: 'Description' }), description: fields.text({ label: 'Description' }),
publishedAt: fields.date({ label: 'Published At' }), publishedAt: fields.date({ label: 'Published At' }),
order: fields.number({ label: 'Order' }), order: fields.number({ label: 'Order' }),
language: fields.text({ label: 'Language' }),
parent: fields.relationship({ parent: fields.relationship({
label: 'Parent', label: 'Parent',
collection: 'documentation', collection: 'documentation',

View File

@@ -54,8 +54,13 @@ export class WordpressClient implements CmsClient {
} }
if (options?.tags) { if (options?.tags) {
const ids = await this.getCategories({ const allTags = [
slugs: options.tags, ...options.tags,
options.language ? options.language : '',
].filter(Boolean);
const ids = await this.getTags({
slugs: allTags,
}).then((tags) => tags.map((tag) => tag.id)); }).then((tags) => tags.map((tag) => tag.id));
if (ids.length) { if (ids.length) {

View File

@@ -35,7 +35,7 @@
"@types/react": "^18.2.75", "@types/react": "^18.2.75",
"@types/react-dom": "^18.2.22", "@types/react-dom": "^18.2.22",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"next-themes": "0.3.0", "next-themes": "0.3.0",
"react": "18.2.0", "react": "18.2.0",
"react-dom": "18.2.0", "react-dom": "18.2.0",

View File

@@ -40,7 +40,7 @@
"@tanstack/react-table": "^8.15.3", "@tanstack/react-table": "^8.15.3",
"@types/react": "^18.2.75", "@types/react": "^18.2.75",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"react": "18.2.0", "react": "18.2.0",
"react-hook-form": "^7.51.2", "react-hook-form": "^7.51.2",
"zod": "^3.22.4" "zod": "^3.22.4"

View File

@@ -5,13 +5,11 @@ import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-clie
import { isSuperAdmin } from './is-super-admin'; import { isSuperAdmin } from './is-super-admin';
/** /**
* @name enhanceAdminAction * @name adminAction
* @description Wrap a server action to ensure the user is a super admin. * @description Wrap a server action to ensure the user is a super admin.
* @param fn * @param fn
*/ */
export function enhanceAdminAction<Args, Response>( export function adminAction<Args, Response>(fn: (params: Args) => Response) {
fn: (params: Args) => Response,
) {
return async (params: Args) => { return async (params: Args) => {
const isAdmin = await isSuperAdmin(getSupabaseServerActionClient()); const isAdmin = await isSuperAdmin(getSupabaseServerActionClient());

View File

@@ -6,7 +6,7 @@ import { redirect } from 'next/navigation';
import { enhanceAction } from '@kit/next/actions'; import { enhanceAction } from '@kit/next/actions';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client'; import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
import { enhanceAdminAction } from './enhance-admin-action'; import { adminAction } from './admin-action';
import { import {
BanUserSchema, BanUserSchema,
DeleteAccountSchema, DeleteAccountSchema,
@@ -21,7 +21,7 @@ import { AdminAuthUserService } from './services/admin-auth-user.service';
* @name banUserAction * @name banUserAction
* @description Ban a user from the system. * @description Ban a user from the system.
*/ */
export const banUserAction = enhanceAdminAction( export const banUserAction = adminAction(
enhanceAction( enhanceAction(
async ({ userId }) => { async ({ userId }) => {
const service = getAdminAuthService(); const service = getAdminAuthService();
@@ -44,7 +44,7 @@ export const banUserAction = enhanceAdminAction(
* @name reactivateUserAction * @name reactivateUserAction
* @description Reactivate a user in the system. * @description Reactivate a user in the system.
*/ */
export const reactivateUserAction = enhanceAdminAction( export const reactivateUserAction = adminAction(
enhanceAction( enhanceAction(
async ({ userId }) => { async ({ userId }) => {
const service = getAdminAuthService(); const service = getAdminAuthService();
@@ -67,7 +67,7 @@ export const reactivateUserAction = enhanceAdminAction(
* @name impersonateUserAction * @name impersonateUserAction
* @description Impersonate a user in the system. * @description Impersonate a user in the system.
*/ */
export const impersonateUserAction = enhanceAdminAction( export const impersonateUserAction = adminAction(
enhanceAction( enhanceAction(
async ({ userId }) => { async ({ userId }) => {
const service = getAdminAuthService(); const service = getAdminAuthService();
@@ -84,7 +84,7 @@ export const impersonateUserAction = enhanceAdminAction(
* @name deleteUserAction * @name deleteUserAction
* @description Delete a user from the system. * @description Delete a user from the system.
*/ */
export const deleteUserAction = enhanceAdminAction( export const deleteUserAction = adminAction(
enhanceAction( enhanceAction(
async ({ userId }) => { async ({ userId }) => {
const service = getAdminAuthService(); const service = getAdminAuthService();
@@ -105,7 +105,7 @@ export const deleteUserAction = enhanceAdminAction(
* @name deleteAccountAction * @name deleteAccountAction
* @description Delete an account from the system. * @description Delete an account from the system.
*/ */
export const deleteAccountAction = enhanceAdminAction( export const deleteAccountAction = adminAction(
enhanceAction( enhanceAction(
async ({ accountId }) => { async ({ accountId }) => {
const service = getAdminAccountsService(); const service = getAdminAccountsService();

View File

@@ -32,7 +32,7 @@
"@tanstack/react-query": "5.28.6", "@tanstack/react-query": "5.28.6",
"@types/react": "^18.2.75", "@types/react": "^18.2.75",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"react-hook-form": "^7.51.2", "react-hook-form": "^7.51.2",
"react-i18next": "^14.1.0", "react-i18next": "^14.1.0",
"sonner": "^1.4.41", "sonner": "^1.4.41",

View File

@@ -36,7 +36,7 @@
"class-variance-authority": "^0.7.0", "class-variance-authority": "^0.7.0",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"react": "18.2.0", "react": "18.2.0",
"react-dom": "18.2.0", "react-dom": "18.2.0",
"react-hook-form": "^7.51.2", "react-hook-form": "^7.51.2",

View File

@@ -28,7 +28,7 @@
"@kit/tailwind-config": "workspace:*", "@kit/tailwind-config": "workspace:*",
"@kit/tsconfig": "workspace:*", "@kit/tsconfig": "workspace:*",
"@supabase/supabase-js": "^2.42.0", "@supabase/supabase-js": "^2.42.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"zod": "^3.22.4" "zod": "^3.22.4"
}, },
"eslintConfig": { "eslintConfig": {

View File

@@ -33,7 +33,7 @@
"@supabase/supabase-js": "^2.42.0", "@supabase/supabase-js": "^2.42.0",
"@tanstack/react-query": "5.28.6", "@tanstack/react-query": "5.28.6",
"@types/react": "^18.2.75", "@types/react": "^18.2.75",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"react": "18.2.0", "react": "18.2.0",
"zod": "^3.22.4" "zod": "^3.22.4"
}, },

View File

@@ -59,7 +59,7 @@
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"lucide-react": "^0.363.0", "lucide-react": "^0.363.0",
"next": "14.2.0-canary.64", "next": "14.2.0-canary.65",
"next-themes": "0.3.0", "next-themes": "0.3.0",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"react-day-picker": "^8.10.0", "react-day-picker": "^8.10.0",

126
pnpm-lock.yaml generated
View File

@@ -94,7 +94,7 @@ importers:
version: 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0) version: 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)
'@makerkit/data-loader-supabase-nextjs': '@makerkit/data-loader-supabase-nextjs':
specifier: ^0.0.9 specifier: ^0.0.9
version: 0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.64)(react@18.2.0)(swr@2.2.5) version: 0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.65)(react@18.2.0)(swr@2.2.5)
'@marsidev/react-turnstile': '@marsidev/react-turnstile':
specifier: ^0.5.4 specifier: ^0.5.4
version: 0.5.4(react-dom@18.2.0)(react@18.2.0) version: 0.5.4(react-dom@18.2.0)(react@18.2.0)
@@ -109,7 +109,7 @@ importers:
version: 5.28.6(react@18.2.0) version: 5.28.6(react@18.2.0)
'@tanstack/react-query-next-experimental': '@tanstack/react-query-next-experimental':
specifier: ^5.29.0 specifier: ^5.29.0
version: 5.29.0(@tanstack/react-query@5.28.6)(next@14.2.0-canary.64)(react@18.2.0) version: 5.29.0(@tanstack/react-query@5.28.6)(next@14.2.0-canary.65)(react@18.2.0)
'@tanstack/react-table': '@tanstack/react-table':
specifier: ^8.15.3 specifier: ^8.15.3
version: 8.15.3(react-dom@18.2.0)(react@18.2.0) version: 8.15.3(react-dom@18.2.0)(react@18.2.0)
@@ -118,7 +118,7 @@ importers:
version: 3.6.0 version: 3.6.0
edge-csrf: edge-csrf:
specifier: ^1.0.9 specifier: ^1.0.9
version: 1.0.9(next@14.2.0-canary.64) version: 1.0.9(next@14.2.0-canary.65)
i18next: i18next:
specifier: ^23.11.0 specifier: ^23.11.0
version: 23.11.0 version: 23.11.0
@@ -129,11 +129,11 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
next-sitemap: next-sitemap:
specifier: ^4.2.3 specifier: ^4.2.3
version: 4.2.3(next@14.2.0-canary.64) version: 4.2.3(next@14.2.0-canary.65)
next-themes: next-themes:
specifier: 0.3.0 specifier: 0.3.0
version: 0.3.0(react-dom@18.2.0)(react@18.2.0) version: 0.3.0(react-dom@18.2.0)(react@18.2.0)
@@ -283,8 +283,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: react:
specifier: 18.2.0 specifier: 18.2.0
version: 18.2.0 version: 18.2.0
@@ -579,8 +579,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
next-themes: next-themes:
specifier: 0.3.0 specifier: 0.3.0
version: 0.3.0(react-dom@18.2.0)(react@18.2.0) version: 0.3.0(react-dom@18.2.0)(react@18.2.0)
@@ -634,7 +634,7 @@ importers:
version: 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0) version: 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)
'@makerkit/data-loader-supabase-nextjs': '@makerkit/data-loader-supabase-nextjs':
specifier: ^0.0.9 specifier: ^0.0.9
version: 0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.64)(react@18.2.0)(swr@2.2.5) version: 0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.65)(react@18.2.0)(swr@2.2.5)
'@supabase/supabase-js': '@supabase/supabase-js':
specifier: ^2.42.0 specifier: ^2.42.0
version: 2.42.0 version: 2.42.0
@@ -651,8 +651,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: react:
specifier: 18.2.0 specifier: 18.2.0
version: 18.2.0 version: 18.2.0
@@ -708,8 +708,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react-hook-form: react-hook-form:
specifier: ^7.51.2 specifier: ^7.51.2
version: 7.51.2(react@18.2.0) version: 7.51.2(react@18.2.0)
@@ -790,8 +790,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: react:
specifier: 18.2.0 specifier: 18.2.0
version: 18.2.0 version: 18.2.0
@@ -964,8 +964,8 @@ importers:
specifier: ^2.42.0 specifier: ^2.42.0
version: 2.42.0 version: 2.42.0
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
zod: zod:
specifier: ^3.22.4 specifier: ^3.22.4
version: 3.22.4 version: 3.22.4
@@ -1022,8 +1022,8 @@ importers:
specifier: ^18.2.75 specifier: ^18.2.75
version: 18.2.75 version: 18.2.75
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: react:
specifier: 18.2.0 specifier: 18.2.0
version: 18.2.0 version: 18.2.0
@@ -1140,8 +1140,8 @@ importers:
specifier: ^0.363.0 specifier: ^0.363.0
version: 0.363.0(react@18.2.0) version: 0.363.0(react@18.2.0)
next: next:
specifier: 14.2.0-canary.64 specifier: 14.2.0-canary.65
version: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) version: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
next-themes: next-themes:
specifier: 0.3.0 specifier: 0.3.0
version: 0.3.0(react-dom@18.2.0)(react@18.2.0) version: 0.3.0(react-dom@18.2.0)(react@18.2.0)
@@ -2366,7 +2366,7 @@ packages:
'@supabase/supabase-js': 2.42.0 '@supabase/supabase-js': 2.42.0
ts-case-convert: 2.0.7 ts-case-convert: 2.0.7
/@makerkit/data-loader-supabase-nextjs@0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.64)(react@18.2.0)(swr@2.2.5): /@makerkit/data-loader-supabase-nextjs@0.0.9(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)(next@14.2.0-canary.65)(react@18.2.0)(swr@2.2.5):
resolution: {integrity: sha512-FNn0Z3zlV0W6+GVoWAkokMC4Mzx29lByCGbYBi9F11VBkmxuEH8i4KbYYbImW+r8uvs6sdth+cqjx6Jo+VuTCw==} resolution: {integrity: sha512-FNn0Z3zlV0W6+GVoWAkokMC4Mzx29lByCGbYBi9F11VBkmxuEH8i4KbYYbImW+r8uvs6sdth+cqjx6Jo+VuTCw==}
peerDependencies: peerDependencies:
'@supabase/supabase-js': '>=2.0.0' '@supabase/supabase-js': '>=2.0.0'
@@ -2376,7 +2376,7 @@ packages:
dependencies: dependencies:
'@makerkit/data-loader-supabase-core': 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0) '@makerkit/data-loader-supabase-core': 0.0.7(@supabase/postgrest-js@1.15.0)(@supabase/supabase-js@2.42.0)
'@supabase/supabase-js': 2.42.0 '@supabase/supabase-js': 2.42.0
next: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) next: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
swr: 2.2.5(react@18.2.0) swr: 2.2.5(react@18.2.0)
transitivePeerDependencies: transitivePeerDependencies:
@@ -2477,8 +2477,8 @@ packages:
resolution: {integrity: sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ==} resolution: {integrity: sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ==}
dev: false dev: false
/@next/env@14.2.0-canary.64: /@next/env@14.2.0-canary.65:
resolution: {integrity: sha512-+wcKyLnzLw4Li5EOlDr0I4Y+KwjStwqaQ9i/sCv8ZnZSaOisRDh8CwjBBnZoxTwVwUk3u/5Gj8EuNsLhfHHUPQ==} resolution: {integrity: sha512-rV3RAowh7nxYHG1LvhUk9VBIGpdu9nJ55GSX/cZOP2+qR/4U0qhGLFaGtIv3iFigiZED7YuIAdCS9+5UKWSf0w==}
/@next/eslint-plugin-next@14.1.4: /@next/eslint-plugin-next@14.1.4:
resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==} resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==}
@@ -2504,8 +2504,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-darwin-arm64@14.2.0-canary.64: /@next/swc-darwin-arm64@14.2.0-canary.65:
resolution: {integrity: sha512-TFGdehG97x0EAU0nUsoNAZ1/qRB7E00X7b9xlO9X8FpEFXNFRmvOf0dK3FR6lOy18DM8oU59kKurDTXt3LwhXw==} resolution: {integrity: sha512-AXB/+LyWjYDIZW6ejxDbsBZo6bfC/gA7257lcqtcZgGFwW0v65FwcQzpYid0sxWi2wfAOFBGvfqSODVAblyMRg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
@@ -2530,8 +2530,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-darwin-x64@14.2.0-canary.64: /@next/swc-darwin-x64@14.2.0-canary.65:
resolution: {integrity: sha512-dxRGpOIwCeA0Vr7/q7lIpQDN7caDc/ax6pc3IRlxCU7MBoepTuCUweIM0cUrjBw1/zHNPvm/W7dxIAglVwqRmQ==} resolution: {integrity: sha512-OabDpl+uwe0mQYDNw5vbsu1ZyDEnK6w3yo09SS1Kyo8d8yDeWFKAZEZ4AZY2aumcWCXSPPZ2iDAo/l0zIKFIkQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
@@ -2556,8 +2556,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-arm64-gnu@14.2.0-canary.64: /@next/swc-linux-arm64-gnu@14.2.0-canary.65:
resolution: {integrity: sha512-26RmJj3ETjdq4PL9yQ28nzpMaa7cZPeHqwNm3EuWSIcH0Ybs2S8wJHUWWYMyUXciyn+pMSNNkmzDwb2asmEoug==} resolution: {integrity: sha512-1dZvO6vlLobtfdtd3xlh7Jt4/dzU+FjdBpSIlTZl4z0R4RIO/UTOowSuRGP7Eruxu8GbJwlLn7yOhBIRFKaxlQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@@ -2582,8 +2582,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-arm64-musl@14.2.0-canary.64: /@next/swc-linux-arm64-musl@14.2.0-canary.65:
resolution: {integrity: sha512-GO3HlEglhPOb6W/3skJGZZEfTjLKV5U5qeRp40/bcWbExCMSWPZhja5aGCEdozCxVDr7R+IqBlSNW0yrKJzBOg==} resolution: {integrity: sha512-l8lgH66NBglvJ6ONDtfoYWZDwm6VpGTBwiJuWHmFUEIEPl5AarCwR3KGgl7cALBCj5sasXfcYPKb0CTrwShVMw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
@@ -2608,8 +2608,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-x64-gnu@14.2.0-canary.64: /@next/swc-linux-x64-gnu@14.2.0-canary.65:
resolution: {integrity: sha512-lxM3AIQd/cz9GQlXBqML9DdYj4jM3x9QgoD79WegriJ6Zb1KaHsUexOcG29BpPQub9MNm+X9RrvWcvWSfRQPJg==} resolution: {integrity: sha512-V1g3XD6ecxHUtUG38xnS1Iyv9MMapD/ixWa+ujpH+vJT7mduLVSZX+yzzxJ4gP4CaIXlfzS35HCzfA8S/VFeTA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@@ -2634,8 +2634,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-linux-x64-musl@14.2.0-canary.64: /@next/swc-linux-x64-musl@14.2.0-canary.65:
resolution: {integrity: sha512-vG66fQz+BlQUuc8LEqyfW/1JrLnmBMsp3NXcjCFBF4BD19eDOXeyponOpfsZYNnPf9Ex8wWauy3lhowk4levUg==} resolution: {integrity: sha512-8QEny7bJ0PqBKlkdnM5VEJoL81iiC7vJd4z43iPoUAPJ+kWuaWxKtnPKC3QEPP1TyNmr5xc2EQ/AeJePJDeJFg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
@@ -2660,8 +2660,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-arm64-msvc@14.2.0-canary.64: /@next/swc-win32-arm64-msvc@14.2.0-canary.65:
resolution: {integrity: sha512-lXgX67oanH+Ek6/V3iUX/B/u057jyszYON8rdWYBYnCl+Z4MYiLh3FgBDWXoKLE1Xqp53ILPTLrP07c3TfhtCg==} resolution: {integrity: sha512-TlZNesjSfKr8VAWbX/QhzuuvKSBm2wRKutSeGX4/yAb1svGuIVmvKHlLg+f1MXcrJ/c1ioWZBuJ97aVL2vYKFQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
@@ -2686,8 +2686,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-ia32-msvc@14.2.0-canary.64: /@next/swc-win32-ia32-msvc@14.2.0-canary.65:
resolution: {integrity: sha512-5Cx33kU7zcJg0GZD7fJOfmePyfwt414Tnf45VjQYuaMytFFp+zcxAu/1TLLYziHQ/+p5JW9zodfLGnkNbMZeDg==} resolution: {integrity: sha512-wIhPgGpobT0t68bVZhscwqgx+fmzlJmeLbQ1f0lK4O3oVnaa/MkPv/K6Jq/hEMzgivztupKqAS9bC09IEqSYkA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
@@ -2712,8 +2712,8 @@ packages:
dev: false dev: false
optional: true optional: true
/@next/swc-win32-x64-msvc@14.2.0-canary.64: /@next/swc-win32-x64-msvc@14.2.0-canary.65:
resolution: {integrity: sha512-l0qkK2hTcN1t3z6KOlTOEQV1xqtu2IuqvjOJpcMtZGS6Z4deSkw1vKzwvz3AQMs6xStOcQBujd7lfRscE76hUg==} resolution: {integrity: sha512-eZwJHdSMrfvkWHD1VFP0lMWWHQ971E+V2HHr8zW3nyV3XRmmA3zChB+w4sA+aFH+ypaknPI6IdEkNtjQ7ezFtQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@@ -6628,7 +6628,7 @@ packages:
/@tanstack/query-core@5.28.6: /@tanstack/query-core@5.28.6:
resolution: {integrity: sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==} resolution: {integrity: sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==}
/@tanstack/react-query-next-experimental@5.29.0(@tanstack/react-query@5.28.6)(next@14.2.0-canary.64)(react@18.2.0): /@tanstack/react-query-next-experimental@5.29.0(@tanstack/react-query@5.28.6)(next@14.2.0-canary.65)(react@18.2.0):
resolution: {integrity: sha512-PgzDSM7m1ppEsLm2uPw/Tnv8PfFDi/c5CfP2UyJq9eRZu3J50l7bHt3v6W6QaAZdJUPxum8uS9zpKx+OdgkpVA==} resolution: {integrity: sha512-PgzDSM7m1ppEsLm2uPw/Tnv8PfFDi/c5CfP2UyJq9eRZu3J50l7bHt3v6W6QaAZdJUPxum8uS9zpKx+OdgkpVA==}
peerDependencies: peerDependencies:
'@tanstack/react-query': ^5.29.0 '@tanstack/react-query': ^5.29.0
@@ -6636,7 +6636,7 @@ packages:
react: ^18.0.0 react: ^18.0.0
dependencies: dependencies:
'@tanstack/react-query': 5.28.6(react@18.2.0) '@tanstack/react-query': 5.28.6(react@18.2.0)
next: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) next: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0 react: 18.2.0
dev: false dev: false
@@ -8512,12 +8512,12 @@ packages:
/eastasianwidth@0.2.0: /eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
/edge-csrf@1.0.9(next@14.2.0-canary.64): /edge-csrf@1.0.9(next@14.2.0-canary.65):
resolution: {integrity: sha512-3F89YTh42UDdISr3s9AEcgJDLi4ysgjGfnybzF0LuZGaG2W31h1ZwgWwEQBLMj04lAklcP4XHZYi7vk9o8zcbg==} resolution: {integrity: sha512-3F89YTh42UDdISr3s9AEcgJDLi4ysgjGfnybzF0LuZGaG2W31h1ZwgWwEQBLMj04lAklcP4XHZYi7vk9o8zcbg==}
peerDependencies: peerDependencies:
next: ^13.0.0 || ^14.0.0 next: ^13.0.0 || ^14.0.0
dependencies: dependencies:
next: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) next: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
dev: false dev: false
/editorconfig@1.0.4: /editorconfig@1.0.4:
@@ -11176,7 +11176,7 @@ packages:
engines: {node: '>= 0.4.0'} engines: {node: '>= 0.4.0'}
dev: false dev: false
/next-sitemap@4.2.3(next@14.2.0-canary.64): /next-sitemap@4.2.3(next@14.2.0-canary.65):
resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==} resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
engines: {node: '>=14.18'} engines: {node: '>=14.18'}
hasBin: true hasBin: true
@@ -11187,7 +11187,7 @@ packages:
'@next/env': 13.5.6 '@next/env': 13.5.6
fast-glob: 3.3.2 fast-glob: 3.3.2
minimist: 1.2.8 minimist: 1.2.8
next: 14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0) next: 14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0)
dev: false dev: false
/next-themes@0.3.0(react-dom@18.2.0)(react@18.2.0): /next-themes@0.3.0(react-dom@18.2.0)(react@18.2.0):
@@ -11278,8 +11278,8 @@ packages:
- babel-plugin-macros - babel-plugin-macros
dev: false dev: false
/next@14.2.0-canary.64(react-dom@18.2.0)(react@18.2.0): /next@14.2.0-canary.65(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-VoyjSuui2SactVw3yizNg4eM6ts803mrFm+i1nXCgb3bK4w6zb5GA/WKv5NZrOg50+EAhLjj3NEsFc0hMRp1Cw==} resolution: {integrity: sha512-cB0/5sZEKMLU2IzyONSkrY8pQqFlQfTlvvLdcgT80c86E2672nz0RBnGoAydxVw7U8Lk/NKbbQ6gZ4OrAK8blA==}
engines: {node: '>=18.17.0'} engines: {node: '>=18.17.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -11296,7 +11296,7 @@ packages:
sass: sass:
optional: true optional: true
dependencies: dependencies:
'@next/env': 14.2.0-canary.64 '@next/env': 14.2.0-canary.65
'@swc/helpers': 0.5.5 '@swc/helpers': 0.5.5
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001607 caniuse-lite: 1.0.30001607
@@ -11306,15 +11306,15 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
styled-jsx: 5.1.1(react@18.2.0) styled-jsx: 5.1.1(react@18.2.0)
optionalDependencies: optionalDependencies:
'@next/swc-darwin-arm64': 14.2.0-canary.64 '@next/swc-darwin-arm64': 14.2.0-canary.65
'@next/swc-darwin-x64': 14.2.0-canary.64 '@next/swc-darwin-x64': 14.2.0-canary.65
'@next/swc-linux-arm64-gnu': 14.2.0-canary.64 '@next/swc-linux-arm64-gnu': 14.2.0-canary.65
'@next/swc-linux-arm64-musl': 14.2.0-canary.64 '@next/swc-linux-arm64-musl': 14.2.0-canary.65
'@next/swc-linux-x64-gnu': 14.2.0-canary.64 '@next/swc-linux-x64-gnu': 14.2.0-canary.65
'@next/swc-linux-x64-musl': 14.2.0-canary.64 '@next/swc-linux-x64-musl': 14.2.0-canary.65
'@next/swc-win32-arm64-msvc': 14.2.0-canary.64 '@next/swc-win32-arm64-msvc': 14.2.0-canary.65
'@next/swc-win32-ia32-msvc': 14.2.0-canary.64 '@next/swc-win32-ia32-msvc': 14.2.0-canary.65
'@next/swc-win32-x64-msvc': 14.2.0-canary.64 '@next/swc-win32-x64-msvc': 14.2.0-canary.65
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- babel-plugin-macros - babel-plugin-macros