-
-
-
-
{firstThreeWords}
-
-
{title}
-
-
-
+// const BreadCrumb = ({title, innerTitle}) => {
+// const firstThreeWords = title?.split(' ').slice(0, 1);
+// return (
+//
+//
+//
+//
+//
+//
{firstThreeWords}
+//
+// - Home|
+// - {innerTitle}
+//
+//
{title}
+//
+//
+//
+//
+//
+// );
+// };
+
+// export default BreadCrumb;
+
+
+const BreadCrumb = ({ title, innerTitle }) => {
+ const firstThreeWords = title?.split(' ').slice(0, 1);
+ return (
+
+
+
+
+
+
{firstThreeWords}
+
+ -
+ Home
+ |
+
+ - {innerTitle}
+
+
{title}
+
- );
+
+
+ );
};
-export default BreadCrumb;
\ No newline at end of file
+export default BreadCrumb;
diff --git a/src/components/pages/common/skill-bar.jsx b/src/components/pages/common/skill-bar.jsx
index da5ddf6..140136b 100644
--- a/src/components/pages/common/skill-bar.jsx
+++ b/src/components/pages/common/skill-bar.jsx
@@ -1,25 +1,57 @@
-import { useState } from "react";
-import CountUp from 'react-countup';
-import ScrollTrigger from "react-scroll-trigger";
-import ReactSkillBar from 'react-skillbars';
+// import { useState } from "react";
+// import CountUp from 'react-countup';
+// import ScrollTrigger from "react-scroll-trigger";
+// import ReactSkillBar from 'react-skillbars';
-const SkillBarItem = ({countUp}) => {
- const [skillBar, setSkillBar] = useState(false);
- const skillLevel = [
- { type: 'one', level: countUp }
- ];
- return (
- <>
-
setSkillBar(true)} onExit={()=> setSkillBar(false)}>
-
- {skillBar && }
-
- {skillBar && }%
-
-
-
- >
- );
+// const SkillBarItem = ({countUp}) => {
+// const [skillBar, setSkillBar] = useState(false);
+// const skillLevel = [
+// { type: 'one', level: countUp }
+// ];
+// return (
+// <>
+//
setSkillBar(true)} onExit={()=> setSkillBar(false)}>
+//
+// {skillBar && }
+//
+// {skillBar && }%
+//
+//
+//
+// >
+// );
+// };
+
+// export default SkillBarItem;
+
+
+import { useState, useEffect } from "react";
+import CountUp from "react-countup";
+import { useInView } from "react-intersection-observer";
+import ReactSkillBar from "react-skillbars";
+
+const SkillBarItem = ({ countUp }) => {
+ const [skillBar, setSkillBar] = useState(false);
+ const { ref, inView } = useInView({ triggerOnce: true });
+ const skillLevel = [{ type: "one", level: countUp }];
+
+ useEffect(() => {
+ if (inView) setSkillBar(true);
+ }, [inView]);
+
+ return (
+
+ {skillBar && (
+
+ )}
+
+
+ {skillBar && }
+
+ %
+
+
+ );
};
-export default SkillBarItem;
\ No newline at end of file
+export default SkillBarItem;
diff --git a/src/components/pages/error/index.jsx b/src/components/pages/error/index.jsx
index e25f458..1aa5de6 100644
--- a/src/components/pages/error/index.jsx
+++ b/src/components/pages/error/index.jsx
@@ -1,9 +1,9 @@
"use client";
-import SEO from '@/src/components/data/seo';
-import HeaderThree from '@/src/components/layout/header/header-three';
+import SEO from '@/components/data/seo';
+import HeaderThree from '@/components/layout/header/header-three';
import BreadCrumb from '../common/breadcrumb';
import Error from './error';
-import FooterThree from '@/src/components/layout/footer/footer-three';
+import FooterThree from '@/components/layout/footer/footer-three';
import ScrollToTop from '../common/scroll/scroll-to-top';
const ErrorPage = () => {
diff --git a/src/payload-types.ts b/src/payload-types.ts
new file mode 100644
index 0000000..a9606af
--- /dev/null
+++ b/src/payload-types.ts
@@ -0,0 +1,299 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * This file was automatically generated by Payload.
+ * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
+ * and re-run `payload generate:types` to regenerate this file.
+ */
+
+/**
+ * Supported timezones in IANA format.
+ *
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "supportedTimezones".
+ */
+export type SupportedTimezones =
+ | 'Pacific/Midway'
+ | 'Pacific/Niue'
+ | 'Pacific/Honolulu'
+ | 'Pacific/Rarotonga'
+ | 'America/Anchorage'
+ | 'Pacific/Gambier'
+ | 'America/Los_Angeles'
+ | 'America/Tijuana'
+ | 'America/Denver'
+ | 'America/Phoenix'
+ | 'America/Chicago'
+ | 'America/Guatemala'
+ | 'America/New_York'
+ | 'America/Bogota'
+ | 'America/Caracas'
+ | 'America/Santiago'
+ | 'America/Buenos_Aires'
+ | 'America/Sao_Paulo'
+ | 'Atlantic/South_Georgia'
+ | 'Atlantic/Azores'
+ | 'Atlantic/Cape_Verde'
+ | 'Europe/London'
+ | 'Europe/Berlin'
+ | 'Africa/Lagos'
+ | 'Europe/Athens'
+ | 'Africa/Cairo'
+ | 'Europe/Moscow'
+ | 'Asia/Riyadh'
+ | 'Asia/Dubai'
+ | 'Asia/Baku'
+ | 'Asia/Karachi'
+ | 'Asia/Tashkent'
+ | 'Asia/Calcutta'
+ | 'Asia/Dhaka'
+ | 'Asia/Almaty'
+ | 'Asia/Jakarta'
+ | 'Asia/Bangkok'
+ | 'Asia/Shanghai'
+ | 'Asia/Singapore'
+ | 'Asia/Tokyo'
+ | 'Asia/Seoul'
+ | 'Australia/Brisbane'
+ | 'Australia/Sydney'
+ | 'Pacific/Guam'
+ | 'Pacific/Noumea'
+ | 'Pacific/Auckland'
+ | 'Pacific/Fiji';
+
+export interface Config {
+ auth: {
+ users: UserAuthOperations;
+ };
+ blocks: {};
+ collections: {
+ users: User;
+ media: Media;
+ 'payload-locked-documents': PayloadLockedDocument;
+ 'payload-preferences': PayloadPreference;
+ 'payload-migrations': PayloadMigration;
+ };
+ collectionsJoins: {};
+ collectionsSelect: {
+ users: UsersSelect
| UsersSelect;
+ media: MediaSelect | MediaSelect;
+ 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect;
+ 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect;
+ 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect;
+ };
+ db: {
+ defaultIDType: string;
+ };
+ globals: {};
+ globalsSelect: {};
+ locale: null;
+ user: User & {
+ collection: 'users';
+ };
+ jobs: {
+ tasks: unknown;
+ workflows: unknown;
+ };
+}
+export interface UserAuthOperations {
+ forgotPassword: {
+ email: string;
+ password: string;
+ };
+ login: {
+ email: string;
+ password: string;
+ };
+ registerFirstUser: {
+ email: string;
+ password: string;
+ };
+ unlock: {
+ email: string;
+ password: string;
+ };
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "users".
+ */
+export interface User {
+ id: string;
+ updatedAt: string;
+ createdAt: string;
+ email: string;
+ resetPasswordToken?: string | null;
+ resetPasswordExpiration?: string | null;
+ salt?: string | null;
+ hash?: string | null;
+ loginAttempts?: number | null;
+ lockUntil?: string | null;
+ sessions?:
+ | {
+ id: string;
+ createdAt?: string | null;
+ expiresAt: string;
+ }[]
+ | null;
+ password?: string | null;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "media".
+ */
+export interface Media {
+ id: string;
+ alt: string;
+ updatedAt: string;
+ createdAt: string;
+ url?: string | null;
+ thumbnailURL?: string | null;
+ filename?: string | null;
+ mimeType?: string | null;
+ filesize?: number | null;
+ width?: number | null;
+ height?: number | null;
+ focalX?: number | null;
+ focalY?: number | null;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-locked-documents".
+ */
+export interface PayloadLockedDocument {
+ id: string;
+ document?:
+ | ({
+ relationTo: 'users';
+ value: string | User;
+ } | null)
+ | ({
+ relationTo: 'media';
+ value: string | Media;
+ } | null);
+ globalSlug?: string | null;
+ user: {
+ relationTo: 'users';
+ value: string | User;
+ };
+ updatedAt: string;
+ createdAt: string;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-preferences".
+ */
+export interface PayloadPreference {
+ id: string;
+ user: {
+ relationTo: 'users';
+ value: string | User;
+ };
+ key?: string | null;
+ value?:
+ | {
+ [k: string]: unknown;
+ }
+ | unknown[]
+ | string
+ | number
+ | boolean
+ | null;
+ updatedAt: string;
+ createdAt: string;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-migrations".
+ */
+export interface PayloadMigration {
+ id: string;
+ name?: string | null;
+ batch?: number | null;
+ updatedAt: string;
+ createdAt: string;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "users_select".
+ */
+export interface UsersSelect {
+ updatedAt?: T;
+ createdAt?: T;
+ email?: T;
+ resetPasswordToken?: T;
+ resetPasswordExpiration?: T;
+ salt?: T;
+ hash?: T;
+ loginAttempts?: T;
+ lockUntil?: T;
+ sessions?:
+ | T
+ | {
+ id?: T;
+ createdAt?: T;
+ expiresAt?: T;
+ };
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "media_select".
+ */
+export interface MediaSelect {
+ alt?: T;
+ updatedAt?: T;
+ createdAt?: T;
+ url?: T;
+ thumbnailURL?: T;
+ filename?: T;
+ mimeType?: T;
+ filesize?: T;
+ width?: T;
+ height?: T;
+ focalX?: T;
+ focalY?: T;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-locked-documents_select".
+ */
+export interface PayloadLockedDocumentsSelect {
+ document?: T;
+ globalSlug?: T;
+ user?: T;
+ updatedAt?: T;
+ createdAt?: T;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-preferences_select".
+ */
+export interface PayloadPreferencesSelect {
+ user?: T;
+ key?: T;
+ value?: T;
+ updatedAt?: T;
+ createdAt?: T;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "payload-migrations_select".
+ */
+export interface PayloadMigrationsSelect {
+ name?: T;
+ batch?: T;
+ updatedAt?: T;
+ createdAt?: T;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "auth".
+ */
+export interface Auth {
+ [k: string]: unknown;
+}
+
+
+declare module 'payload' {
+ export interface GeneratedTypes extends Config {}
+}
\ No newline at end of file
diff --git a/src/payload.config.ts b/src/payload.config.ts
new file mode 100644
index 0000000..ced4bac
--- /dev/null
+++ b/src/payload.config.ts
@@ -0,0 +1,1778 @@
+// storage-adapter-import-placeholder
+import { mongooseAdapter } from '@payloadcms/db-mongodb'
+import { payloadCloudPlugin } from '@payloadcms/payload-cloud'
+import { lexicalEditor } from '@payloadcms/richtext-lexical'
+import path from 'path'
+import { buildConfig } from 'payload'
+import { fileURLToPath } from 'url'
+import sharp from 'sharp'
+
+import { Users } from './collections/Users'
+import { Media } from './collections/Media'
+
+const filename = fileURLToPath(import.meta.url)
+const dirname = path.dirname(filename)
+
+export default buildConfig({
+ admin: {
+ user: Users.slug,
+ importMap: {
+ baseDir: path.resolve(dirname),
+ },
+ },
+ collections: [Users, Media],
+ // collections: {
+ // pages: Page;
+ // posts: Post;
+ // media: Media;
+ // categories: Category;
+ // users: User;
+ // redirects: Redirect;
+ // forms: Form;
+ // 'form-submissions': FormSubmission;
+ // search: Search;
+ // 'payload-jobs': PayloadJob;
+ // 'payload-locked-documents': PayloadLockedDocument;
+ // 'payload-preferences': PayloadPreference;
+ // 'payload-migrations': PayloadMigration;
+ // };
+ editor: lexicalEditor(),
+ secret: process.env.PAYLOAD_SECRET || '',
+ typescript: {
+ outputFile: path.resolve(dirname, 'payload-types.ts'),
+ },
+ db: mongooseAdapter({
+ url: process.env.DATABASE_URI || '',
+ }),
+ sharp,
+ plugins: [
+ payloadCloudPlugin(),
+ // storage-adapter-placeholder
+ ],
+})
+
+
+// /* tslint:disable */
+// /* eslint-disable */
+// /**
+// * This file was automatically generated by Payload.
+// * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
+// * and re-run `payload generate:types` to regenerate this file.
+// */
+
+// /**
+// * Supported timezones in IANA format.
+// *
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "supportedTimezones".
+// */
+
+
+
+
+
+// export type SupportedTimezones =
+// | 'Pacific/Midway'
+// | 'Pacific/Niue'
+// | 'Pacific/Honolulu'
+// | 'Pacific/Rarotonga'
+// | 'America/Anchorage'
+// | 'Pacific/Gambier'
+// | 'America/Los_Angeles'
+// | 'America/Tijuana'
+// | 'America/Denver'
+// | 'America/Phoenix'
+// | 'America/Chicago'
+// | 'America/Guatemala'
+// | 'America/New_York'
+// | 'America/Bogota'
+// | 'America/Caracas'
+// | 'America/Santiago'
+// | 'America/Buenos_Aires'
+// | 'America/Sao_Paulo'
+// | 'Atlantic/South_Georgia'
+// | 'Atlantic/Azores'
+// | 'Atlantic/Cape_Verde'
+// | 'Europe/London'
+// | 'Europe/Berlin'
+// | 'Africa/Lagos'
+// | 'Europe/Athens'
+// | 'Africa/Cairo'
+// | 'Europe/Moscow'
+// | 'Asia/Riyadh'
+// | 'Asia/Dubai'
+// | 'Asia/Baku'
+// | 'Asia/Karachi'
+// | 'Asia/Tashkent'
+// | 'Asia/Calcutta'
+// | 'Asia/Dhaka'
+// | 'Asia/Almaty'
+// | 'Asia/Jakarta'
+// | 'Asia/Bangkok'
+// | 'Asia/Shanghai'
+// | 'Asia/Singapore'
+// | 'Asia/Tokyo'
+// | 'Asia/Seoul'
+// | 'Australia/Brisbane'
+// | 'Australia/Sydney'
+// | 'Pacific/Guam'
+// | 'Pacific/Noumea'
+// | 'Pacific/Auckland'
+// | 'Pacific/Fiji';
+
+// export interface Config {
+// auth: {
+// users: UserAuthOperations;
+// };
+// blocks: {};
+// collections: {
+// pages: Page;
+// posts: Post;
+// media: Media;
+// categories: Category;
+// users: User;
+// redirects: Redirect;
+// forms: Form;
+// 'form-submissions': FormSubmission;
+// search: Search;
+// 'payload-jobs': PayloadJob;
+// 'payload-locked-documents': PayloadLockedDocument;
+// 'payload-preferences': PayloadPreference;
+// 'payload-migrations': PayloadMigration;
+// };
+// collectionsJoins: {};
+// collectionsSelect: {
+// pages: PagesSelect | PagesSelect;
+// posts: PostsSelect | PostsSelect;
+// media: MediaSelect | MediaSelect;
+// categories: CategoriesSelect | CategoriesSelect;
+// users: UsersSelect | UsersSelect;
+// redirects: RedirectsSelect | RedirectsSelect;
+// forms: FormsSelect | FormsSelect;
+// 'form-submissions': FormSubmissionsSelect | FormSubmissionsSelect;
+// search: SearchSelect | SearchSelect;
+// 'payload-jobs': PayloadJobsSelect | PayloadJobsSelect;
+// 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect;
+// 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect;
+// 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect;
+// };
+// db: {
+// defaultIDType: string;
+// };
+// globals: {
+// header: Header;
+// footer: Footer;
+// };
+// globalsSelect: {
+// header: HeaderSelect | HeaderSelect;
+// footer: FooterSelect | FooterSelect;
+// };
+// locale: null;
+// user: User & {
+// collection: 'users';
+// };
+// jobs: {
+// tasks: {
+// schedulePublish: TaskSchedulePublish;
+// inline: {
+// input: unknown;
+// output: unknown;
+// };
+// };
+// workflows: unknown;
+// };
+// }
+// export interface UserAuthOperations {
+// forgotPassword: {
+// email: string;
+// password: string;
+// };
+// login: {
+// email: string;
+// password: string;
+// };
+// registerFirstUser: {
+// email: string;
+// password: string;
+// };
+// unlock: {
+// email: string;
+// password: string;
+// };
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "pages".
+// */
+// export interface Page {
+// id: string;
+// title: string;
+// hero: {
+// type: 'none' | 'highImpact' | 'mediumImpact' | 'lowImpact';
+// richText?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// form?: {
+// submitLabel?: string | null;
+// fields?:
+// | {
+// label: string;
+// type: 'text' | 'email' | 'select';
+// options?:
+// | {
+// label: string;
+// value: string;
+// id?: string | null;
+// }[]
+// | null;
+// required?: boolean | null;
+// id?: string | null;
+// }[]
+// | null;
+// };
+// media?: (string | null) | Media;
+// };
+// layout: (CallToActionBlock | ContentBlock | MediaBlock | ArchiveBlock | FormBlock)[];
+// meta?: {
+// title?: string | null;
+// /**
+// * Maximum upload file size: 12MB. Recommended file size for images is <500KB.
+// */
+// image?: (string | null) | Media;
+// description?: string | null;
+// };
+// publishedAt?: string | null;
+// slug?: string | null;
+// slugLock?: boolean | null;
+// updatedAt: string;
+// createdAt: string;
+// _status?: ('draft' | 'published') | null;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "media".
+// */
+// export interface Media {
+// id: string;
+// alt?: string | null;
+// caption?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// updatedAt: string;
+// createdAt: string;
+// url?: string | null;
+// thumbnailURL?: string | null;
+// filename?: string | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// width?: number | null;
+// height?: number | null;
+// focalX?: number | null;
+// focalY?: number | null;
+// sizes?: {
+// thumbnail?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// square?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// small?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// medium?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// large?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// xlarge?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// og?: {
+// url?: string | null;
+// width?: number | null;
+// height?: number | null;
+// mimeType?: string | null;
+// filesize?: number | null;
+// filename?: string | null;
+// };
+// };
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "CallToActionBlock".
+// */
+// export interface CallToActionBlock {
+// richText?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// links?:
+// | {
+// link: {
+// type?: ('reference' | 'custom') | null;
+// newTab?: boolean | null;
+// reference?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// url?: string | null;
+// label: string;
+// /**
+// * Choose how the link should be rendered.
+// */
+// appearance?: ('default' | 'outline') | null;
+// };
+// id?: string | null;
+// }[]
+// | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'cta';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "posts".
+// */
+// export interface Post {
+// id: string;
+// title: string;
+// heroImage?: (string | null) | Media;
+// content: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// };
+// relatedPosts?: (string | Post)[] | null;
+// categories?: (string | Category)[] | null;
+// meta?: {
+// title?: string | null;
+// /**
+// * Maximum upload file size: 12MB. Recommended file size for images is <500KB.
+// */
+// image?: (string | null) | Media;
+// description?: string | null;
+// };
+// publishedAt?: string | null;
+// authors?: (string | User)[] | null;
+// populatedAuthors?:
+// | {
+// id?: string | null;
+// name?: string | null;
+// }[]
+// | null;
+// slug?: string | null;
+// slugLock?: boolean | null;
+// updatedAt: string;
+// createdAt: string;
+// _status?: ('draft' | 'published') | null;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "categories".
+// */
+// export interface Category {
+// id: string;
+// title: string;
+// slug?: string | null;
+// slugLock?: boolean | null;
+// parent?: (string | null) | Category;
+// breadcrumbs?:
+// | {
+// doc?: (string | null) | Category;
+// url?: string | null;
+// label?: string | null;
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "users".
+// */
+// export interface User {
+// id: string;
+// name?: string | null;
+// updatedAt: string;
+// createdAt: string;
+// email: string;
+// resetPasswordToken?: string | null;
+// resetPasswordExpiration?: string | null;
+// salt?: string | null;
+// hash?: string | null;
+// loginAttempts?: number | null;
+// lockUntil?: string | null;
+// sessions?:
+// | {
+// id: string;
+// createdAt?: string | null;
+// expiresAt: string;
+// }[]
+// | null;
+// password?: string | null;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "ContentBlock".
+// */
+// export interface ContentBlock {
+// image: string | Media;
+// date: string;
+// name: string;
+// heading: string;
+// highlightText: string;
+// richText?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// enableButton?: boolean | null;
+// link?: {
+// type?: ('reference' | 'custom') | null;
+// newTab?: boolean | null;
+// reference?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// url?: string | null;
+// label: string;
+// /**
+// * Choose how the link should be rendered.
+// */
+// appearance?: ('default' | 'outline') | null;
+// };
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'content';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "MediaBlock".
+// */
+// export interface MediaBlock {
+// media: string | Media;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'mediaBlock';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "ArchiveBlock".
+// */
+// export interface ArchiveBlock {
+// introContent?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// populateBy?: ('collection' | 'selection') | null;
+// relationTo?: 'posts' | null;
+// categories?: (string | Category)[] | null;
+// limit?: number | null;
+// selectedDocs?:
+// | {
+// relationTo: 'posts';
+// value: string | Post;
+// }[]
+// | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'archive';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "FormBlock".
+// */
+// export interface FormBlock {
+// form: string | Form;
+// enableIntro?: boolean | null;
+// introContent?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'formBlock';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "forms".
+// */
+// export interface Form {
+// id: string;
+// title: string;
+// fields?:
+// | (
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// required?: boolean | null;
+// defaultValue?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'checkbox';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'country';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'email';
+// }
+// | {
+// message?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'message';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// defaultValue?: number | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'number';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// defaultValue?: string | null;
+// placeholder?: string | null;
+// options?:
+// | {
+// label: string;
+// value: string;
+// id?: string | null;
+// }[]
+// | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'select';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'state';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// defaultValue?: string | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'text';
+// }
+// | {
+// name: string;
+// label?: string | null;
+// width?: number | null;
+// defaultValue?: string | null;
+// required?: boolean | null;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'textarea';
+// }
+// )[]
+// | null;
+// submitButtonLabel?: string | null;
+// /**
+// * Choose whether to display an on-page message or redirect to a different page after they submit the form.
+// */
+// confirmationType?: ('message' | 'redirect') | null;
+// confirmationMessage?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// redirect?: {
+// url: string;
+// };
+// /**
+// * Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
+// */
+// emails?:
+// | {
+// emailTo?: string | null;
+// cc?: string | null;
+// bcc?: string | null;
+// replyTo?: string | null;
+// emailFrom?: string | null;
+// subject: string;
+// /**
+// * Enter the message that should be sent in this email.
+// */
+// message?: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// } | null;
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "redirects".
+// */
+// export interface Redirect {
+// id: string;
+// /**
+// * You will need to rebuild the website when changing this field.
+// */
+// from: string;
+// to?: {
+// type?: ('reference' | 'custom') | null;
+// reference?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// url?: string | null;
+// };
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "form-submissions".
+// */
+// export interface FormSubmission {
+// id: string;
+// form: string | Form;
+// submissionData?:
+// | {
+// field: string;
+// value: string;
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated.
+// *
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "search".
+// */
+// export interface Search {
+// id: string;
+// title?: string | null;
+// priority?: number | null;
+// doc: {
+// relationTo: 'posts';
+// value: string | Post;
+// };
+// slug?: string | null;
+// meta?: {
+// title?: string | null;
+// description?: string | null;
+// image?: (string | null) | Media;
+// };
+// categories?:
+// | {
+// relationTo?: string | null;
+// categoryID?: string | null;
+// title?: string | null;
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-jobs".
+// */
+// export interface PayloadJob {
+// id: string;
+// /**
+// * Input data provided to the job
+// */
+// input?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// taskStatus?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// completedAt?: string | null;
+// totalTried?: number | null;
+// /**
+// * If hasError is true this job will not be retried
+// */
+// hasError?: boolean | null;
+// /**
+// * If hasError is true, this is the error that caused it
+// */
+// error?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// /**
+// * Task execution log
+// */
+// log?:
+// | {
+// executedAt: string;
+// completedAt: string;
+// taskSlug: 'inline' | 'schedulePublish';
+// taskID: string;
+// input?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// output?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// state: 'failed' | 'succeeded';
+// error?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// id?: string | null;
+// }[]
+// | null;
+// taskSlug?: ('inline' | 'schedulePublish') | null;
+// queue?: string | null;
+// waitUntil?: string | null;
+// processing?: boolean | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-locked-documents".
+// */
+// export interface PayloadLockedDocument {
+// id: string;
+// document?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null)
+// | ({
+// relationTo: 'media';
+// value: string | Media;
+// } | null)
+// | ({
+// relationTo: 'categories';
+// value: string | Category;
+// } | null)
+// | ({
+// relationTo: 'users';
+// value: string | User;
+// } | null)
+// | ({
+// relationTo: 'redirects';
+// value: string | Redirect;
+// } | null)
+// | ({
+// relationTo: 'forms';
+// value: string | Form;
+// } | null)
+// | ({
+// relationTo: 'form-submissions';
+// value: string | FormSubmission;
+// } | null)
+// | ({
+// relationTo: 'search';
+// value: string | Search;
+// } | null)
+// | ({
+// relationTo: 'payload-jobs';
+// value: string | PayloadJob;
+// } | null);
+// globalSlug?: string | null;
+// user: {
+// relationTo: 'users';
+// value: string | User;
+// };
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-preferences".
+// */
+// export interface PayloadPreference {
+// id: string;
+// user: {
+// relationTo: 'users';
+// value: string | User;
+// };
+// key?: string | null;
+// value?:
+// | {
+// [k: string]: unknown;
+// }
+// | unknown[]
+// | string
+// | number
+// | boolean
+// | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-migrations".
+// */
+// export interface PayloadMigration {
+// id: string;
+// name?: string | null;
+// batch?: number | null;
+// updatedAt: string;
+// createdAt: string;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "pages_select".
+// */
+// export interface PagesSelect {
+// title?: T;
+// hero?:
+// | T
+// | {
+// type?: T;
+// richText?: T;
+// form?:
+// | T
+// | {
+// submitLabel?: T;
+// fields?:
+// | T
+// | {
+// label?: T;
+// type?: T;
+// options?:
+// | T
+// | {
+// label?: T;
+// value?: T;
+// id?: T;
+// };
+// required?: T;
+// id?: T;
+// };
+// };
+// media?: T;
+// };
+// layout?:
+// | T
+// | {
+// cta?: T | CallToActionBlockSelect;
+// content?: T | ContentBlockSelect;
+// mediaBlock?: T | MediaBlockSelect;
+// archive?: T | ArchiveBlockSelect;
+// formBlock?: T | FormBlockSelect;
+// };
+// meta?:
+// | T
+// | {
+// title?: T;
+// image?: T;
+// description?: T;
+// };
+// publishedAt?: T;
+// slug?: T;
+// slugLock?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// _status?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "CallToActionBlock_select".
+// */
+// export interface CallToActionBlockSelect {
+// richText?: T;
+// links?:
+// | T
+// | {
+// link?:
+// | T
+// | {
+// type?: T;
+// newTab?: T;
+// reference?: T;
+// url?: T;
+// label?: T;
+// appearance?: T;
+// };
+// id?: T;
+// };
+// id?: T;
+// blockName?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "ContentBlock_select".
+// */
+// export interface ContentBlockSelect {
+// image?: T;
+// date?: T;
+// name?: T;
+// heading?: T;
+// highlightText?: T;
+// richText?: T;
+// enableButton?: T;
+// link?:
+// | T
+// | {
+// type?: T;
+// newTab?: T;
+// reference?: T;
+// url?: T;
+// label?: T;
+// appearance?: T;
+// };
+// id?: T;
+// blockName?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "MediaBlock_select".
+// */
+// export interface MediaBlockSelect {
+// media?: T;
+// id?: T;
+// blockName?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "ArchiveBlock_select".
+// */
+// export interface ArchiveBlockSelect {
+// introContent?: T;
+// populateBy?: T;
+// relationTo?: T;
+// categories?: T;
+// limit?: T;
+// selectedDocs?: T;
+// id?: T;
+// blockName?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "FormBlock_select".
+// */
+// export interface FormBlockSelect {
+// form?: T;
+// enableIntro?: T;
+// introContent?: T;
+// id?: T;
+// blockName?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "posts_select".
+// */
+// export interface PostsSelect {
+// title?: T;
+// heroImage?: T;
+// content?: T;
+// relatedPosts?: T;
+// categories?: T;
+// meta?:
+// | T
+// | {
+// title?: T;
+// image?: T;
+// description?: T;
+// };
+// publishedAt?: T;
+// authors?: T;
+// populatedAuthors?:
+// | T
+// | {
+// id?: T;
+// name?: T;
+// };
+// slug?: T;
+// slugLock?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// _status?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "media_select".
+// */
+// export interface MediaSelect {
+// alt?: T;
+// caption?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// url?: T;
+// thumbnailURL?: T;
+// filename?: T;
+// mimeType?: T;
+// filesize?: T;
+// width?: T;
+// height?: T;
+// focalX?: T;
+// focalY?: T;
+// sizes?:
+// | T
+// | {
+// thumbnail?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// square?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// small?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// medium?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// large?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// xlarge?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// og?:
+// | T
+// | {
+// url?: T;
+// width?: T;
+// height?: T;
+// mimeType?: T;
+// filesize?: T;
+// filename?: T;
+// };
+// };
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "categories_select".
+// */
+// export interface CategoriesSelect {
+// title?: T;
+// slug?: T;
+// slugLock?: T;
+// parent?: T;
+// breadcrumbs?:
+// | T
+// | {
+// doc?: T;
+// url?: T;
+// label?: T;
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "users_select".
+// */
+// export interface UsersSelect {
+// name?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// email?: T;
+// resetPasswordToken?: T;
+// resetPasswordExpiration?: T;
+// salt?: T;
+// hash?: T;
+// loginAttempts?: T;
+// lockUntil?: T;
+// sessions?:
+// | T
+// | {
+// id?: T;
+// createdAt?: T;
+// expiresAt?: T;
+// };
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "redirects_select".
+// */
+// export interface RedirectsSelect {
+// from?: T;
+// to?:
+// | T
+// | {
+// type?: T;
+// reference?: T;
+// url?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "forms_select".
+// */
+// export interface FormsSelect {
+// title?: T;
+// fields?:
+// | T
+// | {
+// checkbox?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// required?: T;
+// defaultValue?: T;
+// id?: T;
+// blockName?: T;
+// };
+// country?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// email?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// message?:
+// | T
+// | {
+// message?: T;
+// id?: T;
+// blockName?: T;
+// };
+// number?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// defaultValue?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// select?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// defaultValue?: T;
+// placeholder?: T;
+// options?:
+// | T
+// | {
+// label?: T;
+// value?: T;
+// id?: T;
+// };
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// state?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// text?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// defaultValue?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// textarea?:
+// | T
+// | {
+// name?: T;
+// label?: T;
+// width?: T;
+// defaultValue?: T;
+// required?: T;
+// id?: T;
+// blockName?: T;
+// };
+// };
+// submitButtonLabel?: T;
+// confirmationType?: T;
+// confirmationMessage?: T;
+// redirect?:
+// | T
+// | {
+// url?: T;
+// };
+// emails?:
+// | T
+// | {
+// emailTo?: T;
+// cc?: T;
+// bcc?: T;
+// replyTo?: T;
+// emailFrom?: T;
+// subject?: T;
+// message?: T;
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "form-submissions_select".
+// */
+// export interface FormSubmissionsSelect {
+// form?: T;
+// submissionData?:
+// | T
+// | {
+// field?: T;
+// value?: T;
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "search_select".
+// */
+// export interface SearchSelect {
+// title?: T;
+// priority?: T;
+// doc?: T;
+// slug?: T;
+// meta?:
+// | T
+// | {
+// title?: T;
+// description?: T;
+// image?: T;
+// };
+// categories?:
+// | T
+// | {
+// relationTo?: T;
+// categoryID?: T;
+// title?: T;
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-jobs_select".
+// */
+// export interface PayloadJobsSelect {
+// input?: T;
+// taskStatus?: T;
+// completedAt?: T;
+// totalTried?: T;
+// hasError?: T;
+// error?: T;
+// log?:
+// | T
+// | {
+// executedAt?: T;
+// completedAt?: T;
+// taskSlug?: T;
+// taskID?: T;
+// input?: T;
+// output?: T;
+// state?: T;
+// error?: T;
+// id?: T;
+// };
+// taskSlug?: T;
+// queue?: T;
+// waitUntil?: T;
+// processing?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-locked-documents_select".
+// */
+// export interface PayloadLockedDocumentsSelect {
+// document?: T;
+// globalSlug?: T;
+// user?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-preferences_select".
+// */
+// export interface PayloadPreferencesSelect {
+// user?: T;
+// key?: T;
+// value?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "payload-migrations_select".
+// */
+// export interface PayloadMigrationsSelect {
+// name?: T;
+// batch?: T;
+// updatedAt?: T;
+// createdAt?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "header".
+// */
+// export interface Header {
+// id: string;
+// navItems?:
+// | {
+// link: {
+// type?: ('reference' | 'custom') | null;
+// newTab?: boolean | null;
+// reference?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// url?: string | null;
+// label: string;
+// };
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt?: string | null;
+// createdAt?: string | null;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "footer".
+// */
+// export interface Footer {
+// id: string;
+// navItems?:
+// | {
+// link: {
+// type?: ('reference' | 'custom') | null;
+// newTab?: boolean | null;
+// reference?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// url?: string | null;
+// label: string;
+// };
+// id?: string | null;
+// }[]
+// | null;
+// updatedAt?: string | null;
+// createdAt?: string | null;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "header_select".
+// */
+// export interface HeaderSelect {
+// navItems?:
+// | T
+// | {
+// link?:
+// | T
+// | {
+// type?: T;
+// newTab?: T;
+// reference?: T;
+// url?: T;
+// label?: T;
+// };
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// globalType?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "footer_select".
+// */
+// export interface FooterSelect {
+// navItems?:
+// | T
+// | {
+// link?:
+// | T
+// | {
+// type?: T;
+// newTab?: T;
+// reference?: T;
+// url?: T;
+// label?: T;
+// };
+// id?: T;
+// };
+// updatedAt?: T;
+// createdAt?: T;
+// globalType?: T;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "TaskSchedulePublish".
+// */
+// export interface TaskSchedulePublish {
+// input: {
+// type?: ('publish' | 'unpublish') | null;
+// locale?: string | null;
+// doc?:
+// | ({
+// relationTo: 'pages';
+// value: string | Page;
+// } | null)
+// | ({
+// relationTo: 'posts';
+// value: string | Post;
+// } | null);
+// global?: string | null;
+// user?: (string | null) | User;
+// };
+// output?: unknown;
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "BannerBlock".
+// */
+// export interface BannerBlock {
+// style: 'info' | 'warning' | 'error' | 'success';
+// content: {
+// root: {
+// type: string;
+// children: {
+// type: string;
+// version: number;
+// [k: string]: unknown;
+// }[];
+// direction: ('ltr' | 'rtl') | null;
+// format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
+// indent: number;
+// version: number;
+// };
+// [k: string]: unknown;
+// };
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'banner';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "CodeBlock".
+// */
+// export interface CodeBlock {
+// language?: ('typescript' | 'javascript' | 'css') | null;
+// code: string;
+// id?: string | null;
+// blockName?: string | null;
+// blockType: 'code';
+// }
+// /**
+// * This interface was referenced by `Config`'s JSON-Schema
+// * via the `definition` "auth".
+// */
+// export interface Auth {
+// [k: string]: unknown;
+// }
+
+
+// declare module 'payload' {
+// export interface GeneratedTypes extends Config {}
+// }
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index c04b195..ea2ccec 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -32,13 +32,16 @@
// "node_modules"
// ]
// }
-
-
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
- "@/*": ["src/*"]
+ "@/*": [
+ "src/*"
+ ],
+ "@payload-config": [
+ "./src/payload.config.ts"
+ ]
},
"lib": [
"dom",
@@ -60,7 +63,8 @@
{
"name": "next"
}
- ]
+ ],
+ "target": "ES2017"
},
"include": [
"next-env.d.ts",
@@ -71,5 +75,4 @@
"exclude": [
"node_modules"
]
-}
-
+}
\ No newline at end of file