feat: custom login email

This commit is contained in:
Henry
2024-01-09 13:48:53 +00:00
parent 4f909b02f0
commit fac4cc97e3
145 changed files with 34926 additions and 2 deletions

2
.gitignore vendored
View File

@@ -1,7 +1,7 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
**/node_modules/
/.pnp
.pnp.js

BIN
bun.lockb

Binary file not shown.

View File

@@ -16,6 +16,7 @@
"@auth/drizzle-adapter": "^0.3.12",
"@headlessui/react": "^1.7.17",
"@planetscale/database": "^1.11.0",
"@react-email/render": "^0.0.10",
"@t3-oss/env-nextjs": "^0.7.0",
"@tailwindcss/forms": "^0.5.6",
"@tanstack/react-query": "^4.32.6",

View File

@@ -0,0 +1,17 @@
{
"extends": ["next", "prettier"],
"plugins": ["simple-import-sort", "unused-imports"],
"rules": {
"react/no-unescaped-entities": 0,
"react-hooks/rules-of-hooks": 0,
"no-unused-vars": "off",
"simple-import-sort/imports": [
"error",
{
// The default grouping, but with no blank lines.
"groups": [["^\\u0000", "^@?\\w", "^", "^\\."]]
}
],
"simple-import-sort/exports": "error"
}
}

View File

@@ -0,0 +1,21 @@
{
"pages": {
"/preview/[slug]/page": [
"static/chunks/webpack.js",
"static/chunks/main-app.js",
"static/css/app/preview/[slug]/page.css",
"static/chunks/app/preview/[slug]/page.js"
],
"/layout": [
"static/chunks/webpack.js",
"static/chunks/main-app.js",
"static/chunks/app/layout.js"
],
"/page": [
"static/chunks/webpack.js",
"static/chunks/main-app.js",
"static/css/app/page.css",
"static/chunks/app/page.js"
]
}
}

View File

@@ -0,0 +1,33 @@
{
"polyfillFiles": [
"static/chunks/polyfills.js"
],
"devFiles": [
"static/chunks/react-refresh.js"
],
"ampDevFiles": [
"static/chunks/webpack.js",
"static/chunks/amp.js"
],
"lowPriorityFiles": [
"static/development/_buildManifest.js",
"static/development/_ssgManifest.js"
],
"rootMainFiles": [
"static/chunks/webpack.js",
"static/chunks/main-app.js"
],
"pages": {
"/_app": [
"static/chunks/webpack.js",
"static/chunks/main.js",
"static/chunks/pages/_app.js"
],
"/_error": [
"static/chunks/webpack.js",
"static/chunks/main.js",
"static/chunks/pages/_error.js"
]
},
"ampFirstPages": []
}

View File

@@ -0,0 +1 @@
{"type": "commonjs"}

View File

@@ -0,0 +1 @@
{}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
{
"/preview/[slug]/page": "app/preview/[slug]/page.js",
"/page": "app/page.js"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,431 @@
self.__RSC_MANIFEST={
"__ssr_module_mapping__": {
"(app-client)/./node_modules/next/dist/client/components/app-router.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/error-boundary.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/layout-router.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./src/app/preview/[slug]/preview.tsx": {
"*": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "default",
"async": false
}
},
"(app-client)/./src/app/home.tsx": {
"*": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "default",
"async": false
}
}
},
"__edge_ssr_module_mapping__": {},
"__entry_css_files__": {
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page": [
"static/css/app/preview/[slug]/page.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page": [
"static/css/app/page.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/layout": [
"static/css/_app-client_src_styles_globals_css.css",
"static/css/_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b.css"
]
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css#": {
"id": "null",
"name": "",
"chunks": [
"static/css/app/preview/[slug]/page.css",
"static/css/app/page.css",
"static/css/_app-client_src_styles_globals_css.css"
]
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}#": {
"id": "null",
"name": "",
"chunks": [
"static/css/app/preview/[slug]/page.css",
"static/css/app/page.css",
"static/css/_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b.css"
]
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx#": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx#default": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx#": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx#default": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "default",
"async": false
}
}

