diff --git a/src/app/globals.css b/src/app/globals.css index 394035e..9b57683 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2,147 +2,53 @@ @tailwind components; @tailwind utilities; - - @layer base { :root { - - --background: 0 0% 100%; - - --foreground: 0 0% 3.9%; - + --background: 240 10% 98%; + --foreground: 240 10% 3.9%; --card: 0 0% 100%; - - --card-foreground: 0 0% 3.9%; - + --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 262 84% 58%; + --primary-foreground: 0 0% 100%; + --secondary: 240 5% 90%; + --secondary-foreground: 240 5% 10%; + --muted: 240 5% 96%; + --muted-foreground: 240 4% 46%; + --accent: 240 5% 90%; + --accent-foreground: 240 5% 10%; + --destructive: 0 84% 60%; + --destructive-foreground: 0 0% 100%; + --border: 240 5% 83%; + --input: 240 5% 90%; + --ring: 262 84% 58%; + --radius: 0.75rem; + } - --popover-foreground: 0 0% 3.9%; - - --primary: 0 0% 9%; - - --primary-foreground: 0 0% 98%; - - --secondary: 0 0% 96.1%; - - --secondary-foreground: 0 0% 9%; - - --muted: 0 0% 96.1%; - - --muted-foreground: 0 0% 45.1%; - - --accent: 0 0% 96.1%; - - --accent-foreground: 0 0% 9%; - - --destructive: 0 84.2% 60.2%; - - --destructive-foreground: 0 0% 98%; - - --border: 0 0% 89.8%; - - --input: 0 0% 89.8%; - - --ring: 0 0% 3.9%; - - --chart-1: 12 76% 61%; - - --chart-2: 173 58% 39%; - - --chart-3: 197 37% 24%; - - --chart-4: 43 74% 66%; - - --chart-5: 27 87% 67%; - - --radius: 0.5rem - ; - - --sidebar-background: 0 0% 98%; - - --sidebar-foreground: 240 5.3% 26.1%; - - --sidebar-primary: 240 5.9% 10%; - - --sidebar-primary-foreground: 0 0% 98%; - - --sidebar-accent: 240 4.8% 95.9%; - - --sidebar-accent-foreground: 240 5.9% 10%; - - --sidebar-border: 220 13% 91%; - - --sidebar-ring: 217.2 91.2% 59.8%} .dark { - - --background: 0 0% 3.9%; - + --background: 240 10% 3.9%; --foreground: 0 0% 98%; - - --card: 0 0% 3.9%; - + --card: 240 5% 11%; --card-foreground: 0 0% 98%; - - --popover: 0 0% 3.9%; - + --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; - - --primary: 0 0% 98%; - - --primary-foreground: 0 0% 9%; - - --secondary: 0 0% 14.9%; - + --primary: 262 84% 68%; + --primary-foreground: 240 5% 10%; + --secondary: 240 4% 16%; --secondary-foreground: 0 0% 98%; - - --muted: 0 0% 14.9%; - - --muted-foreground: 0 0% 63.9%; - - --accent: 0 0% 14.9%; - + --muted: 240 4% 16%; + --muted-foreground: 240 5% 65%; + --accent: 240 4% 16%; --accent-foreground: 0 0% 98%; - - --destructive: 0 62.8% 30.6%; - + --destructive: 0 63% 31%; --destructive-foreground: 0 0% 98%; - - --border: 0 0% 14.9%; - - --input: 0 0% 14.9%; - - --ring: 0 0% 83.1%; - - --chart-1: 220 70% 50%; - - --chart-2: 160 60% 45%; - - --chart-3: 30 80% 55%; - - --chart-4: 280 65% 60%; - - --chart-5: 340 75% 55% - ; - - --sidebar-background: 240 5.9% 10%; - - --sidebar-foreground: 240 4.8% 95.9%; - - --sidebar-primary: 224.3 76.3% 48%; - - --sidebar-primary-foreground: 0 0% 100%; - - --sidebar-accent: 240 3.7% 15.9%; - - --sidebar-accent-foreground: 240 4.8% 95.9%; - - --sidebar-border: 240 3.7% 15.9%; - - --sidebar-ring: 217.2 91.2% 59.8%} + --border: 240 4% 16%; + --input: 240 4% 16%; + --ring: 262 84% 68%; + } } - - @layer base { * { @apply border-border; @@ -150,4 +56,4 @@ body { @apply bg-background text-foreground; } -} +} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index a66fbcc..11bffa2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -7,11 +7,12 @@ export default function Home() {
-

- Meta Tag Extractor +

+ Website Meta Tag Extractor

-

- Enter a URL to extract its meta title and description. +

+ Instantly pull the title, description, and preview image from any + URL.

diff --git a/src/components/meta-form.tsx b/src/components/meta-form.tsx index bbd19fb..1bbee15 100644 --- a/src/components/meta-form.tsx +++ b/src/components/meta-form.tsx @@ -8,6 +8,7 @@ import { Globe } from "lucide-react"; import { extractMetaData } from "@/app/actions"; import { LengthIndicator } from "./length-indicator"; import { CopyButton } from "./copy-button"; +import { ResultsSkeleton } from "./results-skeleton"; interface MetaData { title: string; @@ -59,21 +60,23 @@ export function MetaForm() { - {error && ( + {loading && } + + {error && !loading && ( -

{error}

+

{error}

)} - {metaData && ( + {metaData && !loading && ( diff --git a/src/components/results-skeleton.tsx b/src/components/results-skeleton.tsx new file mode 100644 index 0000000..c898c05 --- /dev/null +++ b/src/components/results-skeleton.tsx @@ -0,0 +1,30 @@ +import { Card, CardContent, CardHeader } from "@/components/ui/card"; +import { Skeleton } from "@/components/ui/skeleton"; + +export function ResultsSkeleton() { + return ( + + + + + +
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ ); +} \ No newline at end of file