diff --git a/web/src/app/icons/[icon]/page.tsx b/web/src/app/icons/[icon]/page.tsx index ef157e18..0c9027f2 100644 --- a/web/src/app/icons/[icon]/page.tsx +++ b/web/src/app/icons/[icon]/page.tsx @@ -1,6 +1,6 @@ import { IconDetails } from "@/components/icon-details" import { BASE_URL } from "@/constants" -import { getAllIcons, getAuthorData, getTotalIcons } from "@/lib/api" +import { getAllIcons, getAuthorData } from "@/lib/api" import type { Metadata, ResolvingMetadata } from "next" import { notFound } from "next/navigation" @@ -42,7 +42,7 @@ export async function generateMetadata({ params, searchParams }: Props, parent: return { title: `${formattedIconName} Icon | Dashboard Icons`, - description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, + description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats for FREE. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, keywords: [ `${formattedIconName} icon`, "dashboard icon", @@ -64,7 +64,7 @@ export async function generateMetadata({ params, searchParams }: Props, parent: ], openGraph: { title: `${formattedIconName} Icon | Dashboard Icons`, - description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, + description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats for FREE. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, type: "article", url: pageUrl, images: [ @@ -83,7 +83,7 @@ export async function generateMetadata({ params, searchParams }: Props, parent: twitter: { card: "summary_large_image", title: `${formattedIconName} Icon | Dashboard Icons`, - description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, + description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats for FREE. Part of a collection of ${totalIcons} curated icons for services, applications and tools, designed specifically for dashboards and app directories.`, images: [iconImageUrl], creator: "@homarr_app", }, @@ -104,10 +104,5 @@ export default async function IconPage({ params }: { params: Promise<{ icon: str const authorData = await getAuthorData(originalIconData.update.author.id) - return ( -
- {/* Existing Icon Details */} - -
- ) + return } diff --git a/web/src/app/icons/layout.tsx b/web/src/app/icons/layout.tsx new file mode 100644 index 00000000..7ba6d056 --- /dev/null +++ b/web/src/app/icons/layout.tsx @@ -0,0 +1,23 @@ +import { cn } from "@/lib/utils" +import React from "react" + +interface BackgroundWrapperProps { + children: React.ReactNode +} + +export default function BackgroundWrapper({ children }: BackgroundWrapperProps) { + return ( +
+
+
+
{children}
+
+ ) +} diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index befae981..2d8eb492 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -2,11 +2,11 @@ import { PostHogProvider } from "@/components/PostHogProvider" import { Footer } from "@/components/footer" import { HeaderWrapper } from "@/components/header-wrapper" import { LicenseNotice } from "@/components/license-notice" +import { getTotalIcons } from "@/lib/api" import type { Metadata, Viewport } from "next" import { Inter } from "next/font/google" import { Toaster } from "sonner" import "./globals.css" -import { getTotalIcons } from "@/lib/api" import { ThemeProvider } from "./theme-provider" const inter = Inter({ diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 4553c0f0..65768b45 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -1,6 +1,6 @@ import { HeroSection } from "@/components/hero" import { RecentlyAddedIcons } from "@/components/recently-added-icons" -import { BASE_URL, REPO_NAME, REPO_PATH } from "@/constants" +import { BASE_URL, REPO_NAME } from "@/constants" import { getRecentlyAddedIcons, getTotalIcons } from "@/lib/api" import type { Metadata } from "next" diff --git a/web/src/components/icon-details.tsx b/web/src/components/icon-details.tsx index 0ee7dcd6..0b48743f 100644 --- a/web/src/components/icon-details.tsx +++ b/web/src/components/icon-details.tsx @@ -251,11 +251,11 @@ export function IconDetails({ icon, iconData, authorData }: IconDetailsProps) { } return ( -
+
{/* Left Column: Icon Info and Author */}
- +
@@ -364,7 +364,7 @@ export function IconDetails({ icon, iconData, authorData }: IconDetailsProps) { {/* Middle Column: Icon variants */}
- + Icon variants Click on any icon to copy its URL to your clipboard @@ -402,7 +402,7 @@ export function IconDetails({ icon, iconData, authorData }: IconDetailsProps) { {/* Right Column: Technical details */}
- + Technical details