View File

@@ -0,0 +1,431 @@
{
"__ssr_module_mapping__": {
"(app-client)/./node_modules/next/dist/client/components/app-router.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/error-boundary.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/layout-router.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js": {
"*": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
}
},
"(app-client)/./src/app/preview/[slug]/preview.tsx": {
"*": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "default",
"async": false
}
},
"(app-client)/./src/app/home.tsx": {
"*": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "*",
"async": false
},
"": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "",
"async": false
},
"default": {
"id": "(sc_client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "default",
"async": false
}
}
},
"__edge_ssr_module_mapping__": {},
"__entry_css_files__": {
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page": [
"static/css/app/preview/[slug]/page.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page": [
"static/css/app/page.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/layout": [
"static/css/_app-client_src_styles_globals_css.css",
"static/css/_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b.css"
]
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/app-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/app-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/app-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/error-boundary.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/error-boundary.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/error-boundary.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/layout-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/layout-router.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/layout-router.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js#": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/client/components/render-from-template-context.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/dist/esm/client/components/render-from-template-context.js#default": {
"id": "(app-client)/./node_modules/next/dist/client/components/render-from-template-context.js",
"chunks": [
"app-client-internals:app-client-internals"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css#": {
"id": "null",
"name": "",
"chunks": [
"static/css/app/preview/[slug]/page.css",
"static/css/app/page.css",
"static/css/_app-client_src_styles_globals_css.css"
]
},
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}#": {
"id": "null",
"name": "",
"chunks": [
"static/css/app/preview/[slug]/page.css",
"static/css/app/page.css",
"static/css/_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b.css"
]
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx#": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/preview.tsx#default": {
"id": "(app-client)/./src/app/preview/[slug]/preview.tsx",
"chunks": [
"app/preview/[slug]/page:app/preview/[slug]/page"
],
"name": "default",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "*",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx#": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "",
"async": false
},
"/Users/henryball/kan/src/email/.react-email/src/app/home.tsx#default": {
"id": "(app-client)/./src/app/home.tsx",
"chunks": [
"app/page:app/page"
],
"name": "default",
"async": false
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,24 @@
self.__RSC_CSS_MANIFEST={
"__entry_css_mods__": {
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page": [
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css",
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page": [
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css",
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}"
]
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/layout.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
]
}

View File

@@ -0,0 +1,24 @@
{
"__entry_css_mods__": {
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page": [
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css",
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page": [
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css",
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}"
]
},
"/Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/layout.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
],
"/Users/henryball/kan/src/email/.react-email/src/app/page.tsx": [
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}",
"/Users/henryball/kan/src/email/.react-email/src/styles/globals.css"
]
}

View File

@@ -0,0 +1 @@
self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":["static/chunks/webpack.js","static/chunks/amp.js"],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":["static/chunks/webpack.js","static/chunks/main-app.js"],"pages":{"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"]},"ampFirstPages":[]}

View File

@@ -0,0 +1,6 @@
{
"sortedMiddleware": [],
"middleware": {},
"functions": {},
"version": 2
}

View File

@@ -0,0 +1 @@
self.__REACT_LOADABLE_MANIFEST={}

View File

@@ -0,0 +1,10 @@
self.__NEXT_FONT_MANIFEST={
"pages": {},
"app": {
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}": [
"static/media/c9a5bc6a7c948fb0-s.p.woff2"
]
},
"appUsingSizeAdjust": true,
"pagesUsingSizeAdjust": false
}

View File

@@ -0,0 +1,10 @@
{
"pages": {},
"app": {
"/Users/henryball/kan/src/email/.react-email/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}": [
"static/media/c9a5bc6a7c948fb0-s.p.woff2"
]
},
"appUsingSizeAdjust": true,
"pagesUsingSizeAdjust": false
}

