look ma i'm nexting
This commit is contained in:
		
							parent
							
								
									d369880579
								
							
						
					
					
						commit
						6591e0987f
					
				
					 8 changed files with 161 additions and 1463 deletions
				
			
		|  | @ -1,6 +1,11 @@ | |||
| /** @type {import('next').NextConfig} */ | ||||
| const nextConfig = { | ||||
|   reactStrictMode: true, | ||||
| } | ||||
| 
 | ||||
| module.exports = nextConfig | ||||
| const webpack = require("webpack"); | ||||
| const { parsed: environment } = require("dotenv").config(); | ||||
| 
 | ||||
| module.exports = { | ||||
|   webpack(config) { | ||||
|     config.plugins.push(new webpack.EnvironmentPlugin(environment)); | ||||
|     return config; | ||||
|   }, | ||||
| }; | ||||
|  |  | |||
|  | @ -9,7 +9,9 @@ | |||
|     "lint": "next lint" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "dotenv": "^16.0.0", | ||||
|     "next": "12.1.4", | ||||
|     "next-auth": "^4.3.1", | ||||
|     "prisma": "^3.12.0", | ||||
|     "react": "18.0.0", | ||||
|     "react-dom": "18.0.0" | ||||
|  |  | |||
|  | @ -1,7 +1,12 @@ | |||
| import '../styles/globals.css' | ||||
| import "../styles/globals.css"; | ||||
| import { SessionProvider } from "next-auth/react"; | ||||
| 
 | ||||
