diff --git a/main.go b/main.go index 91aadd1..7a4e0b2 100644 --- a/main.go +++ b/main.go @@ -174,6 +174,7 @@ func loadData() error { } func getNavBar(r *http.Request) string { + themeToggle := `` if isAuthenticated(r) { username := "" userID := getCurrentUserID(r) @@ -183,9 +184,9 @@ func getNavBar(r *http.Request) string { break } } - return fmt.Sprintf(``, username) + return fmt.Sprintf(``, username, themeToggle) } - return `` + return `` } // Session helpers - all access sessions map under dataMu lock @@ -450,43 +451,100 @@ func main() { } const css = `` + .dark .chroma{color:var(--code-text)!important;background-color:var(--code-bg)!important} + .dark .chroma .lnt{color:var(--private-color)!important} + .dark .chroma .ln{color:var(--private-color)!important} + .dark pre{background-color:var(--code-bg)!important} + @media(max-width:600px){nav{padding:.5rem;flex-wrap:wrap;display:flex;gap:.5rem}nav a{padding:.25rem .5rem;font-size:.9rem}main{padding:.75rem}} + .edit-link{color:var(--private-color);font-size:.8rem;text-decoration:none} + .edit-link:hover{color:var(--link-color)} + #theme-toggle{background:none;border:none;cursor:pointer;padding:.25rem .4rem;color:var(--nav-text);font-size:1.1rem;border-radius:4px} + #theme-toggle:hover{background:rgba(255,255,255,.1)} + + +` const chromaCSS = `` func renderPage(w http.ResponseWriter, r *http.Request, title, body string) { - fmt.Fprintf(w, "