Rename component files and update code dependencies
Numerous component files have been renamed for better organization and readability. This includes changing 'app' to 'account-layout' in various instances and 'organization' to 'team' to ensure consistency across code. Additionally, dependencies within codes have been updated in line with the renaming. The pull request also includes a minor update to the pnpm-lock file, reflecting the latest version of Next.js.
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
import { PageHeader } from '@kit/ui/page';
|
||||||
|
|
||||||
|
import UserLayoutMobileNavigation from './user-layout-mobile-navigation';
|
||||||
|
|
||||||
|
export function UserAccountHeader(
|
||||||
|
props: React.PropsWithChildren<{
|
||||||
|
title: string | React.ReactNode;
|
||||||
|
description?: string | React.ReactNode;
|
||||||
|
}>,
|
||||||
|
) {
|
||||||
|
return (
|
||||||
|
<PageHeader
|
||||||
|
title={props.title}
|
||||||
|
description={props.description}
|
||||||
|
mobileNavigation={<UserLayoutMobileNavigation />}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
|
import { LogOut, Menu } from 'lucide-react';
|
||||||
|
|
||||||
|
import { useSignOut } from '@kit/supabase/hooks/use-sign-out';
|
||||||
|
import {
|
||||||
|
DropdownMenu,
|
||||||
|
DropdownMenuContent,
|
||||||
|
DropdownMenuItem,
|
||||||
|
DropdownMenuSeparator,
|
||||||
|
DropdownMenuTrigger,
|
||||||
|
} from '@kit/ui/dropdown-menu';
|
||||||
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { personalAccountSidebarConfig } from '~/config/personal-account-sidebar.config';
|
||||||
|
|
||||||
|
export function UserLayoutMobileNavigation() {
|
||||||
|
const signOut = useSignOut();
|
||||||
|
|
||||||
|
const Links = personalAccountSidebarConfig.routes.map((item, index) => {
|
||||||
|
if ('children' in item) {
|
||||||
|
return item.children.map((child) => {
|
||||||
|
return (
|
||||||
|
<DropdownLink
|
||||||
|
key={child.path}
|
||||||
|
Icon={child.Icon}
|
||||||
|
path={child.path}
|
||||||
|
label={child.label}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('divider' in item) {
|
||||||
|
return <DropdownMenuSeparator key={index} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DropdownLink
|
||||||
|
key={item.path}
|
||||||
|
Icon={item.Icon}
|
||||||
|
path={item.path}
|
||||||
|
label={item.label}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DropdownMenu>
|
||||||
|
<DropdownMenuTrigger>
|
||||||
|
<Menu className={'h-9'} />
|
||||||
|
</DropdownMenuTrigger>
|
||||||
|
|
||||||
|
<DropdownMenuContent sideOffset={10} className={'w-screen rounded-none'}>
|
||||||
|
{Links}
|
||||||
|
|
||||||
|
<DropdownMenuSeparator />
|
||||||
|
|
||||||
|
<SignOutDropdownItem onSignOut={() => signOut.mutateAsync()} />
|
||||||
|
</DropdownMenuContent>
|
||||||
|
</DropdownMenu>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default UserLayoutMobileNavigation;
|
||||||
|
|
||||||
|
function DropdownLink(
|
||||||
|
props: React.PropsWithChildren<{
|
||||||
|
path: string;
|
||||||
|
label: string;
|
||||||
|
Icon: React.ReactNode;
|
||||||
|
}>,
|
||||||
|
) {
|
||||||
|
return (
|
||||||
|
<DropdownMenuItem asChild key={props.path}>
|
||||||
|
<Link
|
||||||
|
href={props.path}
|
||||||
|
className={'flex h-12 w-full items-center space-x-4'}
|
||||||
|
>
|
||||||
|
{props.Icon}
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<Trans i18nKey={props.label} defaults={props.label} />
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function SignOutDropdownItem(
|
||||||
|
props: React.PropsWithChildren<{
|
||||||
|
onSignOut: () => unknown;
|
||||||
|
}>,
|
||||||
|
) {
|
||||||
|
return (
|
||||||
|
<DropdownMenuItem
|
||||||
|
className={'flex h-12 w-full items-center space-x-4'}
|
||||||
|
onClick={props.onSignOut}
|
||||||
|
>
|
||||||
|
<LogOut className={'h-6'} />
|
||||||
|
|
||||||
|
<span>
|
||||||
|
<Trans i18nKey={'common:signOut'} defaults={'Sign out'} />
|
||||||
|
</span>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -7,9 +7,10 @@ import {
|
|||||||
import { Database } from '@kit/supabase/database';
|
import { Database } from '@kit/supabase/database';
|
||||||
import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client';
|
import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client';
|
||||||
import { If } from '@kit/ui/if';
|
import { If } from '@kit/ui/if';
|
||||||
import { PageBody, PageHeader } from '@kit/ui/page';
|
import { PageBody } from '@kit/ui/page';
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { UserAccountHeader } from '~/(dashboard)/home/(user)/_components/user-account-header';
|
||||||
import { createPersonalAccountBillingPortalSession } from '~/(dashboard)/home/(user)/billing/server-actions';
|
import { createPersonalAccountBillingPortalSession } from '~/(dashboard)/home/(user)/billing/server-actions';
|
||||||
import billingConfig from '~/config/billing.config';
|
import billingConfig from '~/config/billing.config';
|
||||||
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
||||||
@@ -34,7 +35,7 @@ async function PersonalAccountBillingPage() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageHeader
|
<UserAccountHeader
|
||||||
title={<Trans i18nKey={'common:billingTabLabel'} />}
|
title={<Trans i18nKey={'common:billingTabLabel'} />}
|
||||||
description={<Trans i18nKey={'common:billingTabDescription'} />}
|
description={<Trans i18nKey={'common:billingTabDescription'} />}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { PageBody, PageHeader } from '@kit/ui/page';
|
import { PageBody } from '@kit/ui/page';
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { UserAccountHeader } from '~/(dashboard)/home/(user)/_components/user-account-header';
|
||||||
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
||||||
import { withI18n } from '~/lib/i18n/with-i18n';
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
||||||
|
|
||||||
@@ -16,7 +17,7 @@ export const generateMetadata = async () => {
|
|||||||
function UserHomePage() {
|
function UserHomePage() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageHeader
|
<UserAccountHeader
|
||||||
title={<Trans i18nKey={'common:homeTabLabel'} defaults={'Home'} />}
|
title={<Trans i18nKey={'common:homeTabLabel'} defaults={'Home'} />}
|
||||||
description={
|
description={
|
||||||
<Trans
|
<Trans
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import { PageBody, PageHeader } from '@kit/ui/page';
|
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { UserAccountHeader } from '~/(dashboard)/home/(user)/_components/user-account-header';
|
||||||
import { withI18n } from '~/lib/i18n/with-i18n';
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
||||||
|
|
||||||
function UserSettingsLayout(props: React.PropsWithChildren) {
|
function UserSettingsLayout(props: React.PropsWithChildren) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageHeader
|
<UserAccountHeader
|
||||||
title={<Trans i18nKey={'common:yourAccountTabLabel'} />}
|
title={<Trans i18nKey={'common:yourAccountTabLabel'} />}
|
||||||
description={'Manage your account settings'}
|
description={'Manage your account settings'}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<PageBody>{props.children}</PageBody>
|
{props.children}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,11 +26,7 @@ export const generateMetadata = async () => {
|
|||||||
function PersonalAccountSettingsPage() {
|
function PersonalAccountSettingsPage() {
|
||||||
return (
|
return (
|
||||||
<PageBody>
|
<PageBody>
|
||||||
<div
|
<div className={'mx-auto flex w-full flex-1 flex-col lg:max-w-2xl'}>
|
||||||
className={
|
|
||||||
'container mx-auto flex max-w-2xl flex-1 flex-col items-center'
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<PersonalAccountSettingsContainer features={features} paths={paths} />
|
<PersonalAccountSettingsContainer features={features} paths={paths} />
|
||||||
</div>
|
</div>
|
||||||
</PageBody>
|
</PageBody>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { PageHeader } from '@kit/ui/page';
|
import { PageHeader } from '@kit/ui/page';
|
||||||
|
|
||||||
import { MobileAppNavigation } from '~/(dashboard)/home/[account]/_components/mobile-app-navigation';
|
import { AccountLayoutMobileNavigation } from '~/(dashboard)/home/[account]/_components/account-layout-mobile-navigation';
|
||||||
|
|
||||||
export function AppHeader({
|
export function AccountLayoutHeader({
|
||||||
children,
|
children,
|
||||||
title,
|
title,
|
||||||
description,
|
description,
|
||||||
@@ -16,7 +16,7 @@ export function AppHeader({
|
|||||||
<PageHeader
|
<PageHeader
|
||||||
title={title}
|
title={title}
|
||||||
description={description}
|
description={description}
|
||||||
mobileNavigation={<MobileAppNavigation slug={account} />}
|
mobileNavigation={<AccountLayoutMobileNavigation account={account} />}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
@@ -25,21 +25,21 @@ import { Trans } from '@kit/ui/trans';
|
|||||||
|
|
||||||
import featureFlagsConfig from '~/config/feature-flags.config';
|
import featureFlagsConfig from '~/config/feature-flags.config';
|
||||||
import pathsConfig from '~/config/paths.config';
|
import pathsConfig from '~/config/paths.config';
|
||||||
import { getOrganizationAccountSidebarConfig } from '~/config/team-account-sidebar.config';
|
import { getTeamAccountSidebarConfig } from '~/config/team-account-sidebar.config';
|
||||||
|
|
||||||
const features = {
|
const features = {
|
||||||
enableTeamAccounts: featureFlagsConfig.enableTeamAccounts,
|
enableTeamAccounts: featureFlagsConfig.enableTeamAccounts,
|
||||||
enableTeamCreation: featureFlagsConfig.enableTeamCreation,
|
enableTeamCreation: featureFlagsConfig.enableTeamCreation,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MobileAppNavigation = (
|
export const AccountLayoutMobileNavigation = (
|
||||||
props: React.PropsWithChildren<{
|
props: React.PropsWithChildren<{
|
||||||
slug: string;
|
account: string;
|
||||||
}>,
|
}>,
|
||||||
) => {
|
) => {
|
||||||
const signOut = useSignOut();
|
const signOut = useSignOut();
|
||||||
|
|
||||||
const Links = getOrganizationAccountSidebarConfig(props.slug).routes.map(
|
const Links = getTeamAccountSidebarConfig(props.account).routes.map(
|
||||||
(item, index) => {
|
(item, index) => {
|
||||||
if ('children' in item) {
|
if ('children' in item) {
|
||||||
return item.children.map((child) => {
|
return item.children.map((child) => {
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import { SidebarDivider, SidebarGroup, SidebarItem } from '@kit/ui/sidebar';
|
||||||
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { getTeamAccountSidebarConfig } from '~/config/team-account-sidebar.config';
|
||||||
|
|
||||||
|
export function AccountLayoutSidebarNavigation({
|
||||||
|
account,
|
||||||
|
}: React.PropsWithChildren<{
|
||||||
|
account: string;
|
||||||
|
}>) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{getTeamAccountSidebarConfig(account).routes.map((item, index) => {
|
||||||
|
if ('divider' in item) {
|
||||||
|
return <SidebarDivider key={index} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('children' in item) {
|
||||||
|
return (
|
||||||
|
<SidebarGroup
|
||||||
|
key={item.label}
|
||||||
|
label={<Trans i18nKey={item.label} defaults={item.label} />}
|
||||||
|
collapsible={item.collapsible}
|
||||||
|
collapsed={item.collapsed}
|
||||||
|
>
|
||||||
|
{item.children.map((child) => {
|
||||||
|
return (
|
||||||
|
<SidebarItem
|
||||||
|
key={child.path}
|
||||||
|
end={child.end}
|
||||||
|
path={child.path}
|
||||||
|
Icon={child.Icon}
|
||||||
|
>
|
||||||
|
<Trans i18nKey={child.label} defaults={child.label} />
|
||||||
|
</SidebarItem>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</SidebarGroup>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<SidebarItem
|
||||||
|
key={item.path}
|
||||||
|
end={item.end}
|
||||||
|
path={item.path}
|
||||||
|
Icon={item.Icon}
|
||||||
|
>
|
||||||
|
<Trans i18nKey={item.label} defaults={item.label} />
|
||||||
|
</SidebarItem>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AccountLayoutSidebarNavigation;
|
||||||
@@ -20,7 +20,7 @@ import { ProfileAccountDropdownContainer } from '~/(dashboard)/home/_components/
|
|||||||
import featureFlagsConfig from '~/config/feature-flags.config';
|
import featureFlagsConfig from '~/config/feature-flags.config';
|
||||||
import pathsConfig from '~/config/paths.config';
|
import pathsConfig from '~/config/paths.config';
|
||||||
|
|
||||||
import { AppSidebarNavigation } from './app-sidebar-navigation';
|
import { AccountLayoutSidebarNavigation } from './account-layout-sidebar-navigation';
|
||||||
|
|
||||||
type AccountModel = {
|
type AccountModel = {
|
||||||
label: string | null;
|
label: string | null;
|
||||||
@@ -33,7 +33,7 @@ const features = {
|
|||||||
enableTeamCreation: featureFlagsConfig.enableTeamCreation,
|
enableTeamCreation: featureFlagsConfig.enableTeamCreation,
|
||||||
};
|
};
|
||||||
|
|
||||||
export function AppSidebar(props: {
|
export function AccountLayoutSidebar(props: {
|
||||||
account: string;
|
account: string;
|
||||||
accounts: AccountModel[];
|
accounts: AccountModel[];
|
||||||
collapsed: boolean;
|
collapsed: boolean;
|
||||||
@@ -81,7 +81,7 @@ function SidebarContainer(props: {
|
|||||||
</SidebarContent>
|
</SidebarContent>
|
||||||
|
|
||||||
<SidebarContent className={`h-[calc(100%-160px)] overflow-y-auto`}>
|
<SidebarContent className={`h-[calc(100%-160px)] overflow-y-auto`}>
|
||||||
<AppSidebarNavigation account={account} />
|
<AccountLayoutSidebarNavigation account={account} />
|
||||||
</SidebarContent>
|
</SidebarContent>
|
||||||
|
|
||||||
<div className={'absolute bottom-4 left-0 w-full'}>
|
<div className={'absolute bottom-4 left-0 w-full'}>
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
'use client';
|
|
||||||
|
|
||||||
import { SidebarDivider, SidebarGroup, SidebarItem } from '@kit/ui/sidebar';
|
|
||||||
import { Trans } from '@kit/ui/trans';
|
|
||||||
|
|
||||||
import { getOrganizationAccountSidebarConfig } from '~/config/team-account-sidebar.config';
|
|
||||||
|
|
||||||
export function AppSidebarNavigation({
|
|
||||||
account,
|
|
||||||
}: React.PropsWithChildren<{
|
|
||||||
account: string;
|
|
||||||
}>) {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{getOrganizationAccountSidebarConfig(account).routes.map(
|
|
||||||
(item, index) => {
|
|
||||||
if ('divider' in item) {
|
|
||||||
return <SidebarDivider key={index} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('children' in item) {
|
|
||||||
return (
|
|
||||||
<SidebarGroup
|
|
||||||
key={item.label}
|
|
||||||
label={<Trans i18nKey={item.label} defaults={item.label} />}
|
|
||||||
collapsible={item.collapsible}
|
|
||||||
collapsed={item.collapsed}
|
|
||||||
>
|
|
||||||
{item.children.map((child) => {
|
|
||||||
return (
|
|
||||||
<SidebarItem
|
|
||||||
key={child.path}
|
|
||||||
end={child.end}
|
|
||||||
path={child.path}
|
|
||||||
Icon={child.Icon}
|
|
||||||
>
|
|
||||||
<Trans i18nKey={child.label} defaults={child.label} />
|
|
||||||
</SidebarItem>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</SidebarGroup>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<SidebarItem
|
|
||||||
key={item.path}
|
|
||||||
end={item.end}
|
|
||||||
path={item.path}
|
|
||||||
Icon={item.Icon}
|
|
||||||
>
|
|
||||||
<Trans i18nKey={item.label} defaults={item.label} />
|
|
||||||
</SidebarItem>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default AppSidebarNavigation;
|
|
||||||
@@ -4,7 +4,7 @@ import { parseSidebarStateCookie } from '@kit/shared/cookies/sidebar-state.cooki
|
|||||||
import { parseThemeCookie } from '@kit/shared/cookies/theme.cookie';
|
import { parseThemeCookie } from '@kit/shared/cookies/theme.cookie';
|
||||||
import { Page } from '@kit/ui/page';
|
import { Page } from '@kit/ui/page';
|
||||||
|
|
||||||
import { AppSidebar } from '~/(dashboard)/home/[account]/_components/app-sidebar';
|
import { AccountLayoutSidebar } from '~/(dashboard)/home/[account]/_components/account-layout-sidebar';
|
||||||
import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
|
import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
|
||||||
import { withI18n } from '~/lib/i18n/with-i18n';
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ function TeamWorkspaceLayout({
|
|||||||
return (
|
return (
|
||||||
<Page
|
<Page
|
||||||
sidebar={
|
sidebar={
|
||||||
<AppSidebar
|
<AccountLayoutSidebar
|
||||||
collapsed={sidebarCollapsed}
|
collapsed={sidebarCollapsed}
|
||||||
account={params.account}
|
account={params.account}
|
||||||
accounts={accounts}
|
accounts={accounts}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { PageBody } from '@kit/ui/page';
|
|||||||
import Spinner from '@kit/ui/spinner';
|
import Spinner from '@kit/ui/spinner';
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
import { AppHeader } from '~/(dashboard)/home/[account]/_components/app-header';
|
import { AccountLayoutHeader } from '~/(dashboard)/home/[account]/_components/account-layout-header';
|
||||||
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
|
||||||
import { withI18n } from '~/lib/i18n/with-i18n';
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ function TeamAccountHomePage({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<AppHeader
|
<AccountLayoutHeader
|
||||||
title={<Trans i18nKey={'common:dashboardTabLabel'} />}
|
title={<Trans i18nKey={'common:dashboardTabLabel'} />}
|
||||||
description={<Trans i18nKey={'common:dashboardTabDescription'} />}
|
description={<Trans i18nKey={'common:dashboardTabDescription'} />}
|
||||||
account={params.account}
|
account={params.account}
|
||||||
@@ -59,7 +59,7 @@ function TeamAccountHomePage({
|
|||||||
<Plus className={'mr-2 h-4'} />
|
<Plus className={'mr-2 h-4'} />
|
||||||
<span>Add Widget</span>
|
<span>Add Widget</span>
|
||||||
</Button>
|
</Button>
|
||||||
</AppHeader>
|
</AccountLayoutHeader>
|
||||||
|
|
||||||
<PageBody>
|
<PageBody>
|
||||||
<DashboardDemo />
|
<DashboardDemo />
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ const getRoutes = (account: string) => [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export function getOrganizationAccountSidebarConfig(account: string) {
|
export function getTeamAccountSidebarConfig(account: string) {
|
||||||
return SidebarConfigSchema.parse({
|
return SidebarConfigSchema.parse({
|
||||||
routes: getRoutes(account),
|
routes: getRoutes(account),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
"edge-csrf": "^1.0.9",
|
"edge-csrf": "^1.0.9",
|
||||||
"i18next": "^23.10.1",
|
"i18next": "^23.10.1",
|
||||||
"i18next-resources-to-backend": "^1.2.0",
|
"i18next-resources-to-backend": "^1.2.0",
|
||||||
"next": "14.2.0-canary.48",
|
"next": "v14.2.0-canary.49",
|
||||||
"next-contentlayer": "0.3.4",
|
"next-contentlayer": "0.3.4",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"next-themes": "0.3.0",
|
"next-themes": "0.3.0",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import 'server-only';
|
||||||
|
|
||||||
import { Logger } from '@kit/shared/logger';
|
import { Logger } from '@kit/shared/logger';
|
||||||
import { getSupabaseRouteHandlerClient } from '@kit/supabase/route-handler-client';
|
import { getSupabaseRouteHandlerClient } from '@kit/supabase/route-handler-client';
|
||||||
|
|
||||||
@@ -18,9 +20,21 @@ export class DatabaseWebhookHandlerService {
|
|||||||
// check if the signature is valid
|
// check if the signature is valid
|
||||||
this.assertSignatureIsAuthentic(request, webhooksSecret);
|
this.assertSignatureIsAuthentic(request, webhooksSecret);
|
||||||
|
|
||||||
|
// all good, handle the webhook
|
||||||
const json = await request.json();
|
const json = await request.json();
|
||||||
|
|
||||||
await this.handleWebhookBody(json);
|
await this.handleWebhookBody(json);
|
||||||
|
|
||||||
|
const { table, type } = json as RecordChange<keyof Tables>;
|
||||||
|
|
||||||
|
Logger.info(
|
||||||
|
{
|
||||||
|
name: this.namespace,
|
||||||
|
table,
|
||||||
|
type,
|
||||||
|
},
|
||||||
|
'Webhook processed successfully',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleWebhookBody(body: RecordChange<keyof Tables>) {
|
private handleWebhookBody(body: RecordChange<keyof Tables>) {
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export function PageHeader({
|
|||||||
<div className={'flex items-start justify-between p-4'}>
|
<div className={'flex items-start justify-between p-4'}>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
'flex items-center space-x-2 lg:flex-col lg:items-start lg:space-x-0'
|
'flex items-center space-x-4 lg:flex-col lg:items-start lg:space-x-0'
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div className={'flex items-center lg:hidden'}>{mobileNavigation}</div>
|
<div className={'flex items-center lg:hidden'}>{mobileNavigation}</div>
|
||||||
|
|||||||
92
pnpm-lock.yaml
generated
92
pnpm-lock.yaml
generated
@@ -94,7 +94,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.28.9
|
specifier: ^5.28.9
|
||||||
version: 5.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.48)(react@18.2.0)
|
version: 5.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.49)(react@18.2.0)
|
||||||
'@tanstack/react-table':
|
'@tanstack/react-table':
|
||||||
specifier: ^8.15.0
|
specifier: ^8.15.0
|
||||||
version: 8.15.0(react-dom@18.2.0)(react@18.2.0)
|
version: 8.15.0(react-dom@18.2.0)(react@18.2.0)
|
||||||
@@ -106,7 +106,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.48)
|
version: 1.0.9(next@14.2.0-canary.49)
|
||||||
i18next:
|
i18next:
|
||||||
specifier: ^23.10.1
|
specifier: ^23.10.1
|
||||||
version: 23.10.1
|
version: 23.10.1
|
||||||
@@ -114,14 +114,14 @@ importers:
|
|||||||
specifier: ^1.2.0
|
specifier: ^1.2.0
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
next:
|
next:
|
||||||
specifier: 14.2.0-canary.48
|
specifier: v14.2.0-canary.49
|
||||||
version: 14.2.0-canary.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
version: 14.2.0-canary.49(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
||||||
next-contentlayer:
|
next-contentlayer:
|
||||||
specifier: 0.3.4
|
specifier: 0.3.4
|
||||||
version: 0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.48)(react-dom@18.2.0)(react@18.2.0)
|
version: 0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.49)(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.48)
|
version: 4.2.3(next@14.2.0-canary.49)
|
||||||
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)
|
||||||
@@ -2074,8 +2074,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==}
|
resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@next/env@14.2.0-canary.48:
|
/@next/env@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-NhLe3TJ3/A0FyV/mezwpmFudLX6yzcq619bAeaL/KOQA8OkDb/zwFfbrqdibwIgRmID8pGirtzsfN6iwJzwQKA==}
|
resolution: {integrity: sha512-rQaBRv0PRO3+4lx90zB9eBL0xk230G+6avgCyBL272hckH4XsGgXY6adtBBmZJF1QuDI+pS+DqppXSJvfexsdw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@next/eslint-plugin-next@14.1.4:
|
/@next/eslint-plugin-next@14.1.4:
|
||||||
@@ -2107,8 +2107,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-darwin-arm64@14.2.0-canary.48:
|
/@next/swc-darwin-arm64@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-pJX5jVTFPSymGvLk7WxKKf/TTL3/SwaeerIIr42xYK8w9hq7hTQo71ML+4l5rba4AvJ9dwlZUP5Ie/AjVXpq7w==}
|
resolution: {integrity: sha512-tFFCgRJOk28rIiEGjz2bafqp3G5lV7hXyYjZ7d+gt/MjpLRrtTwu+lRBv/W1VFdTkPv8+k2hvXZNNTHO1n57Ow==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@@ -2125,8 +2125,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-darwin-x64@14.2.0-canary.48:
|
/@next/swc-darwin-x64@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-o38yJhgZEZIPKMYDQevKBEtCEh6iEplJqY5MxiZ+qbjTdDVStdKZBY2O5fucVDVcP4Lb2r9lvfYIjY5G54adsQ==}
|
resolution: {integrity: sha512-NR4Meb67q8M2pNP5a8Tp3Zfar2Ao8ChHWcD3wEBgICcgJ4ZyCQCWXdM+VBsf8a3yuAoXmu1/cwOwWu1KXVC96A==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@@ -2143,8 +2143,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-linux-arm64-gnu@14.2.0-canary.48:
|
/@next/swc-linux-arm64-gnu@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-N7agPv2AFHZ2TG+bjhXtjTpLWk26wv9C1Fmj8RmYPyAmZE3SeEbgAW3Pr/+zSk8oF0EMq9rzJpYBPa1itRM0Qw==}
|
resolution: {integrity: sha512-2bFQUNYnz6L7xOAzvejMj09iqmWwkjFyguGEfmNiFN0kPgJ4viSCKZvoiuG/MPh3VoDSz5N2qx1tehSCy7KbFA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -2161,8 +2161,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-linux-arm64-musl@14.2.0-canary.48:
|
/@next/swc-linux-arm64-musl@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-Ka4XjbGkX84Wh5jgNXxTkNv+fls2YBbIFTRq9jGGGOLFRiem6U1k4uf3L8WxbyDUmF/cXebQsCn73AHbe8gXsw==}
|
resolution: {integrity: sha512-68PjCGC1JghA2tuznu+ExeSP+L6qpf6afblB4wFhDRniP+0hRrZB+1E3jJ3PmBgHtitJJMaplTFeKYQ8xbF8xw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -2179,8 +2179,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-linux-x64-gnu@14.2.0-canary.48:
|
/@next/swc-linux-x64-gnu@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-VhYSQ2RkWFyvzn0F3qsqVrC8JsCZuzry7QlizuRrSZImOMgPKcozhRUPagtUmjC57wki4je2UtuXgt88Ac4eZg==}
|
resolution: {integrity: sha512-eiDvo0bnYCI59UhaZrNV1k7wZPFHyQ2uJ7/MUH9yvZZcSKBxRDtNc3FmCAZjKiNx/SclMFRAtENLOlDzceRp5g==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -2197,8 +2197,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-linux-x64-musl@14.2.0-canary.48:
|
/@next/swc-linux-x64-musl@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-+Gcza5SdYJ2nWhH6LQB/uuDhRHnDuQgzgdZ93LLV4VdrPERntl+Qkq2ZKBrL2y6jBCP7fQ9ClZkddQZw57pgeQ==}
|
resolution: {integrity: sha512-XgwiLB/WkRjuhWoKZmlRsZl1b8C7dsYlRD3zqHPkrgWhERyyn3AoeRjIa/eHR6nxj7oTu2KHET1oSJoYobH70g==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -2215,8 +2215,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-win32-arm64-msvc@14.2.0-canary.48:
|
/@next/swc-win32-arm64-msvc@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-zLbhMvmizwFmbnlYzvXDq+DwKZ8kB4uxJ12nq5+CjodIPlkCzdrHBjqq0I1D66ohd/8C53XqXdS82teeNcW7qA==}
|
resolution: {integrity: sha512-jqC5vhFOAewsGdWriuQqR2aalQ8dHJ1WkSl1psluTxpo5UgICBk+H0wQ93a0CEfD0Rj+8QjUFh+U1oYTqE4YIg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -2233,8 +2233,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-win32-ia32-msvc@14.2.0-canary.48:
|
/@next/swc-win32-ia32-msvc@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-lFEUP1tZ9jgAucWqZd3vCexfcmuTRXUh5qWHm4MymgchTX/FO2z3drum7Bv5fc1NdLiLy5H/ENxhhVezWbfAZg==}
|
resolution: {integrity: sha512-Zcfe1+FuFtMCtG0L7F9yh0yRhmLM2gGAUHW41FYN+Rtbi/JFS8qhs/M7pOPkqhEWWKqo3at64q7z8KQh+21VsQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -2251,8 +2251,8 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@next/swc-win32-x64-msvc@14.2.0-canary.48:
|
/@next/swc-win32-x64-msvc@14.2.0-canary.49:
|
||||||
resolution: {integrity: sha512-ZfMKA0x+mnmfL0QnEtNWqE3jSZQhOqlMRc/tYWJBCTOqPxJxVW0j24enlFBzvrYwBbIi5OBdonvaXIOZaJl1yA==}
|
resolution: {integrity: sha512-yeCjnmqMmI9aNbRk3DTrKvCuImUWXU+Kl0XC9KFo8iLpOztpCQrMA+pf5s3GRqv1HRzbRoHsj+1VCPXzTmZrLA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -4230,7 +4230,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.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.48)(react@18.2.0):
|
/@tanstack/react-query-next-experimental@5.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.49)(react@18.2.0):
|
||||||
resolution: {integrity: sha512-cihvqAme8nX6O5jeWtk19fnMsgXTX5puHwj6ya2Gf6FZIKhcFTrXQ9npH3ACcbinmVYPcQrShk/D3XAGKR/AUg==}
|
resolution: {integrity: sha512-cihvqAme8nX6O5jeWtk19fnMsgXTX5puHwj6ya2Gf6FZIKhcFTrXQ9npH3ACcbinmVYPcQrShk/D3XAGKR/AUg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tanstack/react-query': ^5.28.9
|
'@tanstack/react-query': ^5.28.9
|
||||||
@@ -4238,7 +4238,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.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
next: 14.2.0-canary.49(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
@@ -6001,12 +6001,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.48):
|
/edge-csrf@1.0.9(next@14.2.0-canary.49):
|
||||||
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.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
next: 14.2.0-canary.49(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/editorconfig@1.0.4:
|
/editorconfig@1.0.4:
|
||||||
@@ -8655,7 +8655,7 @@ packages:
|
|||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.48)(react-dom@18.2.0)(react@18.2.0):
|
/next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.49)(react-dom@18.2.0)(react@18.2.0):
|
||||||
resolution: {integrity: sha512-UtUCwgAl159KwfhNaOwyiI7Lg6sdioyKMeh+E7jxx0CJ29JuXGxBEYmCI6+72NxFGIFZKx8lvttbbQhbnYWYSw==}
|
resolution: {integrity: sha512-UtUCwgAl159KwfhNaOwyiI7Lg6sdioyKMeh+E7jxx0CJ29JuXGxBEYmCI6+72NxFGIFZKx8lvttbbQhbnYWYSw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
contentlayer: 0.3.4
|
contentlayer: 0.3.4
|
||||||
@@ -8666,7 +8666,7 @@ packages:
|
|||||||
'@contentlayer/core': 0.3.4(esbuild@0.20.2)
|
'@contentlayer/core': 0.3.4(esbuild@0.20.2)
|
||||||
'@contentlayer/utils': 0.3.4
|
'@contentlayer/utils': 0.3.4
|
||||||
contentlayer: 0.3.4(esbuild@0.20.2)
|
contentlayer: 0.3.4(esbuild@0.20.2)
|
||||||
next: 14.2.0-canary.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
next: 14.2.0-canary.49(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
react-dom: 18.2.0(react@18.2.0)
|
react-dom: 18.2.0(react@18.2.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -8676,7 +8676,7 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/next-sitemap@4.2.3(next@14.2.0-canary.48):
|
/next-sitemap@4.2.3(next@14.2.0-canary.49):
|
||||||
resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
|
resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
|
||||||
engines: {node: '>=14.18'}
|
engines: {node: '>=14.18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -8687,7 +8687,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.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
|
next: 14.2.0-canary.49(@opentelemetry/api@1.8.0)(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):
|
||||||
@@ -8738,8 +8738,8 @@ packages:
|
|||||||
- babel-plugin-macros
|
- babel-plugin-macros
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/next@14.2.0-canary.48(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0):
|
/next@14.2.0-canary.49(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0):
|
||||||
resolution: {integrity: sha512-pRuzodk1R1MZ54VELbZVyj30F2QS4CtnHPcSiMHh9GICAZ/ZLHeOyiTtcpijb8M3hRXs7Cui2xUDUR0k6zjT7Q==}
|
resolution: {integrity: sha512-sfryWP84xmqUOYAilbiojczTpTGCRTMch3w+EVppzPj0DS6gOWv9vPUHp/6uMWWZ+YX+n3GkYhwRK80Q+FG+kg==}
|
||||||
engines: {node: '>=18.17.0'}
|
engines: {node: '>=18.17.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -8756,7 +8756,7 @@ packages:
|
|||||||
sass:
|
sass:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/env': 14.2.0-canary.48
|
'@next/env': 14.2.0-canary.49
|
||||||
'@opentelemetry/api': 1.8.0
|
'@opentelemetry/api': 1.8.0
|
||||||
'@swc/helpers': 0.5.5
|
'@swc/helpers': 0.5.5
|
||||||
busboy: 1.6.0
|
busboy: 1.6.0
|
||||||
@@ -8767,15 +8767,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.48
|
'@next/swc-darwin-arm64': 14.2.0-canary.49
|
||||||
'@next/swc-darwin-x64': 14.2.0-canary.48
|
'@next/swc-darwin-x64': 14.2.0-canary.49
|
||||||
'@next/swc-linux-arm64-gnu': 14.2.0-canary.48
|
'@next/swc-linux-arm64-gnu': 14.2.0-canary.49
|
||||||
'@next/swc-linux-arm64-musl': 14.2.0-canary.48
|
'@next/swc-linux-arm64-musl': 14.2.0-canary.49
|
||||||
'@next/swc-linux-x64-gnu': 14.2.0-canary.48
|
'@next/swc-linux-x64-gnu': 14.2.0-canary.49
|
||||||
'@next/swc-linux-x64-musl': 14.2.0-canary.48
|
'@next/swc-linux-x64-musl': 14.2.0-canary.49
|
||||||
'@next/swc-win32-arm64-msvc': 14.2.0-canary.48
|
'@next/swc-win32-arm64-msvc': 14.2.0-canary.49
|
||||||
'@next/swc-win32-ia32-msvc': 14.2.0-canary.48
|
'@next/swc-win32-ia32-msvc': 14.2.0-canary.49
|
||||||
'@next/swc-win32-x64-msvc': 14.2.0-canary.48
|
'@next/swc-win32-x64-msvc': 14.2.0-canary.49
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- babel-plugin-macros
|
- babel-plugin-macros
|
||||||
|
|||||||
Reference in New Issue
Block a user