feat: Adds initial icons / favicon
@@ -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;
|
||||
|
||||
BIN
Public/images/android-chrome-192x192.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
Public/images/android-chrome-512x512.png
Normal file
|
After Width: | Height: | Size: 327 KiB |
BIN
Public/images/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
Public/images/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1013 B |
BIN
Public/images/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
Public/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Public/images/mand_logo.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
Public/images/mand_logo_md.webp
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
Public/images/mand_logo_sm.webp
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Public/images/mand_logo_trimmed.png
Normal file
|
After Width: | Height: | Size: 592 KiB |
1
Public/site.webmanifest
Normal 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"}
|
||||
@@ -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),
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||