| function MyApp({ Component, pageProps }) { | ||||
|   return <Component {...pageProps} /> | ||||
| function MyApp({ Component, pageProps: { session, ...pageProps } }) { | ||||
|   return ( | ||||
|     <SessionProvider session={session}> | ||||
|       <Component {...pageProps} /> | ||||
|     </SessionProvider> | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export default MyApp | ||||
| export default MyApp; | ||||
|  |  | |||
							
								
								
									
										11
									
								
								pages/api/auth/[...nextauth].js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								pages/api/auth/[...nextauth].js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| import NextAuth from "next-auth"; | ||||
| import DiscordProvider from "next-auth/providers/discord"; | ||||
| 
 | ||||
| export default NextAuth({ | ||||
|   providers: [ | ||||
|     DiscordProvider({ | ||||
|       clientId: process.env.DISCORD_CLIENT_ID, | ||||
|       clientSecret: process.env.DISCORD_CLIENT_SECRET, | ||||
|     }), | ||||
|   ], | ||||
| }); | ||||
|  | @ -1,8 +1,10 @@ | |||
| import Head from 'next/head' | ||||
| import Image from 'next/image' | ||||
| import styles from '../styles/Home.module.css' | ||||
| import { useSession, signIn, signOut } from "next-auth/react"; | ||||
| import Head from "next/head"; | ||||
| import Image from "next/image"; | ||||
| import styles from "../styles/Home.module.css"; | ||||
| 
 | ||||
| export default function Home() { | ||||
|   const { data: session } = useSession(); | ||||
|   return ( | ||||
|     <div className={styles.container}> | ||||
|       <Head> | ||||
|  | @ -12,58 +14,18 @@ export default function Home() { | |||
|       </Head> | ||||
| 
 | ||||
|       <main className={styles.main}> | ||||
|         <h1 className={styles.title}> | ||||
|           Welcome to <a href="https://nextjs.org">Next.js!</a> | ||||
|         </h1> | ||||
|         <h1 className={styles.title}>Steam Borders</h1> | ||||
| 
 | ||||
|         <p className={styles.description}> | ||||
|           Get started by editing{' '} | ||||
|           <code className={styles.code}>pages/index.js</code> | ||||
|           {session ? `Signed in as ${session.user.name}` : "Not signed in"} | ||||
|           <br /> | ||||
|           {session ? ( | ||||
|             <button onClick={() => signOut()}>Sign Out</button> | ||||
|           ) : ( | ||||
|             <button onClick={() => signIn()}>Sign In</button> | ||||
|           )} | ||||
|         </p> | ||||
| 
 | ||||
|         <div className={styles.grid}> | ||||
|           <a href="https://nextjs.org/docs" className={styles.card}> | ||||
|             <h2>Documentation →</h2> | ||||
|             <p>Find in-depth information about Next.js features and API.</p> | ||||
|           </a> | ||||
| 
 | ||||
|           <a href="https://nextjs.org/learn" className={styles.card}> | ||||
|             <h2>Learn →</h2> | ||||
|             <p>Learn about Next.js in an interactive course with quizzes!</p> | ||||
|           </a> | ||||
| 
 | ||||
|           <a | ||||
|             href="https://github.com/vercel/next.js/tree/canary/examples" | ||||
|             className={styles.card} | ||||
|           > | ||||
|             <h2>Examples →</h2> | ||||
|             <p>Discover and deploy boilerplate example Next.js projects.</p> | ||||
|           </a> | ||||
| 
 | ||||
|           <a | ||||
|             href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" | ||||
|             className={styles.card} | ||||
|           > | ||||
|             <h2>Deploy →</h2> | ||||
|             <p> | ||||
|               Instantly deploy your Next.js site to a public URL with Vercel. | ||||
|             </p> | ||||
|           </a> | ||||
|         </div> | ||||
|       </main> | ||||
| 
 | ||||
|       <footer className={styles.footer}> | ||||
|         <a | ||||
|           href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" | ||||
|           target="_blank" | ||||
|           rel="noopener noreferrer" | ||||
|         > | ||||
|           Powered by{' '} | ||||
|           <span className={styles.logo}> | ||||
|             <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} /> | ||||
|           </span> | ||||
|         </a> | ||||
|       </footer> | ||||
|     </div> | ||||
|   ) | ||||
|   ); | ||||
| } | ||||
|  |  | |||
							
								
								
									
										105
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										105
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							|  | @ -1,15 +1,19 @@ | |||
| lockfileVersion: 5.3 | ||||
| 
 | ||||
| specifiers: | ||||
|   dotenv: ^16.0.0 | ||||
|   eslint: 8.13.0 | ||||
|   eslint-config-next: 12.1.4 | ||||
|   next: 12.1.4 | ||||
|   next-auth: ^4.3.1 | ||||
|   prisma: ^3.12.0 | ||||
|   react: 18.0.0 | ||||
|   react-dom: 18.0.0 | ||||
| 
 | ||||
| dependencies: | ||||
|   dotenv: 16.0.0 | ||||
|   next: 12.1.4_react-dom@18.0.0+react@18.0.0 | ||||
|   next-auth: 4.3.1_react-dom@18.0.0+react@18.0.0 | ||||
|   prisma: 3.12.0 | ||||
|   react: 18.0.0 | ||||
|   react-dom: 18.0.0_react@18.0.0 | ||||
|  | @ -33,7 +37,6 @@ packages: | |||
|     engines: {node: '>=6.9.0'} | ||||
|     dependencies: | ||||
|       regenerator-runtime: 0.13.9 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@eslint/eslintrc/1.2.1: | ||||
|     resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} | ||||
|  | @ -206,6 +209,10 @@ packages: | |||
|       fastq: 1.13.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@panva/hkdf/1.0.1: | ||||
|     resolution: {integrity: sha512-mMyQ9vjpuFqePkfe5bZVIf/H3Dmk6wA8Kjxff9RcO4kqzJo+Ek9pGKwZHpeMr7Eku0QhLXMCd7fNCSnEnRMubg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@prisma/engines/3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980: | ||||
|     resolution: {integrity: sha512-zULjkN8yhzS7B3yeEz4aIym4E2w1ChrV12i14pht3ePFufvsAvBSoZ+tuXMvfSoNTgBS5E4bolRzLbMmbwkkMQ==} | ||||
|     requiresBuild: true | ||||
|  | @ -430,6 +437,11 @@ packages: | |||
|     resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} | ||||
|     dev: true | ||||
| 
 | ||||
|   /cookie/0.4.2: | ||||
|     resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} | ||||
|     engines: {node: '>= 0.6'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /core-js-pure/3.21.1: | ||||
|     resolution: {integrity: sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==} | ||||
|     requiresBuild: true | ||||
|  | @ -504,6 +516,11 @@ packages: | |||
|       esutils: 2.0.3 | ||||
|     dev: true | ||||
| 
 | ||||
|   /dotenv/16.0.0: | ||||
|     resolution: {integrity: sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==} | ||||
|     engines: {node: '>=12'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /emoji-regex/9.2.2: | ||||
|     resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} | ||||
|     dev: true | ||||
|  | @ -1103,6 +1120,10 @@ packages: | |||
|     resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} | ||||
|     dev: true | ||||
| 
 | ||||