View File

@@ -0,0 +1,5 @@
{
"/_app": "pages/_app.js",
"/_error": "pages/_error.js",
"/_document": "pages/_document.js"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
self.__RSC_SERVER_MANIFEST={}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1,220 @@
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({});
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ loaded: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ var threw = true;
/******/ try {
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ threw = false;
/******/ } finally {
/******/ if(threw) delete __webpack_module_cache__[moduleId];
/******/ }
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/create fake namespace object */
/******/ (() => {
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
/******/ var leafPrototypes;
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 16: return value when it's Promise-like
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = this(value);
/******/ if(mode & 8) return value;
/******/ if(typeof value === 'object' && value) {
/******/ if((mode & 4) && value.__esModule) return value;
/******/ if((mode & 16) && typeof value.then === 'function') return value;
/******/ }
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ var def = {};
/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
/******/ }
/******/ def['default'] = () => (value);
/******/ __webpack_require__.d(ns, def);
/******/ return ns;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "" + chunkId + ".js";
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/getFullHash */
/******/ (() => {
/******/ __webpack_require__.h = () => ("ffff629e839782e5")
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/node module decorator */
/******/ (() => {
/******/ __webpack_require__.nmd = (module) => {
/******/ module.paths = [];
/******/ if (!module.children) module.children = [];
/******/ return module;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/startup entrypoint */
/******/ (() => {
/******/ __webpack_require__.X = (result, chunkIds, fn) => {
/******/ // arguments: chunkIds, moduleId are deprecated
/******/ var moduleId = chunkIds;
/******/ if(!fn) chunkIds = result, fn = () => (__webpack_require__(__webpack_require__.s = moduleId));
/******/ chunkIds.map(__webpack_require__.e, __webpack_require__)
/******/ var r = fn();
/******/ return r === undefined ? result : r;
/******/ }
/******/ })();
/******/
/******/ /* webpack/runtime/nonce */
/******/ (() => {
/******/ __webpack_require__.nc = undefined;
/******/ })();
/******/
/******/ /* webpack/runtime/require chunk loading */
/******/ (() => {
/******/ // no baseURI
/******/
/******/ // object to store loaded chunks
/******/ // "1" means "loaded", otherwise not loaded yet
/******/ var installedChunks = {
/******/ "webpack-runtime": 1
/******/ };
/******/
/******/ // no on chunks loaded
/******/
/******/ var installChunk = (chunk) => {
/******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
/******/ for(var moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) runtime(__webpack_require__);
/******/ for(var i = 0; i < chunkIds.length; i++)
/******/ installedChunks[chunkIds[i]] = 1;
/******/
/******/ };
/******/
/******/ // require() chunk loading for javascript
/******/ __webpack_require__.f.require = (chunkId, promises) => {
/******/ // "1" is the signal for "already loaded"
/******/ if(!installedChunks[chunkId]) {
/******/ if("webpack-runtime" != chunkId) {
/******/ installChunk(require("./" + __webpack_require__.u(chunkId)));
/******/ } else installedChunks[chunkId] = 1;
/******/ }
/******/ };
/******/
/******/ module.exports = __webpack_require__;
/******/ __webpack_require__.C = installChunk;
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/ })();
/******/
/************************************************************************/
/******/
/******/
/******/ })()
;

View File

@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["_app-client_src_styles_globals_css"],{
/***/ "(app-client)/./src/styles/globals.css":
/*!********************************!*\
!*** ./src/styles/globals.css ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"cb6342c80944\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1jbGllbnQpLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcz83YjMxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiY2I2MzQyYzgwOTQ0XCIiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-client)/./src/styles/globals.css\n"));
/***/ })
}]);

View File

@@ -0,0 +1,28 @@
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["/_error"],{
/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!":
/*!****************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error! ***!
\****************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD0lMkZVc2VycyUyRmhlbnJ5YmFsbCUyRmthbiUyRnNyYyUyRmVtYWlsJTJGLnJlYWN0LWVtYWlsJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZwYWdlcyUyRl9lcnJvci5qcyZwYWdlPSUyRl9lcnJvciEuanMiLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQywwRkFBMEM7QUFDakU7QUFDQTtBQUNBLE9BQU8sSUFBVTtBQUNqQixNQUFNLFVBQVU7QUFDaEI7QUFDQSxPQUFPO0FBQ1A7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvP2I5ZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgKHdpbmRvdy5fX05FWFRfUCA9IHdpbmRvdy5fX05FWFRfUCB8fCBbXSkucHVzaChbXG4gICAgICBcIi9fZXJyb3JcIixcbiAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmUoXCIuL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvcGFnZXMvX2Vycm9yLmpzXCIpO1xuICAgICAgfVxuICAgIF0pO1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5wdXNoKFtcIi9fZXJyb3JcIl0pXG4gICAgICB9KTtcbiAgICB9XG4gICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,28 @@
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/layout"],{
/***/ "(app-client)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%22path%22%3A%22src%2Fapp%2Flayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%2C%22variable%22%3A%22--font-inter%22%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fsrc%2Fstyles%2Fglobals.css&server=false!":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%22path%22%3A%22src%2Fapp%2Flayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%2C%22variable%22%3A%22--font-inter%22%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fsrc%2Fstyles%2Fglobals.css&server=false! ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("(() => __webpack_require__.e(/*! import() */ \"_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b\").then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"} */ \"(app-client)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"],\\\"variable\\\":\\\"--font-inter\\\"}],\\\"variableName\\\":\\\"inter\\\"}\", 23)));\n(() => __webpack_require__.e(/*! import() */ \"_app-client_src_styles_globals_css\").then(__webpack_require__.bind(__webpack_require__, /*! ./src/styles/globals.css */ \"(app-client)/./src/styles/globals.css\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1jbGllbnQpLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1mbGlnaHQtY2xpZW50LWVudHJ5LWxvYWRlci5qcz9tb2R1bGVzPSUyRlVzZXJzJTJGaGVucnliYWxsJTJGa2FuJTJGc3JjJTJGZW1haWwlMkYucmVhY3QtZW1haWwlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlMjJwYXRoJTIyJTNBJTIyc3JjJTJGYXBwJTJGbGF5b3V0LnRzeCUyMiUyQyUyMmltcG9ydCUyMiUzQSUyMkludGVyJTIyJTJDJTIyYXJndW1lbnRzJTIyJTNBJTVCJTdCJTIyc3Vic2V0cyUyMiUzQSU1QiUyMmxhdGluJTIyJTVEJTJDJTIydmFyaWFibGUlMjIlM0ElMjItLWZvbnQtaW50ZXIlMjIlN0QlNUQlMkMlMjJ2YXJpYWJsZU5hbWUlMjIlM0ElMjJpbnRlciUyMiU3RCZtb2R1bGVzPSUyRlVzZXJzJTJGaGVucnliYWxsJTJGa2FuJTJGc3JjJTJGZW1haWwlMkYucmVhY3QtZW1haWwlMkZzcmMlMkZzdHlsZXMlMkZnbG9iYWxzLmNzcyZzZXJ2ZXI9ZmFsc2UhLmpzIiwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa2xCQUFrUjtBQUN6UixPQUFPLHdNQUFzRyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvPzhiZDMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJsYXp5XCIgKi8gXCIvVXNlcnMvaGVucnliYWxsL2thbi9zcmMvZW1haWwvLnJlYWN0LWVtYWlsL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/e1xcXCJwYXRoXFxcIjpcXFwic3JjL2FwcC9sYXlvdXQudHN4XFxcIixcXFwiaW1wb3J0XFxcIjpcXFwiSW50ZXJcXFwiLFxcXCJhcmd1bWVudHNcXFwiOlt7XFxcInN1YnNldHNcXFwiOltcXFwibGF0aW5cXFwiXSxcXFwidmFyaWFibGVcXFwiOlxcXCItLWZvbnQtaW50ZXJcXFwifV0sXFxcInZhcmlhYmxlTmFtZVxcXCI6XFxcImludGVyXFxcIn1cIikpO1xuKCgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJsYXp5XCIgKi8gXCIvVXNlcnMvaGVucnliYWxsL2thbi9zcmMvZW1haWwvLnJlYWN0LWVtYWlsL3NyYy9zdHlsZXMvZ2xvYmFscy5jc3NcIikpIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-client)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%22path%22%3A%22src%2Fapp%2Flayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%2C%22variable%22%3A%22--font-inter%22%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fsrc%2Fstyles%2Fglobals.css&server=false!\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-client)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%22path%22%3A%22src%2Fapp%2Flayout.tsx%22%2C%22import%22%3A%22Inter%22%2C%22arguments%22%3A%5B%7B%22subsets%22%3A%5B%22latin%22%5D%2C%22variable%22%3A%22--font-inter%22%7D%5D%2C%22variableName%22%3A%22inter%22%7D&modules=%2FUsers%2Fhenryball%2Fkan%2Fsrc%2Femail%2F.react-email%2Fsrc%2Fstyles%2Fglobals.css&server=false!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,28 @@
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_app"],{
/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!":
/*!********************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app! ***!
\********************************************************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_app */ \"./node_modules/next/dist/pages/_app.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2FwcCZwYWdlPSUyRl9hcHAhLmpzIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsb0VBQXNCO0FBQzdDO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz85NDE3Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2FwcFwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fYXBwXCIpO1xuICAgICAgfVxuICAgIF0pO1xuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdpbmRvdy5fX05FWFRfUC5wdXNoKFtcIi9fYXBwXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"), __webpack_exec__("./node_modules/next/dist/client/router.js"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);

