chore: Fix favicons

This commit is contained in:
Thomas Camlong 2025-04-16 16:34:38 +02:00
parent bfe293f090
commit d83edeedce
No known key found for this signature in database
GPG Key ID: A678F374F428457B
4 changed files with 32 additions and 85 deletions

BIN
web/public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
web/public/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

1
web/public/favicon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 82.9 512 346.2"><path d="M169.3 102.7c28.8 0 52.2 23.4 52.2 52.2v66.8c1.8-.6 3.6-1 5.5-1 5.9 0 11.1 2.9 14.2 7.4v-73.2c0-39.7-32.3-72-72-72-24.8 0-46.8 12.6-59.7 31.8 5.6 3.6 10.9 7.5 16 11.8 9.4-14.3 25.5-23.8 43.8-23.8m115.6 118.1c1.9 0 3.8.4 5.5 1V155c0-28.8 23.4-52.2 52.2-52.2 18.3 0 34.4 9.5 43.8 23.8 5.1-4.2 10.4-8.2 16-11.8C389.5 95.6 367.5 83 342.7 83c-39.7 0-72 32.3-72 72v73.2c3.1-4.5 8.3-7.4 14.2-7.4m-69.3 104.8c-35.7 8.6-66 28.1-88.1 54-12.2 14.3-21.9 30.6-28.6 48l46.6.3 265.5 1.2v-.1c-29.2-77.8-112.5-123.4-195.4-103.4m11.5-61.9c-9.7 0-17.5 7.8-17.5 17.5s7.8 17.5 17.5 17.5 17.5-7.8 17.5-17.5-7.8-17.5-17.5-17.5m57.8 35.1c9.7 0 17.5-7.8 17.5-17.5s-7.8-17.5-17.5-17.5-17.5 7.8-17.5 17.5 7.8 17.5 17.5 17.5m162.5-75.6 26.7-108.8c-22.6 2.8-43.5 11.1-61.5 23.4-6.3 4.3-12.3 9.2-17.8 14.4-26.4 25.4-42.9 61.1-42.9 100.6 0 30.7 9.9 59.1 26.7 82.1 9.2 12.7 20.6 23.7 33.4 32.6l9.3-37.8c47.9-14.3 84.1-55.7 90.7-106.5zM133.5 334.9c16.8-23 26.7-51.4 26.7-82.1 0-39.5-16.5-75.2-42.9-100.6-5.5-5.3-11.5-10.1-17.8-14.4-17.9-12.3-38.8-20.6-61.5-23.4l26.7 108.8H0c6.6 50.8 42.8 92.2 90.7 106.5l9.3 37.8c12.9-8.9 24.2-19.9 33.5-32.6" style="fill:#fa5252"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,28 +1,34 @@
import { PostHogProvider } from "@/components/PostHogProvider" import { PostHogProvider } from "@/components/PostHogProvider";
import { Header } from "@/components/header" import { Header } from "@/components/header";
import { LicenseNotice } from "@/components/license-notice" import { LicenseNotice } from "@/components/license-notice";
import type { Metadata, Viewport } from "next" import type { Metadata, Viewport } from "next";
import { Inter } from "next/font/google" import { Inter } from "next/font/google";
import { Toaster } from "sonner" import { Toaster } from "sonner";
import "./globals.css" import "./globals.css";
import { ThemeProvider } from "./theme-provider" import { ThemeProvider } from "./theme-provider";
const inter = Inter({ const inter = Inter({
variable: "--font-inter", variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
}) });
export const viewport: Viewport = { export const viewport: Viewport = {
width: "device-width", width: "device-width",
initialScale: 1, initialScale: 1,
themeColor: "#ffffff", themeColor: "#ffffff",
} };
export const metadata: Metadata = { export const metadata: Metadata = {
metadataBase: new URL("https://dashboardicons.com"), metadataBase: new URL("https://icons.homarr.dev"),
title: "Dashboard Icons", title: "Dashboard Icons",
description: "Curated icons for your dashboard", description: "Curated icons for your dashboard",
keywords: ["dashboard", "icons", "open source", "free icons", "dashboard design"], keywords: [
"dashboard",
"icons",
"open source",
"free icons",
"dashboard design",
],
robots: { robots: {
index: true, index: true,
follow: true, follow: true,
@ -37,7 +43,7 @@ export const metadata: Metadata = {
locale: "en_US", locale: "en_US",
title: "Dashboard Icons", title: "Dashboard Icons",
description: "Curated icons for your dashboard", description: "Curated icons for your dashboard",
url: "https://dashboardicons.com", url: "https://icons.homarr.dev",
images: [ images: [
{ {
url: "/og-image.png", url: "/og-image.png",
@ -64,7 +70,7 @@ export const metadata: Metadata = {
}, },
alternates: { alternates: {
types: { types: {
"application/rss+xml": "https://dashboardicons.com/rss.xml", "application/rss+xml": "https://icons.homarr.dev/rss.xml",
}, },
}, },
icons: { icons: {
@ -73,26 +79,6 @@ export const metadata: Metadata = {
url: "/favicon.ico", url: "/favicon.ico",
type: "image/x-icon", type: "image/x-icon",
}, },
{
url: "/favicon-16x16.png",
sizes: "16x16",
type: "image/png",
},
{
url: "/favicon-32x32.png",
sizes: "32x32",
type: "image/png",
},
{
url: "/favicon-96x96.png",
sizes: "96x96",
type: "image/png",
},
{
url: "/android-chrome-192x192.png",
sizes: "192x192",
type: "image/png",
},
], ],
shortcut: [ shortcut: [
{ {
@ -100,62 +86,22 @@ export const metadata: Metadata = {
type: "image/x-icon", type: "image/x-icon",
}, },
], ],
apple: [
{
url: "/apple-icon-57x57.png",
sizes: "57x57",
type: "image/png",
}, },
{ };
url: "/apple-icon-60x60.png",
sizes: "60x60",
type: "image/png",
},
{
url: "/apple-icon-72x72.png",
sizes: "72x72",
type: "image/png",
},
{
url: "/apple-icon-76x76.png",
sizes: "76x76",
type: "image/png",
},
{
url: "/apple-icon-114x114.png",
sizes: "114x114",
type: "image/png",
},
{
url: "/apple-icon-120x120.png",
sizes: "120x120",
type: "image/png",
},
{
url: "/apple-icon-144x144.png",
sizes: "144x144",
type: "image/png",
},
{
url: "/apple-icon-152x152.png",
sizes: "152x152",
type: "image/png",
},
{
url: "/apple-icon-180x180.png",
sizes: "180x180",
type: "image/png",
},
],
},
}
export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) { export default function RootLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<body className={`${inter.variable} antialiased bg-background`}> <body className={`${inter.variable} antialiased bg-background`}>
<PostHogProvider> <PostHogProvider>
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange> <ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<Header /> <Header />
<main>{children}</main> <main>{children}</main>
<Toaster /> <Toaster />
@ -164,5 +110,5 @@ export default function RootLayout({ children }: Readonly<{ children: React.Reac
</PostHogProvider> </PostHogProvider>
</body> </body>
</html> </html>
) );
} }