|   /jose/4.6.0: | ||||
|     resolution: {integrity: sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /js-tokens/4.0.0: | ||||
|     resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} | ||||
| 
 | ||||
|  | @ -1172,6 +1193,13 @@ packages: | |||
|     dependencies: | ||||
|       js-tokens: 4.0.0 | ||||
| 
 | ||||
|   /lru-cache/6.0.0: | ||||
|     resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       yallist: 4.0.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /lru-cache/7.8.1: | ||||
|     resolution: {integrity: sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==} | ||||
|     engines: {node: '>=12'} | ||||
|  | @ -1222,6 +1250,30 @@ packages: | |||
|     resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} | ||||
|     dev: true | ||||
| 
 | ||||
|   /next-auth/4.3.1_react-dom@18.0.0+react@18.0.0: | ||||
|     resolution: {integrity: sha512-DBYEPBLq5naIqh/1i2zEHljcA1OXXecKW3NRU1W4s6R3UX3RdLZ2lWlqgBHUiZQ1zdNikFM/bYQxVGyG7bx8oA==} | ||||
|     engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} | ||||
|     peerDependencies: | ||||
|       nodemailer: ^6.6.5 | ||||
|       react: ^17.0.2 || ^18.0.0-0 | ||||
|       react-dom: ^17.0.2 || ^18.0.0-0 | ||||
|     peerDependenciesMeta: | ||||
|       nodemailer: | ||||
|         optional: true | ||||
|     dependencies: | ||||
|       '@babel/runtime': 7.17.9 | ||||
|       '@panva/hkdf': 1.0.1 | ||||
|       cookie: 0.4.2 | ||||
|       jose: 4.6.0 | ||||
|       oauth: 0.9.15 | ||||
|       openid-client: 5.1.4 | ||||
|       preact: 10.7.1 | ||||
|       preact-render-to-string: 5.1.21_preact@10.7.1 | ||||
|       react: 18.0.0 | ||||
|       react-dom: 18.0.0_react@18.0.0 | ||||
|       uuid: 8.3.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /next/12.1.4_react-dom@18.0.0+react@18.0.0: | ||||
|     resolution: {integrity: sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ==} | ||||
|     engines: {node: '>=12.22.0'} | ||||
|  | @ -1264,11 +1316,20 @@ packages: | |||
|       - babel-plugin-macros | ||||
|     dev: false | ||||
| 
 | ||||
|   /oauth/0.9.15: | ||||
|     resolution: {integrity: sha1-vR/vr2hslrdUda7VGWQS/2DPucE=} | ||||
|     dev: false | ||||
| 
 | ||||
