feat: Adds initial icons / favicon

This commit is contained in:
2026-01-11 13:48:30 -05:00
parent f835fc7c51
commit f7c6373255
14 changed files with 67 additions and 4 deletions

View File

@@ -6388,6 +6388,14 @@
width: calc(var(--spacing) * 7);
height: calc(var(--spacing) * 7);
}
.size-\[50px\] {
width: 50px;
height: 50px;
}
.size-\[150px\] {
width: 150px;
height: 150px;
}
.status-lg {
@layer daisyui.l1.l2 {
width: calc(0.25rem * 3);
@@ -6427,9 +6435,18 @@
}
}
}
.h-40 {
height: calc(var(--spacing) * 40);
}
.h-\[1em\] {
height: 1em;
}
.h-\[50px\] {
height: 50px;
}
.h-fit {
height: fit-content;
}
.h-full {
height: 100%;
}
@@ -6570,9 +6587,15 @@
.w-24 {
width: calc(var(--spacing) * 24);
}
.w-40 {
width: calc(var(--spacing) * 40);
}
.w-64 {
width: calc(var(--spacing) * 64);
}
.w-\[50px\] {
width: 50px;
}
.w-\[80px\] {
width: 80px;
}
@@ -6828,6 +6851,13 @@
margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
}
}
.space-x-0 {
:where(& > :not(:last-child)) {
--tw-space-x-reverse: 0;
margin-inline-start: calc(calc(var(--spacing) * 0) * var(--tw-space-x-reverse));
margin-inline-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-x-reverse)));
}
}
.space-x-2 {
:where(& > :not(:last-child)) {
--tw-space-x-reverse: 0;
@@ -7643,6 +7673,12 @@
.mask-repeat {
mask-repeat: repeat;
}
.object-contain {
object-fit: contain;
}
.object-scale-down {
object-fit: scale-down;
}
.checkbox-lg {
@layer daisyui.l1.l2 {
padding: 0.3125rem;

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
Public/images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Public/images/mand_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

1
Public/site.webmanifest Normal file
View File

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View File

@@ -23,6 +23,22 @@ public struct MainPage<Inner: HTML>: SendableHTMLDocument where Inner: Sendable
script(.src("/js/main.js")) {}
link(.rel(.stylesheet), .href("/css/output.css"))
link(.rel(.icon), .href("/images/favicon.ico"), .custom(name: "type", value: "image/x-icon"))
link(
.rel(.icon),
.href("/images/favicon-32x32.png"),
.init(name: "type", value: "image/png")
)
link(
.rel(.icon),
.href("/images/favicon-16x16.png"),
.init(name: "type", value: "image/png")
)
link(
.rel(.init(rawValue: "apple-touch-icon")),
.init(name: "sizes", value: "180x180"),
.href("/images/apple-touch-icon.png")
)
link(.rel(.init(rawValue: "manifest")), .href("/site.webmanifest"))
script(
.src("https://unpkg.com/htmx-remove@latest"),
.crossorigin(.anonymous),

View File

@@ -6,8 +6,14 @@ struct Navbar: HTML, Sendable {
let sidebarToggle: Bool
var body: some HTML<HTMLTag.nav> {
nav(.class("navbar w-full bg-base-300 text-base-content shadow-sm mb-4")) {
div(.class("flex-1 space-x-4 items-center")) {
nav(
.class(
"""
navbar w-full bg-base-300 text-base-content shadow-sm mb-4
"""
)
) {
div(.class("flex flex-1 space-x-4 items-center")) {
if sidebarToggle {
Tooltip("Open sidebar", position: .right) {
label(
@@ -20,12 +26,16 @@ struct Navbar: HTML, Sendable {
.navButton()
}
}
Tooltip("Home", position: .right) {
a(
.class("w-fit text-xl py-2 px-4"),
.class("flex w-fit h-fit text-xl items-end px-4 py-2"),
.href(route: .project(.index))
) {
"Manual-D"
img(
.src("/images/mand_logo_sm.webp"),
)
span { "Manual-D" }
}
.navButton()
}