86b89f5518
- Update UI with refined rose-themed styling throughout the site - Add mobile-responsive improvements to header and hero sections - Create new 'Recently Added Icons' component with animated cards - Improve icon details view with better visual hierarchy and theme indicators - Implement better hover effects and transitions for interactive elements - Add mobile menu for better navigation on smaller screens - Update license notice wording - Remove grid background in favor of refined blur effects
51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
import { HeroSection } from "@/components/hero"
|
|
import { RecentlyAddedIcons } from "@/components/recently-added-icons"
|
|
import { BASE_URL } from "@/constants"
|
|
import { getRecentlyAddedIcons, getTotalIcons } from "@/lib/api"
|
|
import type { Metadata } from "next"
|
|
|
|
export async function generateMetadata(): Promise<Metadata> {
|
|
const { totalIcons } = await getTotalIcons()
|
|
|
|
return {
|
|
title: "Dashboard Icons - Beautiful icons for your dashboard",
|
|
description: `A collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`,
|
|
keywords: ["dashboard icons", "service icons", "application icons", "tool icons", "web dashboard", "app directory"],
|
|
openGraph: {
|
|
title: "Dashboard Icons - Your definitive source for dashboard icons",
|
|
description: `A collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`,
|
|
type: "website",
|
|
url: BASE_URL,
|
|
images: [
|
|
{
|
|
url: "/og-image.png",
|
|
width: 1200,
|
|
height: 630,
|
|
alt: "Dashboard Icons",
|
|
},
|
|
],
|
|
},
|
|
twitter: {
|
|
title: "Dashboard Icons - Your definitive source for dashboard icons",
|
|
description: `A collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`,
|
|
card: "summary_large_image",
|
|
images: ["/og-image.png"],
|
|
},
|
|
alternates: {
|
|
canonical: BASE_URL,
|
|
},
|
|
}
|
|
}
|
|
|
|
export default async function Home() {
|
|
const { totalIcons } = await getTotalIcons()
|
|
const recentIcons = await getRecentlyAddedIcons(8)
|
|
|
|
return (
|
|
<div className="flex flex-col min-h-screen">
|
|
<HeroSection totalIcons={totalIcons} />
|
|
<RecentlyAddedIcons icons={recentIcons} />
|
|
</div>
|
|
)
|
|
}
|