Merge remote-tracking branch 'origin/main' into cloudflare
This commit is contained in:
commit
5d50135ed6
18
package.json
18
package.json
@ -20,22 +20,17 @@
|
||||
"preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",
|
||||
"deploy": "opennextjs-cloudflare build && opennextjs-cloudflare deploy",
|
||||
"upload": "opennextjs-cloudflare build && opennextjs-cloudflare upload",
|
||||
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts"
|
||||
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts",
|
||||
"knip": "knip"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/openai": "^1.1.13",
|
||||
"@aws-sdk/client-s3": "^3.758.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.758.0",
|
||||
"@base-ui-components/react": "1.0.0-beta.0",
|
||||
"@better-fetch/fetch": "^1.1.18",
|
||||
"@content-collections/core": "^0.8.0",
|
||||
"@content-collections/mdx": "^0.2.0",
|
||||
"@content-collections/next": "^0.2.4",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/modifiers": "^9.0.0",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.2",
|
||||
"@fumadocs/content-collections": "^1.1.8",
|
||||
"@hookform/resolvers": "^4.1.0",
|
||||
"@next/third-parties": "^15.3.0",
|
||||
"@openpanel/nextjs": "^1.0.7",
|
||||
@ -101,7 +96,6 @@
|
||||
"motion": "^12.4.3",
|
||||
"next": "15.2.1",
|
||||
"next-intl": "^4.0.0",
|
||||
"next-plausible": "^3.12.4",
|
||||
"next-safe-action": "^7.10.4",
|
||||
"next-themes": "^0.4.4",
|
||||
"pg": "^8.16.0",
|
||||
@ -125,7 +119,6 @@
|
||||
"tailwind-merge": "^3.0.2",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"tw-animate-css": "^1.2.4",
|
||||
"unist-util-visit": "^5.0.0",
|
||||
"use-intl": "^3.26.5",
|
||||
"use-media": "^1.5.0",
|
||||
"vaul": "^1.1.2",
|
||||
@ -134,21 +127,20 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@content-collections/cli": "^0.1.6",
|
||||
"@opennextjs/cloudflare": "^1.2.1",
|
||||
"@tailwindcss/postcss": "^4.0.14",
|
||||
"@types/mdx": "^2.0.13",
|
||||
"@types/node": "^20",
|
||||
"@types/node": "^20.19.0",
|
||||
"@types/pg": "^8.11.11",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"concurrently": "^9.1.2",
|
||||
"drizzle-kit": "^0.30.4",
|
||||
"knip": "^5.61.2",
|
||||
"postcss": "^8",
|
||||
"react-email": "3.0.7",
|
||||
"tailwindcss": "^4.0.14",
|
||||
"tsx": "^4.19.3",
|
||||
"typescript": "^5",
|
||||
"typescript": "^5.8.3",
|
||||
"wrangler": "^4.14.1"
|
||||
}
|
||||
}
|
||||
|
1261
pnpm-lock.yaml
generated
1261
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
import Container from '@/components/layout/container';
|
||||
import type { BlogCategory } from '@/types/blog-types';
|
||||
import type { BlogCategory } from '@/types';
|
||||
import { BlogCategoryListDesktop } from './blog-category-list-desktop';
|
||||
import { BlogCategoryListMobile } from './blog-category-list-mobile';
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
|
||||
import { LocaleLink } from '@/i18n/navigation';
|
||||
import { cn } from '@/lib/utils';
|
||||
import type { BlogCategory } from '@/types/blog-types';
|
||||
import type { BlogCategory } from '@/types';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useParams } from 'next/navigation';
|
||||
|
||||
|
@ -9,7 +9,7 @@ import {
|
||||
DrawerTitle,
|
||||
DrawerTrigger,
|
||||
} from '@/components/ui/drawer';
|
||||
import type { BlogCategory } from '@/types/blog-types';
|
||||
import type { BlogCategory } from '@/types';
|
||||
import { LayoutListIcon } from 'lucide-react';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useParams } from 'next/navigation';
|
||||
|
@ -11,7 +11,7 @@ interface ContactMessageProps extends BaseEmailProps {
|
||||
message: string;
|
||||
}
|
||||
|
||||
export function ContactMessage({
|
||||
export default function ContactMessage({
|
||||
name,
|
||||
email,
|
||||
message,
|
||||
@ -40,5 +40,3 @@ ContactMessage.PreviewProps = {
|
||||
email: 'username@example.com',
|
||||
message: 'This is a test message',
|
||||
};
|
||||
|
||||
export default ContactMessage;
|
||||
|
@ -11,7 +11,7 @@ interface ForgotPasswordProps extends BaseEmailProps {
|
||||
name: string;
|
||||
}
|
||||
|
||||
export function ForgotPassword({
|
||||
export default function ForgotPassword({
|
||||
url,
|
||||
name,
|
||||
locale,
|
||||
@ -38,5 +38,3 @@ ForgotPassword.PreviewProps = {
|
||||
url: 'https://mksaas.com',
|
||||
name: 'username',
|
||||
};
|
||||
|
||||
export default ForgotPassword;
|
||||
|
@ -7,7 +7,7 @@ import { createTranslator } from 'use-intl/core';
|
||||
|
||||
interface SubscribeNewsletterProps extends BaseEmailProps {}
|
||||
|
||||
export function SubscribeNewsletter({
|
||||
export default function SubscribeNewsletter({
|
||||
locale,
|
||||
messages,
|
||||
}: SubscribeNewsletterProps) {
|
||||
@ -29,5 +29,3 @@ SubscribeNewsletter.PreviewProps = {
|
||||
locale: routing.defaultLocale,
|
||||
messages: defaultMessages,
|
||||
};
|
||||
|
||||
export default SubscribeNewsletter;
|
||||
|
@ -11,7 +11,12 @@ interface VerifyEmailProps extends BaseEmailProps {
|
||||
name: string;
|
||||
}
|
||||
|
||||
export function VerifyEmail({ url, name, locale, messages }: VerifyEmailProps) {
|
||||
export default function VerifyEmail({
|
||||
url,
|
||||
name,
|
||||
locale,
|
||||
messages,
|
||||
}: VerifyEmailProps) {
|
||||
const t = createTranslator({
|
||||
locale,
|
||||
messages,
|
||||
@ -33,5 +38,3 @@ VerifyEmail.PreviewProps = {
|
||||
url: 'https://mksaas.com',
|
||||
name: 'username',
|
||||
};
|
||||
|
||||
export default VerifyEmail;
|
||||
|
@ -1,8 +1,8 @@
|
||||
import type { Locale, Messages } from 'next-intl';
|
||||
import { ContactMessage } from './templates/contact-message';
|
||||
import { ForgotPassword } from './templates/forgot-password';
|
||||
import { SubscribeNewsletter } from './templates/subscribe-newsletter';
|
||||
import { VerifyEmail } from './templates/verify-email';
|
||||
import ContactMessage from './templates/contact-message';
|
||||
import ForgotPassword from './templates/forgot-password';
|
||||
import SubscribeNewsletter from './templates/subscribe-newsletter';
|
||||
import VerifyEmail from './templates/verify-email';
|
||||
|
||||
/**
|
||||
* list all the email templates here
|
||||
|
@ -1,25 +0,0 @@
|
||||
/**
|
||||
* Blog Category
|
||||
*
|
||||
* we can not pass CategoryType from server component to client component
|
||||
* so we need to define a new type, and use it in the client component
|
||||
*/
|
||||
export type BlogCategory = {
|
||||
slug: string;
|
||||
name: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type BlogAuthor = {
|
||||
slug: string;
|
||||
name: string;
|
||||
description: string;
|
||||
avatar: string;
|
||||
};
|
||||
|
||||
export type BlogPost = {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
date: string;
|
||||
};
|
12
src/types/index.d.ts
vendored
12
src/types/index.d.ts
vendored
@ -163,3 +163,15 @@ export type MenuItem = {
|
||||
export type NestedMenuItem = MenuItem & {
|
||||
items?: MenuItem[]; // The items to display in the nested menu
|
||||
};
|
||||
|
||||
/**
|
||||
* Blog Category
|
||||
*
|
||||
* we can not pass CategoryType from server component to client component
|
||||
* so we need to define a new type, and use it in the client component
|
||||
*/
|
||||
export type BlogCategory = {
|
||||
slug: string;
|
||||
name: string;
|
||||
description: string;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user