diff --git a/public/blur.png b/public/blur.png new file mode 100644 index 0000000..313a85f Binary files /dev/null and b/public/blur.png differ diff --git a/public/crosshair.svg b/public/crosshair.svg new file mode 100644 index 0000000..68535ae --- /dev/null +++ b/public/crosshair.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/gradient.webp b/public/gradient.webp new file mode 100644 index 0000000..2e3cc08 Binary files /dev/null and b/public/gradient.webp differ diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/app/(app)/globals.scss b/src/app/(app)/globals.scss index c79504e..cacb631 100644 --- a/src/app/(app)/globals.scss +++ b/src/app/(app)/globals.scss @@ -1,37 +1,191 @@ -html, -body { - font-family: 'Roboto', 'Inter', sans-serif; +* { + box-sizing: border-box; } -.container { - max-width: 37.5rem; - padding: 0 2rem; - margin-left: auto; - margin-right: auto; +html { + width: 100%; + height: 100%; + background-color: #000000; +} + +body { + color: #ffffff; + margin: 0; + display: flex; + justify-content: center; + align-items: center; + width: 100%; + padding: 0 20px; +} + +main { + position: relative; + display: flex; + flex-direction: column; + justify-content: center; + width: 100%; + min-height: 100vh; + max-width: 800px; + margin: 0 auto; + padding-block: 80px; + border-inline-width: 1px; + border-inline-style: solid; + border-image: linear-gradient(180deg, #ffffff00, #ffffff00, #ffffff1a, #ffffff00) 1; + + @media screen and (max-width: 600px) { + padding-block: 20px; + } +} + +article { + position: relative; + display: flex; + flex-direction: column; + gap: 20px; + padding: 60px 80px; + + @media screen and (max-width: 600px) { + padding: 40px 40px; + } +} + +.badge { + display: flex; + align-items: center; + gap: 10px; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: 300; + text-transform: uppercase; + letter-spacing: 2.6px; } h1 { + color: #ffffff; font-size: 4rem; -} + font-weight: 600; + line-height: normal; + letter-spacing: -0.02rem; + margin: 0; -.rainbow { - font-family: monospace; - letter-spacing: 5px; - background: linear-gradient(to right, #6666ff, #0099ff, #00ff00, #ff3399, #6666ff); - -webkit-background-clip: text; - background-clip: text; - color: transparent; - animation: rainbow_animation 6s ease-in-out infinite; - background-size: 400% 100%; -} - -@keyframes rainbow_animation { - 0%, - 100% { - background-position: 0 0; - } - - 50% { - background-position: 100% 0; + @media screen and (max-width: 600px) { + font-size: 2rem; + } +} + +p { + color: #ffffff; + font-size: 16px; + font-weight: 300; + line-height: 28px; + margin: 0; +} + +a { + color: #ffffff; + text-decoration: underline; + transition: color 0.2s ease-out; + + &:hover { + color: #ffffff80; + } +} + +.codeBlock { + position: relative; + background-color: #00000066; + margin: 0; + padding: 0; + + pre { + margin: 0; + padding: 60px 80px; + overflow-x: scroll; + + @media screen and (max-width: 600px) { + padding: 40px 40px; + } + + &::before { + content: ''; + display: block; + position: absolute; + top: 0; + left: calc(50% - 50vw); + width: 100vw; + height: 1px; + background: linear-gradient(90deg, #ffffff00, #ffffff1a, #ffffff1a, #ffffff00); + z-index: 1; + } + + &::after { + content: url('/crosshair.svg'); + display: block; + height: 19px; + width: 19px; + position: absolute; + top: -9px; + left: -10px; + } + } + + code { + font-size: 14px; + line-height: 2; + } + + &::before { + content: ''; + display: block; + position: absolute; + bottom: 0; + left: calc(50% - 50vw); + width: 100vw; + height: 1px; + background: linear-gradient(90deg, #ffffff00, #ffffff1a, #ffffff1a, #ffffff00); + z-index: 1; + } + + &::after { + content: url('/crosshair.svg'); + display: block; + height: 19px; + width: 19px; + position: absolute; + bottom: -9px; + right: -10px; + } +} + +.background { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + + div.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); + } + + div.gradient { + display: block; + position: absolute; + width: 100%; + height: 100%; + background: url('/gradient.webp'); + background-size: cover; + background-position: center; + z-index: -2; } } diff --git a/src/app/(app)/layout.tsx b/src/app/(app)/layout.tsx index df46f46..26f9544 100644 --- a/src/app/(app)/layout.tsx +++ b/src/app/(app)/layout.tsx @@ -1,13 +1,17 @@ import React from 'react' import './globals.scss' +import { Inter } from 'next/font/google' + +const inter = Inter({ + subsets: ['latin'], + display: 'swap', +}) /* Our app sits here to not cause any conflicts with payload's root layout */ const Layout: React.FC<{ children: React.ReactNode }> = ({ children }) => { return ( - - -
{children}
- + + {children} ) } diff --git a/src/app/(app)/page.tsx b/src/app/(app)/page.tsx index 1f78e3f..9d23bee 100644 --- a/src/app/(app)/page.tsx +++ b/src/app/(app)/page.tsx @@ -1,56 +1,51 @@ -import Example from '@/components/Example' +import { Badge } from '@/components/Badge' +import { Background } from '@/components/Background' import Link from 'next/link' import React from 'react' const Page = () => { return ( -
-

- Payload 3.0 BETA! -

-

- This BETA is rapidly evolving, you can report any bugs against{' '} - - the repo - {' '} - or in the{' '} - - dedicated channel in Discord - - . -

- -

- - Payload is running at /admin - -

- -

- - /my-route - {' '} - contains an example of a custom route running the Local API. -

- - - -

You can use the Local API in your server components like this:

-
-        
-          {`import { getPayload } from 'payload'
+    <>
+      
+
+ +

Payload 3.0

+

+ This BETA is rapidly evolving, you can report any bugs against{' '} + + the repo + {' '} + or in the{' '} + + dedicated channel in Discord + + . Payload is running at /admin. An example of a custom route + running the Local API can be found at /my-route. +

+

You can use the Local API in your server components like this:

+
+
+
+            
+              {`import { getPayload } from 'payload'
 import configPromise from "@payload-config";
 const payload = await getPayload({ config: configPromise })
 
 const data = await payload.find({
   collection: 'posts',
-})`}
-        
-      
-
+}) + +return +`} + + + + + + ) } diff --git a/src/components/Background.tsx b/src/components/Background.tsx new file mode 100644 index 0000000..c829a87 --- /dev/null +++ b/src/components/Background.tsx @@ -0,0 +1,8 @@ +export const Background = () => { + return ( +
+
+
+
+ ) +} diff --git a/src/components/Badge.tsx b/src/components/Badge.tsx new file mode 100644 index 0000000..6ac4d69 --- /dev/null +++ b/src/components/Badge.tsx @@ -0,0 +1,20 @@ +export const Badge = () => { + return ( + + + + + + Beta + + ) +}