Reverted all changes back to version 4163372a17
This commit is contained in:
@@ -2,53 +2,147 @@
|
|||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
:root {
|
:root {
|
||||||
--background: 240 10% 98%;
|
|
||||||
--foreground: 240 10% 3.9%;
|
|
||||||
--card: 0 0% 100%;
|
|
||||||
--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;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark {
|
--background: 0 0% 100%;
|
||||||
--background: 240 10% 3.9%;
|
|
||||||
--foreground: 0 0% 98%;
|
--foreground: 0 0% 3.9%;
|
||||||
--card: 240 5% 11%;
|
|
||||||
--card-foreground: 0 0% 98%;
|
--card: 0 0% 100%;
|
||||||
--popover: 240 10% 3.9%;
|
|
||||||
--popover-foreground: 0 0% 98%;
|
--card-foreground: 0 0% 3.9%;
|
||||||
--primary: 262 84% 68%;
|
|
||||||
--primary-foreground: 240 5% 10%;
|
--popover: 0 0% 100%;
|
||||||
--secondary: 240 4% 16%;
|
|
||||||
--secondary-foreground: 0 0% 98%;
|
--popover-foreground: 0 0% 3.9%;
|
||||||
--muted: 240 4% 16%;
|
|
||||||
--muted-foreground: 240 5% 65%;
|
--primary: 0 0% 9%;
|
||||||
--accent: 240 4% 16%;
|
|
||||||
--accent-foreground: 0 0% 98%;
|
--primary-foreground: 0 0% 98%;
|
||||||
--destructive: 0 63% 31%;
|
|
||||||
|
--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%;
|
--destructive-foreground: 0 0% 98%;
|
||||||
--border: 240 4% 16%;
|
|
||||||
--input: 240 4% 16%;
|
--border: 0 0% 89.8%;
|
||||||
--ring: 262 84% 68%;
|
|
||||||
}
|
--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%;
|
||||||
|
|
||||||
|
--foreground: 0 0% 98%;
|
||||||
|
|
||||||
|
--card: 0 0% 3.9%;
|
||||||
|
|
||||||
|
--card-foreground: 0 0% 98%;
|
||||||
|
|
||||||
|
--popover: 0 0% 3.9%;
|
||||||
|
|
||||||
|
--popover-foreground: 0 0% 98%;
|
||||||
|
|
||||||
|
--primary: 0 0% 98%;
|
||||||
|
|
||||||
|
--primary-foreground: 0 0% 9%;
|
||||||
|
|
||||||
|
--secondary: 0 0% 14.9%;
|
||||||
|
|
||||||
|
--secondary-foreground: 0 0% 98%;
|
||||||
|
|
||||||
|
--muted: 0 0% 14.9%;
|
||||||
|
|
||||||
|
--muted-foreground: 0 0% 63.9%;
|
||||||
|
|
||||||
|
--accent: 0 0% 14.9%;
|
||||||
|
|
||||||
|
--accent-foreground: 0 0% 98%;
|
||||||
|
|
||||||
|
--destructive: 0 62.8% 30.6%;
|
||||||
|
|
||||||
|
--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%}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
* {
|
* {
|
||||||
@apply border-border;
|
@apply border-border;
|
||||||
@@ -56,4 +150,4 @@
|
|||||||
body {
|
body {
|
||||||
@apply bg-background text-foreground;
|
@apply bg-background text-foreground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,11 @@ export default function Home() {
|
|||||||
<main className="flex-grow flex items-center justify-center p-4 sm:p-8">
|
<main className="flex-grow flex items-center justify-center p-4 sm:p-8">
|
||||||
<div className="flex flex-col gap-8 items-center w-full max-w-2xl">
|
<div className="flex flex-col gap-8 items-center w-full max-w-2xl">
|
||||||
<div className="text-center space-y-2">
|
<div className="text-center space-y-2">
|
||||||
<h1 className="text-3xl sm:text-5xl font-bold text-foreground tracking-tight">
|
<h1 className="text-3xl sm:text-4xl font-bold text-foreground">
|
||||||
Website Meta Tag Extractor
|
Meta Tag Extractor
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-lg text-muted-foreground">
|
<p className="text-muted-foreground">
|
||||||
Instantly pull the title, description, and preview image from any
|
Enter a URL to extract its meta title and description.
|
||||||
URL.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<MetaForm />
|
<MetaForm />
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import { Globe } from "lucide-react";
|
|||||||
import { extractMetaData } from "@/app/actions";
|
import { extractMetaData } from "@/app/actions";
|
||||||
import { LengthIndicator } from "./length-indicator";
|
import { LengthIndicator } from "./length-indicator";
|
||||||
import { CopyButton } from "./copy-button";
|
import { CopyButton } from "./copy-button";
|
||||||
import { ResultsSkeleton } from "./results-skeleton";
|
|
||||||
|
|
||||||
interface MetaData {
|
interface MetaData {
|
||||||
title: string;
|
title: string;
|
||||||
@@ -60,23 +59,21 @@ export function MetaForm() {
|
|||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={loading}
|
disabled={loading}
|
||||||
className="w-full sm:w-auto h-12 px-8 rounded-lg font-semibold transition-all hover:scale-105 active:scale-100"
|
className="w-full sm:w-auto h-12 px-8 rounded-lg font-semibold transition-all"
|
||||||
>
|
>
|
||||||
{loading ? "Extracting..." : "Extract"}
|
{loading ? "Extracting..." : "Extract"}
|
||||||
</Button>
|
</Button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{loading && <ResultsSkeleton />}
|
{error && (
|
||||||
|
|
||||||
{error && !loading && (
|
|
||||||
<Card className="border-destructive bg-destructive/10">
|
<Card className="border-destructive bg-destructive/10">
|
||||||
<CardContent className="p-4">
|
<CardContent className="p-4">
|
||||||
<p className="text-destructive text-center font-medium">{error}</p>
|
<p className="text-destructive text-center">{error}</p>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{metaData && !loading && (
|
{metaData && (
|
||||||
<Card className="w-full shadow-lg rounded-lg">
|
<Card className="w-full shadow-lg rounded-lg">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle className="text-xl text-card-foreground">
|
<CardTitle className="text-xl text-card-foreground">
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
import { Card, CardContent, CardHeader } from "@/components/ui/card";
|
|
||||||
import { Skeleton } from "@/components/ui/skeleton";
|
|
||||||
|
|
||||||
export function ResultsSkeleton() {
|
|
||||||
return (
|
|
||||||
<Card className="w-full shadow-lg rounded-lg">
|
|
||||||
<CardHeader>
|
|
||||||
<Skeleton className="h-6 w-48" />
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent className="space-y-6">
|
|
||||||
<div>
|
|
||||||
<Skeleton className="h-5 w-32 mb-2" />
|
|
||||||
<Skeleton className="aspect-video w-full rounded-md" />
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div className="flex items-center justify-between mb-1">
|
|
||||||
<Skeleton className="h-5 w-24" />
|
|
||||||
</div>
|
|
||||||
<Skeleton className="h-12 w-full" />
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div className="flex items-center justify-between mb-1">
|
|
||||||
<Skeleton className="h-5 w-36" />
|
|
||||||
</div>
|
|
||||||
<Skeleton className="h-20 w-full" />
|
|
||||||
</div>
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user