Please update .env.local file with anon key and url
@@ -28,7 +28,7 @@ export default async function AuthButton() {
size="sm"
variant={"outline"}
disabled
- className="opacity-75 cursor-none pointer-events-none"
+ className="pointer-events-none cursor-none opacity-75"
>
Sign in
@@ -37,7 +37,7 @@ export default async function AuthButton() {
size="sm"
variant={"default"}
disabled
- className="opacity-75 cursor-none pointer-events-none"
+ className="pointer-events-none cursor-none opacity-75"
>
Sign up
diff --git a/components/hero.tsx b/components/hero.tsx
deleted file mode 100644
index 6afca6b..0000000
--- a/components/hero.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import NextLogo from "./next-logo";
-import SupabaseLogo from "./supabase-logo";
-
-export default function Header() {
- return (
-
-
-
Supabase and Next.js Starter Template
-
- The fastest way to build apps with{" "}
-
- Supabase
- {" "}
- and{" "}
-
- Next.js
-
-
-
-
- );
-}
diff --git a/components/next-logo.tsx b/components/next-logo.tsx
deleted file mode 100644
index 1655582..0000000
--- a/components/next-logo.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-export default function NextLogo() {
- return (
-
- );
-}
diff --git a/components/supabase-logo.tsx b/components/supabase-logo.tsx
deleted file mode 100644
index 96a56a5..0000000
--- a/components/supabase-logo.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-export default function SupabaseLogo() {
- return (
-
- );
-}
diff --git a/components/tutorial/code-block.tsx b/components/tutorial/code-block.tsx
deleted file mode 100644
index 9f1b13d..0000000
--- a/components/tutorial/code-block.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-"use client";
-
-import { useState } from "react";
-import { Button } from "../ui/button";
-
-const CopyIcon = () => (
-
-);
-
-const CheckIcon = () => (
-
-);
-
-export function CodeBlock({ code }: { code: string }) {
- const [icon, setIcon] = useState(CopyIcon);
-
- const copy = async () => {
- await navigator?.clipboard?.writeText(code);
- setIcon(CheckIcon);
- setTimeout(() => setIcon(CopyIcon), 2000);
- };
-
- return (
-
-
- {code}
-
- );
-}
diff --git a/components/tutorial/connect-supabase-steps.tsx b/components/tutorial/connect-supabase-steps.tsx
deleted file mode 100644
index 04ca37f..0000000
--- a/components/tutorial/connect-supabase-steps.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { TutorialStep } from "./tutorial-step";
-
-export default function ConnectSupabaseSteps() {
- return (
-
-
-
- Head over to{" "}
-
- database.new
- {" "}
- and create a new Supabase project.
-
-
-
-
-
- Rename the{" "}
-
- .env.example
- {" "}
- file in your Next.js app to{" "}
-
- .env.local
- {" "}
- and populate with values from{" "}
-
- your Supabase project's API Settings
-
- .
-
-
-
-
-
- You may need to quit your Next.js development server and run{" "}
-
- npm run dev
- {" "}
- again to load the new environment variables.
-
-
-
-
-
- You may need to refresh the page for Next.js to load the new
- environment variables.
-
-
-
- );
-}
diff --git a/components/tutorial/fetch-data-steps.tsx b/components/tutorial/fetch-data-steps.tsx
deleted file mode 100644
index f0193fe..0000000
--- a/components/tutorial/fetch-data-steps.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import { TutorialStep } from "./tutorial-step";
-import { CodeBlock } from "./code-block";
-
-const create = `create table notes (
- id bigserial primary key,
- title text
-);
-
-insert into notes(title)
-values
- ('Today I created a Supabase project.'),
- ('I added some data and queried it from Next.js.'),
- ('It was awesome!');
-`.trim();
-
-const server = `import { createClient } from '@/utils/supabase/server'
-
-export default async function Page() {
- const supabase = createClient()
- const { data: notes } = await supabase.from('notes').select()
-
- return
{JSON.stringify(notes, null, 2)}
-}
-`.trim();
-
-const client = `'use client'
-
-import { createClient } from '@/utils/supabase/client'
-import { useEffect, useState } from 'react'
-
-export default function Page() {
- const [notes, setNotes] = useState
(null)
- const supabase = createClient()
-
- useEffect(() => {
- const getData = async () => {
- const { data } = await supabase.from('notes').select()
- setNotes(data)
- }
- getData()
- }, [])
-
- return {JSON.stringify(notes, null, 2)}
-}
-`.trim();
-
-export default function FetchDataSteps() {
- return (
-
-
-
- Head over to the{" "}
-
- Table Editor
- {" "}
- for your Supabase project to create a table and insert some example
- data. If you're stuck for creativity, you can copy and paste the
- following into the{" "}
-
- SQL Editor
- {" "}
- and click RUN!
-
-
-
-
-
-
- To create a Supabase client and query data from an Async Server
- Component, create a new page.tsx file at{" "}
-
- /app/notes/page.tsx
- {" "}
- and add the following.
-
-
- Alternatively, you can use a Client Component.
-
-
-
-
- You're ready to launch your product to the world! 🚀
-
-
- );
-}
diff --git a/components/tutorial/sign-up-user-steps.tsx b/components/tutorial/sign-up-user-steps.tsx
deleted file mode 100644
index c00fb66..0000000
--- a/components/tutorial/sign-up-user-steps.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import Link from "next/link";
-import { TutorialStep } from "./tutorial-step";
-import { ArrowUpRight } from "lucide-react";
-
-export default function SignUpUserSteps() {
- return (
-
- {process.env.VERCEL_ENV === "preview" ||
- process.env.VERCEL_ENV === "production" ? (
-
- It looks like this App is hosted on Vercel.
-
- This particular deployment is
-
- "{process.env.VERCEL_ENV}"
- {" "}
- on
-
- https://{process.env.VERCEL_URL}
-
- .
-
-
- You will need to{" "}
-
- update your Supabase project
- {" "}
- with redirect URLs based on your Vercel deployment URLs.
-
-
- -
- -{" "}
-
- http://localhost:3000/**
-
-
- -
- -{" "}
-
- {`https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}/**`}
-
-
- -
- -{" "}
-
- {`https://${process.env.VERCEL_PROJECT_PRODUCTION_URL?.replace(".vercel.app", "")}-*-[vercel-team-url].vercel.app/**`}
- {" "}
- (Vercel Team URL can be found in{" "}
-
- Vercel Team settings
-
- )
-
-
-
- Redirect URLs Docs
-
-
- ) : null}
-
-
- Head over to the{" "}
-
- Sign up
- {" "}
- page and sign up your first user. It's okay if this is just you for
- now. Your awesome idea will have plenty of users later!
-
-
-
- );
-}
diff --git a/components/tutorial/tutorial-step.tsx b/components/tutorial/tutorial-step.tsx
deleted file mode 100644
index 0ab9cd4..0000000
--- a/components/tutorial/tutorial-step.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Checkbox } from "../ui/checkbox";
-
-export function TutorialStep({
- title,
- children,
-}: {
- title: string;
- children: React.ReactNode;
-}) {
- return (
-
-
-
-
- );
-}
diff --git a/components/typography/inline-code.tsx b/components/typography/inline-code.tsx
deleted file mode 100644
index 288f9e3..0000000
--- a/components/typography/inline-code.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-export function TypographyInlineCode() {
- return (
-
- @radix-ui/react-alert-dialog
-
- );
-}
diff --git a/package-lock.json b/package-lock.json
index 72bc24b..69dbeee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,6 @@
"lucide-react": "^0.436.0",
"next": "latest",
"next-themes": "^0.3.0",
- "prettier": "^3.3.3",
"react": "18.2.0",
"react-dom": "18.2.0"
},
@@ -27,6 +26,8 @@
"@types/react": "18.2.46",
"@types/react-dom": "18.2.18",
"postcss": "8.4.33",
+ "prettier": "^3.3.3",
+ "prettier-plugin-tailwindcss": "^0.6.8",
"tailwind-merge": "^2.5.2",
"tailwindcss": "3.4.1",
"tailwindcss-animate": "^1.0.7",
@@ -2194,6 +2195,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
"integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -2204,6 +2206,84 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
+ "node_modules/prettier-plugin-tailwindcss": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz",
+ "integrity": "sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.21.3"
+ },
+ "peerDependencies": {
+ "@ianvs/prettier-plugin-sort-imports": "*",
+ "@prettier/plugin-pug": "*",
+ "@shopify/prettier-plugin-liquid": "*",
+ "@trivago/prettier-plugin-sort-imports": "*",
+ "@zackad/prettier-plugin-twig-melody": "*",
+ "prettier": "^3.0",
+ "prettier-plugin-astro": "*",
+ "prettier-plugin-css-order": "*",
+ "prettier-plugin-import-sort": "*",
+ "prettier-plugin-jsdoc": "*",
+ "prettier-plugin-marko": "*",
+ "prettier-plugin-multiline-arrays": "*",
+ "prettier-plugin-organize-attributes": "*",
+ "prettier-plugin-organize-imports": "*",
+ "prettier-plugin-sort-imports": "*",
+ "prettier-plugin-style-order": "*",
+ "prettier-plugin-svelte": "*"
+ },
+ "peerDependenciesMeta": {
+ "@ianvs/prettier-plugin-sort-imports": {
+ "optional": true
+ },
+ "@prettier/plugin-pug": {
+ "optional": true
+ },
+ "@shopify/prettier-plugin-liquid": {
+ "optional": true
+ },
+ "@trivago/prettier-plugin-sort-imports": {
+ "optional": true
+ },
+ "@zackad/prettier-plugin-twig-melody": {
+ "optional": true
+ },
+ "prettier-plugin-astro": {
+ "optional": true
+ },
+ "prettier-plugin-css-order": {
+ "optional": true
+ },
+ "prettier-plugin-import-sort": {
+ "optional": true
+ },
+ "prettier-plugin-jsdoc": {
+ "optional": true
+ },
+ "prettier-plugin-marko": {
+ "optional": true
+ },
+ "prettier-plugin-multiline-arrays": {
+ "optional": true
+ },
+ "prettier-plugin-organize-attributes": {
+ "optional": true
+ },
+ "prettier-plugin-organize-imports": {
+ "optional": true
+ },
+ "prettier-plugin-sort-imports": {
+ "optional": true
+ },
+ "prettier-plugin-style-order": {
+ "optional": true
+ },
+ "prettier-plugin-svelte": {
+ "optional": true
+ }
+ }
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
diff --git a/package.json b/package.json
index e318539..495b078 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,6 @@
"lucide-react": "^0.436.0",
"next": "latest",
"next-themes": "^0.3.0",
- "prettier": "^3.3.3",
"react": "18.2.0",
"react-dom": "18.2.0"
},
@@ -28,6 +27,8 @@
"@types/react": "18.2.46",
"@types/react-dom": "18.2.18",
"postcss": "8.4.33",
+ "prettier": "^3.3.3",
+ "prettier-plugin-tailwindcss": "^0.6.8",
"tailwind-merge": "^2.5.2",
"tailwindcss": "3.4.1",
"tailwindcss-animate": "^1.0.7",