View File

@@ -0,0 +1,28 @@
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{
/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!":
/*!************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error! ***!
\************************************************************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! next/dist/pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1uZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yJnBhZ2U9JTJGX2Vycm9yIS5qcyIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLHdFQUF3QjtBQUMvQztBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/MDgwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL19lcnJvclwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIm5leHQvZGlzdC9wYWdlcy9fZXJyb3JcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19lcnJvclwiXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[2].oneOf[3].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[2].oneOf[3].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"variable":"--font-inter"}],"variableName":"inter"} ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/ec159349637c90ad-s.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/513657b02c5c193f-s.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/fd4db3eb5472fc27-s.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/51ed15f9841b9f9d-s.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/05a31a2ca4975f99-s.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/d6b16ce4a6175f26-s.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: '__Inter_a64ecd';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Inter_Fallback_a64ecd';src: local("Arial");ascent-override: 90.00%;descent-override: 22.43%;line-gap-override: 0.00%;size-adjust: 107.64%
}.__className_a64ecd {font-family: '__Inter_a64ecd', '__Inter_Fallback_a64ecd';font-style: normal
}.__variable_a64ecd {--font-inter: '__Inter_a64ecd', '__Inter_Fallback_a64ecd'
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
self.__BUILD_MANIFEST = {__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],sortedPages:["\u002F_app","\u002F_error"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()

View File

@@ -0,0 +1 @@
self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()

View File

@@ -0,0 +1 @@
{"c":["webpack"],"r":[],"m":[]}

View File

@@ -0,0 +1 @@
{"c":["amp","main","webpack"],"r":[],"m":[]}

View File

@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("_app-client_src_styles_globals_css",{
/***/ "(app-client)/./src/styles/globals.css":
/*!********************************!*\
!*** ./src/styles/globals.css ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"cb6342c80944\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1jbGllbnQpLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcz83YjMxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiY2I2MzQyYzgwOTQ0XCIiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-client)/./src/styles/globals.css\n"));
/***/ })
});