|   /object-assign/4.1.1: | ||||
|     resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} | ||||
|     engines: {node: '>=0.10.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /object-hash/2.2.0: | ||||
|     resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} | ||||
|     engines: {node: '>= 6'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /object-inspect/1.12.0: | ||||
|     resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} | ||||
|     dev: true | ||||
|  | @ -1322,12 +1383,27 @@ packages: | |||
|       es-abstract: 1.19.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /oidc-token-hash/5.0.1: | ||||
|     resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==} | ||||
|     engines: {node: ^10.13.0 || >=12.0.0} | ||||
|     dev: false | ||||
| 
 | ||||
|   /once/1.4.0: | ||||
|     resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} | ||||
|     dependencies: | ||||
|       wrappy: 1.0.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /openid-client/5.1.4: | ||||
|     resolution: {integrity: sha512-36/PZY3rDgiIFj2uCL9a1fILPmIwu3HksoWO4mukgXe74ZOsEisJMMqTMfmPNw6j/7kO0mBc2xqy4eYRrB8xPA==} | ||||
|     engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} | ||||
|     dependencies: | ||||
|       jose: 4.6.0 | ||||
|       lru-cache: 6.0.0 | ||||
|       object-hash: 2.2.0 | ||||
|       oidc-token-hash: 5.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /optionator/0.9.1: | ||||
|     resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} | ||||
|     engines: {node: '>= 0.8.0'} | ||||
|  | @ -1408,11 +1484,28 @@ packages: | |||
|       source-map-js: 1.0.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /preact-render-to-string/5.1.21_preact@10.7.1: | ||||
|     resolution: {integrity: sha512-wbMtNU4JpfvbE04iCe7BZ1yLYN8i6NRrq+NhR0fUINjPXGu3ZIc4GM5ScOiwdIP1sPXv9SVETuud/tmQGMvdNQ==} | ||||
|     peerDependencies: | ||||
|       preact: '>=10' | ||||
|     dependencies: | ||||
|       preact: 10.7.1 | ||||
|       pretty-format: 3.8.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /preact/10.7.1: | ||||
|     resolution: {integrity: sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /prelude-ls/1.2.1: | ||||
|     resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} | ||||
|     engines: {node: '>= 0.8.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /pretty-format/3.8.0: | ||||
|     resolution: {integrity: sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=} | ||||
|     dev: false | ||||
| 
 | ||||
|   /prisma/3.12.0: | ||||
|     resolution: {integrity: sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==} | ||||
|     engines: {node: '>=12.6'} | ||||
|  | @ -1462,7 +1555,6 @@ packages: | |||
| 
 | ||||
|   /regenerator-runtime/0.13.9: | ||||
|     resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /regexp.prototype.flags/1.4.1: | ||||
|     resolution: {integrity: sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==} | ||||
|  | @ -1697,6 +1789,11 @@ packages: | |||
|       punycode: 2.1.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /uuid/8.3.2: | ||||
|     resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} | ||||
|     hasBin: true | ||||
|     dev: false | ||||
| 
 | ||||
|   /v8-compile-cache/2.3.0: | ||||
|     resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} | ||||
|     dev: true | ||||
|  | @ -1727,3 +1824,7 @@ packages: | |||
|   /wrappy/1.0.2: | ||||
|     resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} | ||||
|     dev: true | ||||
| 
 | ||||
|   /yallist/4.0.0: | ||||
|     resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} | ||||
|     dev: false | ||||
|  |  | |||
|  | @ -6,6 +6,17 @@ generator client { | |||
| } | ||||
| 
 | ||||
| datasource db { | ||||
|   provider = "postgresql" | ||||
|   url      = env("DATABASE_URL") | ||||
|   provider = "sqlite" | ||||
|   url      = "file:./borders.db" | ||||
| } | ||||
| 
 | ||||
| model User { | ||||
|   id            Int      @id @default(autoincrement()) | ||||
|   discordId     String   @unique | ||||
|   username      String | ||||
|   discriminator String | ||||
|   avatar        String? | ||||
|   borderUrl     String? | ||||
|   createdAt     DateTime @default(now()) | ||||
|   updatedAt     DateTime @updatedAt | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue