Adds favicon and manifest

Adds favicon and web manifest to improve the app's installability and appearance as a Progressive Web App (PWA).

Also adds `.gitignore` entries for the parser output directories.
This commit is contained in:
2025-05-21 22:53:43 +02:00
parent 52fbae23ba
commit 7479f3ec97
8 changed files with 159 additions and 0 deletions

4
.gitignore vendored
View File

@ -236,6 +236,10 @@ next-env.d.ts
*.sublime-workspace *.sublime-workspace
*-instructions.* *-instructions.*
# ShittyParser outputs
outputs/
.outputs/
# logs # logs
logs logs
*.log *.log

View File

@ -7,6 +7,14 @@ export const metadata = {
title: "LiveDash-Node", title: "LiveDash-Node",
description: description:
"Multi-tenant dashboard system for tracking chat session metrics", "Multi-tenant dashboard system for tracking chat session metrics",
icons: {
icon: [
{ url: "/favicon.ico", sizes: "32x32", type: "image/x-icon" },
{ url: "/favicon.svg", type: "image/svg+xml" },
],
apple: "/icon-192.svg",
},
manifest: "/manifest.json",
}; };
export default function RootLayout({ children }: { children: ReactNode }) { export default function RootLayout({ children }: { children: ReactNode }) {

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<!-- Simple version for favicon.ico generation -->
<circle cx="16" cy="16" r="15" fill="#3b82f6" />
<path d="M10,22 L10,16 L13,16 L13,22 Z M15,22 L15,12 L18,12 L18,22 Z M20,22 L20,14 L23,14 L23,22 Z" fill="white" />
<text x="9.5" y="10" fill="white" font-family="Arial" font-weight="bold" font-size="13">LD</text>
</svg>

After

Width:  |  Height:  |  Size: 421 B

5
public/favicon.ico Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<circle cx="16" cy="16" r="15" fill="#3b82f6"/>
<text x="8" y="22" fill="white" font-family="Arial" font-weight="bold" font-size="18">LD</text>
</svg>

After

Width:  |  Height:  |  Size: 294 B

50
public/favicon.svg Normal file
View File

@ -0,0 +1,50 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<style>
path,
circle {
stroke-width: 1.5;
}
.bg {
fill: #ffffff;
stroke: #3b82f6;
}
.icon {
fill: #3b82f6;
stroke: #3b82f6;
}
.text {
fill: #3b82f6;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-weight: bold;
font-size: 13px;
}
@media (prefers-color-scheme: dark) {
.bg {
fill: #1e3a8a;
stroke: #93c5fd;
}
.icon {
fill: #93c5fd;
stroke: #93c5fd;
}
.text {
fill: #93c5fd;
}
}
</style>
<!-- Background circle -->
<circle cx="16" cy="16" r="14" class="bg" />
<!-- Dashboard chart-like icon -->
<path d="M10,22 L10,16 L13,16 L13,22 Z M15,22 L15,12 L18,12 L18,22 Z M20,22 L20,14 L23,14 L23,22 Z" class="icon" />
<!-- Text "LD" for LiveDash -->
<text x="9.5" y="10" class="text">LD</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

51
public/icon-192.svg Normal file
View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="192" height="192" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<style>
path,
circle {
stroke-width: 1.5;
}
.bg {
fill: #ffffff;
stroke: #3b82f6;
}
.icon {
fill: #3b82f6;
stroke: #3b82f6;
}
.text {
fill: #3b82f6;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-weight: bold;
font-size: 13px;
}
@media (prefers-color-scheme: dark) {
.bg {
fill: #1e3a8a;
stroke: #93c5fd;
}
.icon {
fill: #93c5fd;
stroke: #93c5fd;
}
.text {
fill: #93c5fd;
}
}
</style>
<!-- Background circle -->
<circle cx="16" cy="16" r="14" class="bg" />
<!-- Dashboard chart-like icon -->
<path d="M10,22 L10,16 L13,16 L13,22 Z M15,22 L15,12 L18,12 L18,22 Z M20,22 L20,14 L23,14 L23,22 Z" class="icon" />
<!-- Text "LD" for LiveDash -->
<text x="9.5" y="10" class="text">LD</text>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

16
public/info.html Normal file
View File

@ -0,0 +1,16 @@
<!doctype html>
<html>
<head>
<title>Favicon Generator</title>
</head>
<body>
<div style="width: 64px; height: 64px">
<img src="favicon.svg" width="64" height="64" />
</div>
<script>
setTimeout(() => {
console.log("This is just a placeholder for favicon generation");
}, 1000);
</script>
</body>
</html>

19
public/manifest.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "LiveDash",
"short_name": "LiveDash",
"icons": [
{
"src": "/favicon.svg",
"sizes": "32x32",
"type": "image/svg+xml"
},
{
"src": "/icon-192.svg",
"sizes": "192x192",
"type": "image/svg+xml"
}
],
"theme_color": "#3b82f6",
"background_color": "#ffffff",
"display": "standalone"
}