View File

@@ -0,0 +1 @@
{"c":["webpack"],"r":[],"m":[]}

View File

@@ -0,0 +1 @@
{"c":["app/preview/[slug]/page","webpack","_app-client_src_styles_globals_css"],"r":[],"m":[]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/preview/[slug]/page",{
/***/ "(app-client)/./src/styles/globals.css":
/*!********************************!*\
!*** ./src/styles/globals.css ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"cb6342c80944\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1jbGllbnQpLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcy5qcyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL3N0eWxlcy9nbG9iYWxzLmNzcz83YjMxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiY2I2MzQyYzgwOTQ0XCIiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-client)/./src/styles/globals.css\n"));
/***/ })
});

View File

@@ -0,0 +1 @@
{"c":["webpack"],"r":[],"m":[]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("webpack",{},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
/******/ __webpack_require__.h = function() { return "a6d8f33d133c17fb"; }
/******/ }();
/******/
/******/ }
);

View File

@@ -0,0 +1,31 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("webpack",{},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
/******/ __webpack_require__.h = function() { return "d0abe4ed4f1adeb6"; }
/******/ }();
/******/
/******/ /* webpack/runtime/compat */
/******/
/******/
/******/ // noop fns to prevent runtime errors during initialization
/******/ if (typeof self !== "undefined") {
/******/ self.$RefreshReg$ = function () {};
/******/ self.$RefreshSig$ = function () {
/******/ return function (type) {
/******/ return type;
/******/ };
/******/ };
/******/ }
/******/
/******/ }
);

