Commit Roast My Website
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,10 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
|
||||
|
||||
.fill-tremor-content-emphasis {
|
||||
fill: rgb(113 113 122) !important;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
export async function useGithubStars() {
|
||||
const res = await fetch("https://api.github.com/repos/mendableai/firecrawl");
|
||||
const data = await res.json();
|
||||
return data.stargazers_count;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Gloria_Hallelujah } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { Toaster } from "sonner";
|
||||
import { Analytics } from "@vercel/analytics/react";
|
||||
import { useEffect, useState } from "react";
|
||||
import Head from "next/head";
|
||||
|
||||
|
||||
const inter = Gloria_Hallelujah({ weight: "400", subsets: ["latin"] });
|
||||
// const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
const meta = {
|
||||
title: "Roast My Website",
|
||||
description:
|
||||
"Welcome to Roast My Website, the ultimate tool for putting your website through the wringer! This repository harnesses the power of Firecrawl to scrape and capture screenshots of websites, and then unleashes the latest LLM vision models to mercilessly roast them. 😈",
|
||||
cardImage: "/og.png",
|
||||
robots: "follow, index",
|
||||
favicon: "/favicon.ico",
|
||||
url: "https://www.roastmywebsite.ai/",
|
||||
};
|
||||
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
return {
|
||||
title: meta.title,
|
||||
description: meta.description,
|
||||
referrer: "origin-when-cross-origin",
|
||||
keywords: ["Roast My Website", "Roast", "Website", "GitHub", "Firecrawl"],
|
||||
authors: [
|
||||
{ name: "Roast My Website", url: "https://www.roastmywebsite.ai/" },
|
||||
],
|
||||
creator: "Roast My Website",
|
||||
publisher: "Roast My Website",
|
||||
robots: meta.robots,
|
||||
icons: { icon: meta.favicon },
|
||||
metadataBase: new URL(meta.url),
|
||||
openGraph: {
|
||||
url: meta.url,
|
||||
title: meta.title,
|
||||
description: meta.description,
|
||||
images: [meta.cardImage],
|
||||
type: "website",
|
||||
siteName: meta.title,
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
site: "@Vercel",
|
||||
creator: "@Vercel",
|
||||
title: meta.title,
|
||||
description: meta.description,
|
||||
images: [meta.cardImage],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}</body>
|
||||
<Analytics />
|
||||
<Toaster />
|
||||
</html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// pages/index.tsx
|
||||
import MainComponent from "@/components/main";
|
||||
import { useGithubStars } from "./hooks/useGithubStars";
|
||||
import GithubButton from "@/components/github-button";
|
||||
|
||||
export default async function Home() {
|
||||
const githubStars = await useGithubStars();
|
||||
return (
|
||||
<div className="relative">
|
||||
<div className="hidden md:flex z-10 absolute top-4 right-4 p-4">
|
||||
<GithubButton githubStars={githubStars} />
|
||||
</div>
|
||||
<MainComponent />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user