diff --git a/templates/vercel-postgres/.env.example b/templates/vercel-postgres/.env.example
deleted file mode 100644
index b09e190dc..000000000
--- a/templates/vercel-postgres/.env.example
+++ /dev/null
@@ -1,3 +0,0 @@
-POSTGRES_URL=postgres://127.0.0.1:5432/payload
-PAYLOAD_SECRET=
-BLOB_READ_WRITE_TOKEN=vercel_blob_rw_examplestoreid_somethingelse
diff --git a/templates/vercel-postgres/.eslintignore b/templates/vercel-postgres/.eslintignore
deleted file mode 100644
index 247f3f12d..000000000
--- a/templates/vercel-postgres/.eslintignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.tmp
-**/.git
-**/.hg
-**/.pnp.*
-**/.svn
-**/.yarn/**
-**/build
-**/dist/**
-**/node_modules
-**/temp
diff --git a/templates/vercel-postgres/.eslintrc.json.bak b/templates/vercel-postgres/.eslintrc.json.bak
deleted file mode 100644
index bffb357a7..000000000
--- a/templates/vercel-postgres/.eslintrc.json.bak
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "next/core-web-vitals"
-}
diff --git a/templates/vercel-postgres/.gitignore b/templates/vercel-postgres/.gitignore
deleted file mode 100644
index 0dd32d996..000000000
--- a/templates/vercel-postgres/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-.env
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-.yarn/install-state.gz
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env*.local
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/templates/vercel-postgres/.prettierrc.json b/templates/vercel-postgres/.prettierrc.json
deleted file mode 100644
index cb8ee2671..000000000
--- a/templates/vercel-postgres/.prettierrc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "singleQuote": true,
- "trailingComma": "all",
- "printWidth": 100,
- "semi": false
-}
diff --git a/templates/vercel-postgres/README.md b/templates/vercel-postgres/README.md
deleted file mode 100644
index 4c87fd9f2..000000000
--- a/templates/vercel-postgres/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fpayloadcms%2Fpayload%2Ftemplates%2Fvercel-postgres&project-name=payload-project&env=PAYLOAD_SECRET&build-command=pnpm%20run%20ci&stores=%5B%7B%22type%22%3A%22postgres%22%7D%2C%7B%22type%22%3A%22blob%22%7D%5D)
-
-> One-click deployment template of Payload on Vercel
-
-- [Payload](https://github.com/payloadcms/payload) already installed into Next.js
-- PostgreSQL adapter configured for Neon
-- Cloud Storage plugin configured for [Vercel Blob Storage](https://vercel.com/docs/storage/vercel-blob)
diff --git a/templates/vercel-postgres/next.config.mjs b/templates/vercel-postgres/next.config.mjs
deleted file mode 100644
index 885ad933f..000000000
--- a/templates/vercel-postgres/next.config.mjs
+++ /dev/null
@@ -1,5 +0,0 @@
-import { withPayload } from '@payloadcms/next/withPayload'
-/** @type {import('next').NextConfig} */
-const nextConfig = {}
-
-export default withPayload(nextConfig)
diff --git a/templates/vercel-postgres/package.json b/templates/vercel-postgres/package.json
deleted file mode 100644
index 0974a2eaa..000000000
--- a/templates/vercel-postgres/package.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "vercel-deploy-payload-postgres",
- "version": "0.1.0",
- "private": true,
- "scripts": {
- "build": "next build",
- "ci": "payload migrate && pnpm build",
- "dev": "next dev",
- "generate:types": "payload generate:types",
- "lint": "next lint",
- "payload": "cross-env NODE_OPTIONS=--no-deprecation payload",
- "start": "next start"
- },
- "dependencies": {
- "@payloadcms/db-postgres": "beta",
- "@payloadcms/next": "beta",
- "@payloadcms/richtext-lexical": "beta",
- "@payloadcms/storage-vercel-blob": "beta",
- "@vercel/blob": "^0.22.3",
- "cross-env": "^7.0.3",
- "next": "15.0.0",
- "payload": "beta",
- "react": "19.0.0-rc-65a56d0e-20241020",
- "react-dom": "19.0.0-rc-65a56d0e-20241020",
- "sharp": "0.32.6"
- },
- "devDependencies": {
- "@types/node": "^22.5.4",
- "@types/react": "npm:types-react@19.0.0-rc.1",
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
- "autoprefixer": "^10.0.1",
- "eslint": "^8",
- "eslint-config-next": "15.0.0",
- "postcss": "^8",
- "tailwindcss": "^3.3.0",
- "typescript": "5.6.3"
- },
- "engines": {
- "node": "^18.20.2 || >=20.9.0"
- },
- "pnpm": {
- "overrides": {
- "@types/react": "npm:types-react@19.0.0-rc.1",
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1"
- }
- },
- "overrides": {
- "@types/react": "npm:types-react@19.0.0-rc.1",
- "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1"
- }
-}
diff --git a/templates/vercel-postgres/postcss.config.js b/templates/vercel-postgres/postcss.config.js
deleted file mode 100644
index 33ad091d2..000000000
--- a/templates/vercel-postgres/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/templates/vercel-postgres/public/arrow.svg b/templates/vercel-postgres/public/arrow.svg
deleted file mode 100644
index 08b179be9..000000000
--- a/templates/vercel-postgres/public/arrow.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/templates/vercel-postgres/public/blur.png b/templates/vercel-postgres/public/blur.png
deleted file mode 100644
index 313a85fea..000000000
Binary files a/templates/vercel-postgres/public/blur.png and /dev/null differ
diff --git a/templates/vercel-postgres/public/crosshair.svg b/templates/vercel-postgres/public/crosshair.svg
deleted file mode 100644
index d02f8feaa..000000000
--- a/templates/vercel-postgres/public/crosshair.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/templates/vercel-postgres/public/gradient.webp b/templates/vercel-postgres/public/gradient.webp
deleted file mode 100644
index 2e3cc0837..000000000
Binary files a/templates/vercel-postgres/public/gradient.webp and /dev/null differ
diff --git a/templates/vercel-postgres/public/next.svg b/templates/vercel-postgres/public/next.svg
deleted file mode 100644
index de6b88380..000000000
--- a/templates/vercel-postgres/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/templates/vercel-postgres/public/payload.svg b/templates/vercel-postgres/public/payload.svg
deleted file mode 100644
index 0d57fea9e..000000000
--- a/templates/vercel-postgres/public/payload.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
diff --git a/templates/vercel-postgres/public/scanline-light.png b/templates/vercel-postgres/public/scanline-light.png
deleted file mode 100644
index f416ba2d1..000000000
Binary files a/templates/vercel-postgres/public/scanline-light.png and /dev/null differ
diff --git a/templates/vercel-postgres/src/app/(app)/globals.scss b/templates/vercel-postgres/src/app/(app)/globals.scss
deleted file mode 100644
index eaf7dcb8c..000000000
--- a/templates/vercel-postgres/src/app/(app)/globals.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-* {
- box-sizing: border-box;
-}
-
-:root {
- --gutter: calc(50vw - 720px);
- --gridline: linear-gradient(
- rgba(255, 255, 255, 0.1),
- rgba(255, 255, 255, 0.025),
- rgba(255, 255, 255, 0.025),
- rgba(255, 255, 255, 0.1),
- rgba(255, 255, 255, 0.1)
- );
-
- @media screen and (max-width: 1600px) {
- --gutter: 80px;
- }
-
- @media screen and (max-width: 1200px) {
- --gutter: 40px;
- --gridline: rgba(255, 255, 255, 0.1);
- }
-
- @media screen and (max-width: 600px) {
- --gutter: 20px;
- }
-}
-
-html {
- width: 100%;
- height: 100%;
- background-color: #000000;
-}
-
-body {
- color: #ffffff;
- margin: 0;
- width: 100%;
- padding: 0;
- overflow-x: hidden;
-}
-
-main {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- height: 100vh;
- pointer-events: none;
- padding: 80px var(--gutter);
-
- @media screen and (max-width: 1200px) {
- height: auto;
- }
-}
diff --git a/templates/vercel-postgres/src/app/(app)/icon.svg b/templates/vercel-postgres/src/app/(app)/icon.svg
deleted file mode 100644
index b90c157eb..000000000
--- a/templates/vercel-postgres/src/app/(app)/icon.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/templates/vercel-postgres/src/app/(app)/layout.tsx b/templates/vercel-postgres/src/app/(app)/layout.tsx
deleted file mode 100644
index dfa9313be..000000000
--- a/templates/vercel-postgres/src/app/(app)/layout.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import type { Metadata } from 'next'
-
-import { Inter } from 'next/font/google'
-import React from 'react'
-
-import './globals.scss'
-
-const inter = Inter({ subsets: ['latin'] })
-
-export const metadata: Metadata = {
- description: 'A Payload starter project with Next.js, Vercel Postgres, and Vercel Blob Storage.',
- title: 'Payload Vercel Starter',
-}
-
-export default function RootLayout({
- children,
-}: Readonly<{
- children: React.ReactNode
-}>) {
- return (
-
-
{children}
-
- )
-}
diff --git a/templates/vercel-postgres/src/app/(app)/page.tsx b/templates/vercel-postgres/src/app/(app)/page.tsx
deleted file mode 100644
index 0c164e20e..000000000
--- a/templates/vercel-postgres/src/app/(app)/page.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Background } from '@/components/Background'
-import { Links } from '@/components/Links'
-import { Logos } from '@/components/Logos'
-import React from 'react'
-
-export default function Home() {
- return (
-
-
-
-
-
- )
-}
diff --git a/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/not-found.tsx b/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/not-found.tsx
deleted file mode 100644
index 9cdc0d393..000000000
--- a/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/not-found.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import type { Metadata } from 'next'
-
-import config from '@payload-config'
-import { NotFoundPage, generatePageMetadata } from '@payloadcms/next/views'
-
-type Args = {
- params: {
- segments: string[]
- }
- searchParams: {
- [key: string]: string | string[]
- }
-}
-
-export const generateMetadata = ({ params, searchParams }: Args): Promise =>
- generatePageMetadata({ config, params, searchParams })
-
-const NotFound = ({ params, searchParams }: Args) => NotFoundPage({ config, params, searchParams })
-
-export default NotFound
diff --git a/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/page.tsx b/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/page.tsx
deleted file mode 100644
index 1d56bc94a..000000000
--- a/templates/vercel-postgres/src/app/(payload)/admin/[[...segments]]/page.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import type { Metadata } from 'next'
-
-import config from '@payload-config'
-import { RootPage, generatePageMetadata } from '@payloadcms/next/views'
-
-type Args = {
- params: Promise<{
- segments: string[]
- }>
- searchParams: Promise<{
- [key: string]: string | string[]
- }>
-}
-
-export const generateMetadata = ({ params, searchParams }: Args): Promise =>
- generatePageMetadata({ config, params, searchParams })
-
-const Page = ({ params, searchParams }: Args) => RootPage({ config, params, searchParams })
-
-export default Page
diff --git a/templates/vercel-postgres/src/app/(payload)/api/[...slug]/route.ts b/templates/vercel-postgres/src/app/(payload)/api/[...slug]/route.ts
deleted file mode 100644
index e58c50f50..000000000
--- a/templates/vercel-postgres/src/app/(payload)/api/[...slug]/route.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import config from '@payload-config'
-import '@payloadcms/next/css'
-import {
- REST_DELETE,
- REST_GET,
- REST_OPTIONS,
- REST_PATCH,
- REST_POST,
- REST_PUT,
-} from '@payloadcms/next/routes'
-
-export const GET = REST_GET(config)
-export const POST = REST_POST(config)
-export const DELETE = REST_DELETE(config)
-export const PATCH = REST_PATCH(config)
-export const PUT = REST_PUT(config)
-export const OPTIONS = REST_OPTIONS(config)
diff --git a/templates/vercel-postgres/src/app/(payload)/api/graphql-playground/route.ts b/templates/vercel-postgres/src/app/(payload)/api/graphql-playground/route.ts
deleted file mode 100644
index 17d2954ca..000000000
--- a/templates/vercel-postgres/src/app/(payload)/api/graphql-playground/route.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import config from '@payload-config'
-import '@payloadcms/next/css'
-import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes'
-
-export const GET = GRAPHQL_PLAYGROUND_GET(config)
diff --git a/templates/vercel-postgres/src/app/(payload)/api/graphql/route.ts b/templates/vercel-postgres/src/app/(payload)/api/graphql/route.ts
deleted file mode 100644
index 2069ff86b..000000000
--- a/templates/vercel-postgres/src/app/(payload)/api/graphql/route.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import config from '@payload-config'
-import { GRAPHQL_POST, REST_OPTIONS } from '@payloadcms/next/routes'
-
-export const POST = GRAPHQL_POST(config)
-
-export const OPTIONS = REST_OPTIONS(config)
diff --git a/templates/vercel-postgres/src/app/(payload)/custom.scss b/templates/vercel-postgres/src/app/(payload)/custom.scss
deleted file mode 100644
index e69de29bb..000000000
diff --git a/templates/vercel-postgres/src/app/(payload)/layout.tsx b/templates/vercel-postgres/src/app/(payload)/layout.tsx
deleted file mode 100644
index 8df141aeb..000000000
--- a/templates/vercel-postgres/src/app/(payload)/layout.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
-/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
-import config from '@payload-config'
-import '@payloadcms/next/css'
-import type { ServerFunctionClient } from 'payload'
-import { handleServerFunctions, RootLayout } from '@payloadcms/next/layouts'
-import React from 'react'
-
-import { importMap } from './admin/importMap.js'
-import './custom.scss'
-
-type Args = {
- children: React.ReactNode
-}
-
-const serverFunction: ServerFunctionClient = async function (args) {
- 'use server'
- return handleServerFunctions({
- ...args,
- config,
- importMap,
- })
-}
-
-const Layout = ({ children }: Args) => (
-
- {children}
-
-)
-
-export default Layout
diff --git a/templates/vercel-postgres/src/collections/Media.ts b/templates/vercel-postgres/src/collections/Media.ts
deleted file mode 100644
index 568cf4265..000000000
--- a/templates/vercel-postgres/src/collections/Media.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import type { CollectionConfig } from 'payload'
-
-export const Media: CollectionConfig = {
- slug: 'media',
- access: {
- read: () => true,
- },
- fields: [
- {
- name: 'alt',
- type: 'text',
- required: true,
- },
- ],
- upload: true,
-}
diff --git a/templates/vercel-postgres/src/collections/Users.ts b/templates/vercel-postgres/src/collections/Users.ts
deleted file mode 100644
index c683d0e2d..000000000
--- a/templates/vercel-postgres/src/collections/Users.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import type { CollectionConfig } from 'payload'
-
-export const Users: CollectionConfig = {
- slug: 'users',
- admin: {
- useAsTitle: 'email',
- },
- auth: true,
- fields: [
- // Email added by default
- // Add more fields as needed
- ],
-}
diff --git a/templates/vercel-postgres/src/components/Background/index.tsx b/templates/vercel-postgres/src/components/Background/index.tsx
deleted file mode 100644
index 928c09841..000000000
--- a/templates/vercel-postgres/src/components/Background/index.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react'
-
-import styles from './styles.module.scss'
-
-export const Background = () => {
- return (
-
- )
-}
diff --git a/templates/vercel-postgres/src/components/Background/styles.module.scss b/templates/vercel-postgres/src/components/Background/styles.module.scss
deleted file mode 100644
index fb0966bf4..000000000
--- a/templates/vercel-postgres/src/components/Background/styles.module.scss
+++ /dev/null
@@ -1,84 +0,0 @@
-.background {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: -2;
-}
-
-.blur {
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- background: url('/blur.png');
- background-repeat: repeat;
- background-size: 400px 400px;
- background-blend-mode: soft-light, normal;
- backdrop-filter: blur(60px);
- z-index: -1;
-}
-
-.gradient {
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- background: url('/gradient.webp');
- background-size: cover;
- background-position: center;
- z-index: -3;
-}
-
-.gridlineContainer {
- position: fixed;
- top: 0;
- left: 0;
- padding: 0 var(--gutter);
- width: 100vw;
- height: 100vh;
- display: flex;
- align-items: center;
- z-index: 0;
- & div {
- position: relative;
- display: block;
- width: 100%;
- height: 100%;
-
- &::before {
- content: '';
- display: block;
- position: absolute;
- width: 1px;
- height: 100%;
- left: 0;
- top: 0;
- background: var(--gridline);
- }
-
- &:last-of-type::after {
- content: '';
- display: block;
- position: absolute;
- width: 1px;
- height: 100%;
- right: 0;
- top: 0;
- background: var(--gridline);
- }
-
- &.hideMed {
- @media screen and (max-width: 1200px) {
- display: none;
- }
- }
-
- &.hideSmall {
- @media screen and (max-width: 600px) {
- display: none;
- }
- }
- }
-}
diff --git a/templates/vercel-postgres/src/components/Links/index.tsx b/templates/vercel-postgres/src/components/Links/index.tsx
deleted file mode 100644
index 8b473ee29..000000000
--- a/templates/vercel-postgres/src/components/Links/index.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import Link from 'next/link'
-import React from 'react'
-
-import styles from './styles.module.scss'
-
-export const Links = () => {
- return (
-
-
-
Admin Panel
-
Manage your site's content from the admin panel.
-
-
-
-
Payload Docs
-
Learn about how to build your backend with Payload.
-
-
-
-
Next.js Docs
-
Find in-depth information about Next.js features and API.
-
-
-
-
Need help?
-
Join our Discord to ask questions and get help from the community.
-
-
-
- )
-}
diff --git a/templates/vercel-postgres/src/components/Links/styles.module.scss b/templates/vercel-postgres/src/components/Links/styles.module.scss
deleted file mode 100644
index 3300dbbf5..000000000
--- a/templates/vercel-postgres/src/components/Links/styles.module.scss
+++ /dev/null
@@ -1,105 +0,0 @@
-.links {
- display: grid;
- grid-template-columns: repeat(4, 1fr);
- width: 100%;
- margin: 0 var(--gutter);
- border-block: 1px solid rgba(255, 255, 255, 0.1);
- gap: 1px;
- pointer-events: all;
-
- @media screen and (max-width: 1200px) {
- grid-template-columns: repeat(2, 1fr);
- border-bottom: none;
- }
-
- @media screen and (max-width: 600px) {
- grid-template-columns: 1fr;
- }
-
- a {
- position: relative;
- display: flex;
- width: 100%;
- padding: 24px;
- padding-right: 48px;
- flex-direction: column;
- align-items: flex-start;
- gap: 12px;
- text-decoration: none;
- color: rgba(255, 255, 255, 0.75);
-
- @media screen and (max-width: 1200px) {
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
- }
-
- h6 {
- margin: 0;
- color: #fff;
- font-size: 20px;
- font-style: normal;
- font-weight: 600;
- line-height: normal;
- letter-spacing: -0.02em;
-
- @media screen and (max-width: 1200px) {
- font-size: 16px;
- }
- }
-
- span {
- line-height: 1.5;
- }
-
- &::before {
- display: block;
- position: absolute;
- content: url('/arrow.svg');
- width: 12px;
- height: 12px;
- top: 24px;
- right: 24px;
- opacity: 0.25;
- transition-property: top, right, opacity;
- transition-duration: 0.3s;
- }
-
- &::after {
- position: absolute;
- left: 0;
- bottom: 0;
- content: ('');
- display: block;
- width: 0;
- height: 2px;
- background-color: #fff;
- transition: width 0.3s;
- }
-
- &:hover {
- &::before {
- top: 20px;
- right: 20px;
- opacity: 1;
- }
-
- &::after {
- width: 100%;
- }
-
- .scanlines {
- opacity: 0.1;
- }
- }
- }
-}
-
-.scanlines {
- position: absolute;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 0px;
- background: url('/scanline-light.png');
- opacity: 0;
- transition: opacity 0.3s;
-}
diff --git a/templates/vercel-postgres/src/components/Logos/index.tsx b/templates/vercel-postgres/src/components/Logos/index.tsx
deleted file mode 100644
index c99a61d7a..000000000
--- a/templates/vercel-postgres/src/components/Logos/index.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import Image from 'next/image'
-import React from 'react'
-
-import styles from './styles.module.scss'
-
-export const Logos = () => {
- return (
-
-
-
-
-
- )
-}
diff --git a/templates/vercel-postgres/src/components/Logos/styles.module.scss b/templates/vercel-postgres/src/components/Logos/styles.module.scss
deleted file mode 100644
index b6122b96a..000000000
--- a/templates/vercel-postgres/src/components/Logos/styles.module.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-.logos {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- height: 100%;
- min-height: 50vh;
- width: 100%;
- gap: 80px;
-
- @media screen and (max-width: 600px) {
- gap: 40px;
- flex-direction: column;
- }
-}
-
-.payloadLogo {
- width: 100%;
- height: auto;
- max-width: 320px;
- display: flex;
- justify-content: flex-end;
- align-items: center;
-}
-
-.nextLogo {
- width: 100%;
- height: auto;
- max-width: 320px;
- display: flex;
- justify-content: flex-start;
- align-items: center;
- color: #fff;
-}
-
-.payloadLogo,
-.nextLogo {
- @media screen and (max-width: 1200px) {
- width: 25vw;
- height: auto;
- }
-
- @media screen and (max-width: 600px) {
- width: 50vw;
- justify-content: center;
- align-items: center;
- }
-}
diff --git a/templates/vercel-postgres/src/migrations/20240530_132905_initial.json b/templates/vercel-postgres/src/migrations/20240530_132905_initial.json
deleted file mode 100644
index c9d7eee22..000000000
--- a/templates/vercel-postgres/src/migrations/20240530_132905_initial.json
+++ /dev/null
@@ -1,375 +0,0 @@
-{
- "id": "8146d795-d1a9-49be-857d-4320898b38fb",
- "prevId": "00000000-0000-0000-0000-000000000000",
- "version": "5",
- "dialect": "pg",
- "tables": {
- "users": {
- "name": "users",
- "schema": "",
- "columns": {
- "id": {
- "name": "id",
- "type": "serial",
- "primaryKey": true,
- "notNull": true
- },
- "updated_at": {
- "name": "updated_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "created_at": {
- "name": "created_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "email": {
- "name": "email",
- "type": "varchar",
- "primaryKey": false,
- "notNull": true
- },
- "reset_password_token": {
- "name": "reset_password_token",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "reset_password_expiration": {
- "name": "reset_password_expiration",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": false
- },
- "salt": {
- "name": "salt",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "hash": {
- "name": "hash",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "login_attempts": {
- "name": "login_attempts",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "lock_until": {
- "name": "lock_until",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": false
- }
- },
- "indexes": {
- "users_created_at_idx": {
- "name": "users_created_at_idx",
- "columns": ["created_at"],
- "isUnique": false
- },
- "users_email_idx": {
- "name": "users_email_idx",
- "columns": ["email"],
- "isUnique": true
- }
- },
- "foreignKeys": {},
- "compositePrimaryKeys": {},
- "uniqueConstraints": {}
- },
- "media": {
- "name": "media",
- "schema": "",
- "columns": {
- "id": {
- "name": "id",
- "type": "serial",
- "primaryKey": true,
- "notNull": true
- },
- "alt": {
- "name": "alt",
- "type": "varchar",
- "primaryKey": false,
- "notNull": true
- },
- "updated_at": {
- "name": "updated_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "created_at": {
- "name": "created_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "url": {
- "name": "url",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "thumbnail_u_r_l": {
- "name": "thumbnail_u_r_l",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "filename": {
- "name": "filename",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "mime_type": {
- "name": "mime_type",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "filesize": {
- "name": "filesize",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "width": {
- "name": "width",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "height": {
- "name": "height",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "focal_x": {
- "name": "focal_x",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "focal_y": {
- "name": "focal_y",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- }
- },
- "indexes": {
- "media_created_at_idx": {
- "name": "media_created_at_idx",
- "columns": ["created_at"],
- "isUnique": false
- },
- "media_filename_idx": {
- "name": "media_filename_idx",
- "columns": ["filename"],
- "isUnique": true
- }
- },
- "foreignKeys": {},
- "compositePrimaryKeys": {},
- "uniqueConstraints": {}
- },
- "payload_preferences": {
- "name": "payload_preferences",
- "schema": "",
- "columns": {
- "id": {
- "name": "id",
- "type": "serial",
- "primaryKey": true,
- "notNull": true
- },
- "key": {
- "name": "key",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "value": {
- "name": "value",
- "type": "jsonb",
- "primaryKey": false,
- "notNull": false
- },
- "updated_at": {
- "name": "updated_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "created_at": {
- "name": "created_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- }
- },
- "indexes": {
- "payload_preferences_key_idx": {
- "name": "payload_preferences_key_idx",
- "columns": ["key"],
- "isUnique": false
- },
- "payload_preferences_created_at_idx": {
- "name": "payload_preferences_created_at_idx",
- "columns": ["created_at"],
- "isUnique": false
- }
- },
- "foreignKeys": {},
- "compositePrimaryKeys": {},
- "uniqueConstraints": {}
- },
- "payload_preferences_rels": {
- "name": "payload_preferences_rels",
- "schema": "",
- "columns": {
- "id": {
- "name": "id",
- "type": "serial",
- "primaryKey": true,
- "notNull": true
- },
- "order": {
- "name": "order",
- "type": "integer",
- "primaryKey": false,
- "notNull": false
- },
- "parent_id": {
- "name": "parent_id",
- "type": "integer",
- "primaryKey": false,
- "notNull": true
- },
- "path": {
- "name": "path",
- "type": "varchar",
- "primaryKey": false,
- "notNull": true
- },
- "users_id": {
- "name": "users_id",
- "type": "integer",
- "primaryKey": false,
- "notNull": false
- }
- },
- "indexes": {
- "payload_preferences_rels_order_idx": {
- "name": "payload_preferences_rels_order_idx",
- "columns": ["order"],
- "isUnique": false
- },
- "payload_preferences_rels_parent_idx": {
- "name": "payload_preferences_rels_parent_idx",
- "columns": ["parent_id"],
- "isUnique": false
- },
- "payload_preferences_rels_path_idx": {
- "name": "payload_preferences_rels_path_idx",
- "columns": ["path"],
- "isUnique": false
- }
- },
- "foreignKeys": {
- "payload_preferences_rels_parent_fk": {
- "name": "payload_preferences_rels_parent_fk",
- "tableFrom": "payload_preferences_rels",
- "tableTo": "payload_preferences",
- "columnsFrom": ["parent_id"],
- "columnsTo": ["id"],
- "onDelete": "cascade",
- "onUpdate": "no action"
- },
- "payload_preferences_rels_users_fk": {
- "name": "payload_preferences_rels_users_fk",
- "tableFrom": "payload_preferences_rels",
- "tableTo": "users",
- "columnsFrom": ["users_id"],
- "columnsTo": ["id"],
- "onDelete": "cascade",
- "onUpdate": "no action"
- }
- },
- "compositePrimaryKeys": {},
- "uniqueConstraints": {}
- },
- "payload_migrations": {
- "name": "payload_migrations",
- "schema": "",
- "columns": {
- "id": {
- "name": "id",
- "type": "serial",
- "primaryKey": true,
- "notNull": true
- },
- "name": {
- "name": "name",
- "type": "varchar",
- "primaryKey": false,
- "notNull": false
- },
- "batch": {
- "name": "batch",
- "type": "numeric",
- "primaryKey": false,
- "notNull": false
- },
- "updated_at": {
- "name": "updated_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- },
- "created_at": {
- "name": "created_at",
- "type": "timestamp(3) with time zone",
- "primaryKey": false,
- "notNull": true,
- "default": "now()"
- }
- },
- "indexes": {
- "payload_migrations_created_at_idx": {
- "name": "payload_migrations_created_at_idx",
- "columns": ["created_at"],
- "isUnique": false
- }
- },
- "foreignKeys": {},
- "compositePrimaryKeys": {},
- "uniqueConstraints": {}
- }
- },
- "enums": {},
- "schemas": {},
- "_meta": {
- "schemas": {},
- "tables": {},
- "columns": {}
- }
-}
diff --git a/templates/vercel-postgres/src/migrations/20240530_132905_initial.ts b/templates/vercel-postgres/src/migrations/20240530_132905_initial.ts
deleted file mode 100644
index 24731cbb6..000000000
--- a/templates/vercel-postgres/src/migrations/20240530_132905_initial.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import type { MigrateDownArgs, MigrateUpArgs } from '@payloadcms/db-postgres'
-
-import { sql } from '@payloadcms/db-postgres'
-
-export async function up({ payload }: MigrateUpArgs): Promise {
- await payload.db.drizzle.execute(sql`
-
-CREATE TABLE IF NOT EXISTS "users" (
- "id" serial PRIMARY KEY NOT NULL,
- "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "email" varchar NOT NULL,
- "reset_password_token" varchar,
- "reset_password_expiration" timestamp(3) with time zone,
- "salt" varchar,
- "hash" varchar,
- "login_attempts" numeric,
- "lock_until" timestamp(3) with time zone
-);
-
-CREATE TABLE IF NOT EXISTS "media" (
- "id" serial PRIMARY KEY NOT NULL,
- "alt" varchar NOT NULL,
- "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "url" varchar,
- "thumbnail_u_r_l" varchar,
- "filename" varchar,
- "mime_type" varchar,
- "filesize" numeric,
- "width" numeric,
- "height" numeric,
- "focal_x" numeric,
- "focal_y" numeric
-);
-
-CREATE TABLE IF NOT EXISTS "payload_preferences" (
- "id" serial PRIMARY KEY NOT NULL,
- "key" varchar,
- "value" jsonb,
- "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS "payload_preferences_rels" (
- "id" serial PRIMARY KEY NOT NULL,
- "order" integer,
- "parent_id" integer NOT NULL,
- "path" varchar NOT NULL,
- "users_id" integer
-);
-
-CREATE TABLE IF NOT EXISTS "payload_migrations" (
- "id" serial PRIMARY KEY NOT NULL,
- "name" varchar,
- "batch" numeric,
- "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
- "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL
-);
-
-CREATE INDEX IF NOT EXISTS "users_created_at_idx" ON "users" ("created_at");
-CREATE UNIQUE INDEX IF NOT EXISTS "users_email_idx" ON "users" ("email");
-CREATE INDEX IF NOT EXISTS "media_created_at_idx" ON "media" ("created_at");
-CREATE UNIQUE INDEX IF NOT EXISTS "media_filename_idx" ON "media" ("filename");
-CREATE INDEX IF NOT EXISTS "payload_preferences_key_idx" ON "payload_preferences" ("key");
-CREATE INDEX IF NOT EXISTS "payload_preferences_created_at_idx" ON "payload_preferences" ("created_at");
-CREATE INDEX IF NOT EXISTS "payload_preferences_rels_order_idx" ON "payload_preferences_rels" ("order");
-CREATE INDEX IF NOT EXISTS "payload_preferences_rels_parent_idx" ON "payload_preferences_rels" ("parent_id");
-CREATE INDEX IF NOT EXISTS "payload_preferences_rels_path_idx" ON "payload_preferences_rels" ("path");
-CREATE INDEX IF NOT EXISTS "payload_migrations_created_at_idx" ON "payload_migrations" ("created_at");
-DO $$ BEGIN
- ALTER TABLE "payload_preferences_rels" ADD CONSTRAINT "payload_preferences_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "payload_preferences"("id") ON DELETE cascade ON UPDATE no action;
-EXCEPTION
- WHEN duplicate_object THEN null;
-END $$;
-
-DO $$ BEGIN
- ALTER TABLE "payload_preferences_rels" ADD CONSTRAINT "payload_preferences_rels_users_fk" FOREIGN KEY ("users_id") REFERENCES "users"("id") ON DELETE cascade ON UPDATE no action;
-EXCEPTION
- WHEN duplicate_object THEN null;
-END $$;
-`)
-}
-
-export async function down({ payload }: MigrateDownArgs): Promise {
- await payload.db.drizzle.execute(sql`
-
-DROP TABLE "users";
-DROP TABLE "media";
-DROP TABLE "payload_preferences";
-DROP TABLE "payload_preferences_rels";
-DROP TABLE "payload_migrations";`)
-}
diff --git a/templates/vercel-postgres/src/payload-types.ts b/templates/vercel-postgres/src/payload-types.ts
deleted file mode 100644
index 6c5706ddb..000000000
--- a/templates/vercel-postgres/src/payload-types.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-/* 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.
- */
-
-export interface Config {
- collections: {
- users: User;
- media: Media;
- 'payload-preferences': PayloadPreference;
- 'payload-migrations': PayloadMigration;
- };
- globals: {};
- locale: null;
- user: User & {
- collection: 'users';
- };
-}
-/**
- * This interface was referenced by `Config`'s JSON-Schema
- * via the `definition` "users".
- */
-export interface User {
- id: number;
- updatedAt: string;
- createdAt: string;
- email: string;
- resetPasswordToken?: string | null;
- resetPasswordExpiration?: string | null;
- salt?: string | null;
- hash?: string | null;
- loginAttempts?: number | null;
- lockUntil?: string | null;
- password?: string | null;
-}
-/**
- * This interface was referenced by `Config`'s JSON-Schema
- * via the `definition` "media".
- */
-export interface Media {
- id: number;
- 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;
-}
-/**
- * This interface was referenced by `Config`'s JSON-Schema
- * via the `definition` "payload-preferences".
- */
-export interface PayloadPreference {
- id: number;
- user: {
- relationTo: 'users';
- value: number | 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: number;
- name?: string | null;
- batch?: number | null;
- updatedAt: string;
- createdAt: string;
-}
-
-
-declare module 'payload' {
- export interface GeneratedTypes extends Config {}
-}
\ No newline at end of file
diff --git a/templates/vercel-postgres/src/payload.config.ts b/templates/vercel-postgres/src/payload.config.ts
deleted file mode 100644
index 959340e86..000000000
--- a/templates/vercel-postgres/src/payload.config.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { postgresAdapter } from '@payloadcms/db-postgres'
-import { lexicalEditor } from '@payloadcms/richtext-lexical'
-import { vercelBlobStorage } from '@payloadcms/storage-vercel-blob'
-import path from 'path'
-import { buildConfig } from 'payload'
-import sharp from 'sharp'
-import { fileURLToPath } from 'url'
-
-import { Media } from './collections/Media'
-import { Users } from './collections/Users'
-
-const filename = fileURLToPath(import.meta.url)
-const dirname = path.dirname(filename)
-
-export default buildConfig({
- admin: {
- user: Users.slug,
- },
- collections: [Users, Media],
- db: postgresAdapter({
- pool: {
- connectionString: process.env.POSTGRES_URL,
- },
- }),
- editor: lexicalEditor({}),
- plugins: [
- vercelBlobStorage({
- collections: {
- media: true,
- },
- token: process.env.BLOB_READ_WRITE_TOKEN || '',
- }),
- ],
- secret: process.env.PAYLOAD_SECRET || '',
-
- sharp,
-
- typescript: {
- outputFile: path.resolve(dirname, 'payload-types.ts'),
- },
-})
diff --git a/templates/vercel-postgres/tailwind.config.ts b/templates/vercel-postgres/tailwind.config.ts
deleted file mode 100644
index 8149869f4..000000000
--- a/templates/vercel-postgres/tailwind.config.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { Config } from 'tailwindcss'
-
-const config: Config = {
- content: [
- './src/pages/**/*.{js,ts,jsx,tsx,mdx}',
- './src/components/**/*.{js,ts,jsx,tsx,mdx}',
- './src/app/**/*.{js,ts,jsx,tsx,mdx}',
- ],
- theme: {
- extend: {
- backgroundImage: {
- 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
- 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
- },
- },
- },
- plugins: [],
-}
-export default config
diff --git a/templates/vercel-postgres/tsconfig.json b/templates/vercel-postgres/tsconfig.json
deleted file mode 100644
index 490c14134..000000000
--- a/templates/vercel-postgres/tsconfig.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "compilerOptions": {
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "bundler",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true,
- "plugins": [
- {
- "name": "next"
- }
- ],
- "paths": {
- "@/*": [
- "./src/*"
- ],
- "@payload-config": [
- "./src/payload.config.ts"
- ]
- },
- "target": "ES2017"
- },
- "include": [
- "next-env.d.ts",
- "**/*.ts",
- "**/*.tsx",
- ".next/types/**/*.ts"
- ],
- "exclude": [
- "node_modules"
- ]
-}