View File

@@ -0,0 +1,18 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("webpack",{},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
/******/ __webpack_require__.h = function() { return "bc97c3fe8a89542f"; }
/******/ }();
/******/
/******/ }
);

View File

@@ -0,0 +1,18 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("webpack",{},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
/******/ __webpack_require__.h = function() { return "171eeefbe76c6e07"; }
/******/ }();
/******/
/******/ }
);

View File

@@ -0,0 +1,209 @@
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("webpack",{},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ /* webpack/runtime/compat get default export */
/******/ !function() {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function() { return module['default']; } :
/******/ function() { return module; };
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/create fake namespace object */
/******/ !function() {
/******/ var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };
/******/ var leafPrototypes;
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 16: return value when it's Promise-like
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = this(value);
/******/ if(mode & 8) return value;
/******/ if(typeof value === 'object' && value) {
/******/ if((mode & 4) && value.__esModule) return value;
/******/ if((mode & 16) && typeof value.then === 'function') return value;
/******/ }
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ var def = {};
/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
/******/ Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });
/******/ }
/******/ def['default'] = function() { return value; };
/******/ __webpack_require__.d(ns, def);
/******/ return ns;
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ !function() {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ !function() {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = function(chunkId) {
/******/ // return url for filenames based on template
/******/ return "static/chunks/" + chunkId + ".js";
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/get mini-css chunk filename */
/******/ !function() {
/******/ // This function allow to reference all chunks
/******/ __webpack_require__.miniCssF = function(chunkId) {
/******/ // return url for filenames based on template
/******/ return "static/css/" + chunkId + ".css";
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/getFullHash */
/******/ !function() {
/******/ __webpack_require__.h = function() { return "ad8029623adc75d7"; }
/******/ }();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ !function() {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/css loading */
/******/ !function() {
/******/ var createStylesheet = function(chunkId, fullhref, resolve, reject) {
/******/ var linkTag = document.createElement("link");
/******/
/******/ linkTag.rel = "stylesheet";
/******/ linkTag.type = "text/css";
/******/ var onLinkComplete = function(event) {
/******/ // avoid mem leaks.
/******/ linkTag.onerror = linkTag.onload = null;
/******/ if (event.type === 'load') {
/******/ resolve();
/******/ } else {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realHref = event && event.target && event.target.href || fullhref;
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
/******/ err.type = errorType;
/******/ err.request = realHref;
/******/ linkTag.parentNode.removeChild(linkTag)
/******/ reject(err);
/******/ }
/******/ }
/******/ linkTag.onerror = linkTag.onload = onLinkComplete;
/******/ linkTag.href = fullhref;
/******/
/******/ document.head.appendChild(linkTag);
/******/ return linkTag;
/******/ };
/******/ var findStylesheet = function(href, fullhref) {
/******/ var existingLinkTags = document.getElementsByTagName("link");
/******/ for(var i = 0; i < existingLinkTags.length; i++) {
/******/ var tag = existingLinkTags[i];
/******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
/******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;
/******/ }
/******/ var existingStyleTags = document.getElementsByTagName("style");
/******/ for(var i = 0; i < existingStyleTags.length; i++) {
/******/ var tag = existingStyleTags[i];
/******/ var dataHref = tag.getAttribute("data-href");
/******/ if(dataHref === href || dataHref === fullhref) return tag;
/******/ }
/******/ };
/******/ var loadStylesheet = function(chunkId) {
/******/ return new Promise(function(resolve, reject) {
/******/ var href = __webpack_require__.miniCssF(chunkId);
/******/ var fullhref = __webpack_require__.p + href;
/******/ if(findStylesheet(href, fullhref)) return resolve();
/******/ createStylesheet(chunkId, fullhref, resolve, reject);
/******/ });
/******/ }
/******/ // object to store loaded CSS chunks
/******/ var installedCssChunks = {
/******/ "webpack": 0
/******/ };
/******/
/******/ __webpack_require__.f.miniCss = function(chunkId, promises) {
/******/ var cssChunks = {"_app-client_node_modules_next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arg-7ffe8b":1,"_app-client_src_styles_globals_css":1};
/******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
/******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
/******/ promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {
/******/ installedCssChunks[chunkId] = 0;
/******/ }, function(e) {
/******/ delete installedCssChunks[chunkId];
/******/ throw e;
/******/ }));
/******/ }
/******/ };
/******/
/******/ var oldTags = [];
/******/ var newTags = [];
/******/ var applyHandler = function(options) {
/******/ return { dispose: function() {
/******/ for(var i = 0; i < oldTags.length; i++) {
/******/ var oldTag = oldTags[i];
/******/ if(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);
/******/ }
/******/ oldTags.length = 0;
/******/ }, apply: function() {
/******/ for(var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet";
/******/ newTags.length = 0;
/******/ } };
/******/ }
/******/ __webpack_require__.hmrC.miniCss = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {
/******/ applyHandlers.push(applyHandler);
/******/ chunkIds.forEach(function(chunkId) {
/******/ var href = __webpack_require__.miniCssF(chunkId);
/******/ var fullhref = __webpack_require__.p + href;
/******/ var oldTag = findStylesheet(href, fullhref);
/******/ if(!oldTag) return;
/******/ promises.push(new Promise(function(resolve, reject) {
/******/ var tag = createStylesheet(chunkId, fullhref, function() {
/******/ tag.as = "style";
/******/ tag.rel = "preload";
/******/ resolve();
/******/ }, reject);
/******/ oldTags.push(oldTag);
/******/ newTags.push(tag);
/******/ }));
/******/ });
/******/ }
/******/ }();
/******/
/******/ /* webpack/runtime/nonce */
/******/ !function() {
/******/ __webpack_require__.nc = undefined;
/******/ }();
/******/
/******/ }
);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,66 @@
// File: /Users/henryball/kan/src/email/.react-email/src/app/layout.tsx
import * as entry from '../../../src/app/layout'
import type { ResolvingMetadata } from 'next/dist/lib/metadata/types/metadata-interface'
type TEntry = typeof entry
// Check that the entry is a valid entry
checkFields<Diff<{
default: Function
config?: {}
generateStaticParams?: Function
revalidate?: RevalidateRange<TEntry> | false
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
dynamicParams?: boolean
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
preferredRegion?: 'auto' | 'home' | 'edge'
metadata?: any
generateMetadata?: Function
}, TEntry, ''>>()
// Check the prop type of the entry function
checkFields<Diff<LayoutProps, FirstArg<TEntry['default']>, 'default'>>()
// Check the arguments and return type of the generateMetadata function
if ('generateMetadata' in entry) {
checkFields<Diff<LayoutProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
}
// Check the arguments and return type of the generateStaticParams function
if ('generateStaticParams' in entry) {
checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
}
type PageParams = any
export interface PageProps {
params?: any
searchParams?: any
}
export interface LayoutProps {
children?: React.ReactNode
params?: any
}
// =============
// Utility types
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
function checkFields<_ extends { [k in keyof any]: never }>() {}
// https://github.com/sindresorhus/type-fest
type Numeric = number | bigint
type Zero = 0 | 0n
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'

View File

@@ -0,0 +1,66 @@
// File: /Users/henryball/kan/src/email/.react-email/src/app/page.tsx
import * as entry from '../../../src/app/page'
import type { ResolvingMetadata } from 'next/dist/lib/metadata/types/metadata-interface'
type TEntry = typeof entry
// Check that the entry is a valid entry
checkFields<Diff<{
default: Function
config?: {}
generateStaticParams?: Function
revalidate?: RevalidateRange<TEntry> | false
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
dynamicParams?: boolean
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
preferredRegion?: 'auto' | 'home' | 'edge'
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
metadata?: any
generateMetadata?: Function
}, TEntry, ''>>()
// Check the prop type of the entry function
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
// Check the arguments and return type of the generateMetadata function
if ('generateMetadata' in entry) {
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
}
// Check the arguments and return type of the generateStaticParams function
if ('generateStaticParams' in entry) {
checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
}
type PageParams = any
export interface PageProps {
params?: any
searchParams?: any
}
export interface LayoutProps {
children?: React.ReactNode
params?: any
}
// =============
// Utility types
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
function checkFields<_ extends { [k in keyof any]: never }>() {}
// https://github.com/sindresorhus/type-fest
type Numeric = number | bigint
type Zero = 0 | 0n
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'

View File

@@ -0,0 +1,66 @@
// File: /Users/henryball/kan/src/email/.react-email/src/app/preview/[slug]/page.tsx
import * as entry from '../../../../../src/app/preview/[slug]/page'
import type { ResolvingMetadata } from 'next/dist/lib/metadata/types/metadata-interface'
type TEntry = typeof entry
// Check that the entry is a valid entry
checkFields<Diff<{
default: Function
config?: {}
generateStaticParams?: Function
revalidate?: RevalidateRange<TEntry> | false
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
dynamicParams?: boolean
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
preferredRegion?: 'auto' | 'home' | 'edge'
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
metadata?: any
generateMetadata?: Function
}, TEntry, ''>>()
// Check the prop type of the entry function
checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>()
// Check the arguments and return type of the generateMetadata function
if ('generateMetadata' in entry) {
checkFields<Diff<PageProps, FirstArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
checkFields<Diff<ResolvingMetadata, SecondArg<MaybeField<TEntry, 'generateMetadata'>>, 'generateMetadata'>>()
}
// Check the arguments and return type of the generateStaticParams function
if ('generateStaticParams' in entry) {
checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
}
type PageParams = any
export interface PageProps {
params?: any
searchParams?: any
}
export interface LayoutProps {
children?: React.ReactNode
params?: any
}
// =============
// Utility types
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
function checkFields<_ extends { [k in keyof any]: never }>() {}
// https://github.com/sindresorhus/type-fest
type Numeric = number | bigint
type Zero = 0 | 0n
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'

Some files were not shown because too many files have changed in this diff Show More