taggart

Simple golang tagging filesystem webapp
Log | Files | Refs

commit ac8385c64c56db286bb7fd4525f3c4169dbe6919
parent ef249d39a052c409b8fddcff83c23d57ece6ccf1
Author: breadcat <breadcat@users.noreply.github.com>
Date:   Mon, 22 Sep 2025 17:00:50 +0100

Add preliminary nav bar, add search and help there

Diffstat:
Mtemplates/_header.html | 49+++++++++++++++++++++++++++++++++++++++++++++++--
Mtemplates/search.html | 16----------------
2 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/templates/_header.html b/templates/_header.html @@ -6,10 +6,16 @@ <title>{{if .Title}}{{.Title}} - Taggart{{else}}Taggart{{end}}</title> <style> /* main body styling */ -body {background: #1a1a1a; color: #cfcfcf; font-family: sans-serif} +body {background: #1a1a1a; color: #cfcfcf; font-family: sans-serif; margin: 0} a {color: lightblue; text-decoration: none} a:hover {text-decoration: underline} +/* nav menu */ +nav {display: flex; border-bottom: 1px solid gray; height: 50px} +nav ul {flex: 1 1 auto; list-style: none; margin: 0; padding: 0} +nav ul li {display: inline-block; margin: 0; padding: 0; border-right: 1px solid gray} +nav ul li a, nav ul li strong {padding: 15px; display: block} + /* cascading menu */ ul.tag-menu,ul.tag-menu ul{list-style:none;margin:0;padding:0} ul.tag-menu li{position:relative} @@ -20,8 +26,47 @@ ul.tag-menu li ul li,ul.tag-menu li:hover>ul{display:block} ul.tag-menu li ul li ul{left:100%;top:0} ul.tag-menu li ul li a{background:#f9f9f9} ul.tag-menu li ul li a:hover{background:#ddd} + +div#searchToggleContainer {display: none; background-color: #2a2a2a} +span#searchToggle {cursor: pointer; color: lightblue} </style> </head> <body> -<p><a href="/upload">Upload new file</a> | <a href="/">Files</a> | <a href="/tags">Tags</a> | <a href="/untagged">Untagged</a> | <a href="/search">Search</a> | <a href="/settings">Settings</a></p> +<nav> +<ul> +<li><strong>Taggart</strong></li> +<li><a href="/add">Add files</a></li> +<li><a href="/">Files</a></li> +<li><a href="/tags">Tags</a></li> +<li><a href="/untagged">Untagged</a></li> +<li><a href="/settings">Settings</a></li> +</ul> +<div id="search-container"> +<form method="get" action="/search" style="margin-bottom: 30px;"> + <input type="text" name="q" value="" placeholder="Search..." style="width: 400px; padding: 8px; font-size: 16px;"> + <span id="searchToggle">?</span> +</form> +</div> +</nav> + + <div id="searchToggleContainer"> + <h3>Search Examples:</h3> + <ul> + <li><code>*class*.jpg</code> - finds files containing "class" and ending with ".jpg"</li> + <li><code>photo*</code> - finds files starting with "photo"</li> + <li><code>*.pdf</code> - finds all PDF files</li> + <li><code>IMG_????_*.jpg</code> - finds files like "IMG_2023_vacation.jpg" (? matches single character)</li> + <li><code>*vacation*</code> - finds files containing "vacation" anywhere</li> + </ul> + </div> + <script> + const button = document.getElementById("searchToggle"); + const div = document.getElementById("searchToggleContainer"); + button.addEventListener("click", () => { + div.style.display = (div.style.display === "none" || div.style.display === "") + ? "block" + : "none"; + }); + </script> + {{end}} \ No newline at end of file diff --git a/templates/search.html b/templates/search.html @@ -1,22 +1,6 @@ {{template "_header" .}} <h1>Search Files</h1> -<form method="get" action="/search" style="margin-bottom: 30px;"> - <input type="text" name="q" value="{{.Data.Query}}" placeholder="Search filenames (use * for wildcards)" style="width: 400px; padding: 8px; font-size: 16px;"> - <button type="submit" style="padding: 8px 16px; font-size: 16px;">Search</button> -</form> - -<div style="background-color: #f8f9fa; padding: 15px; border-radius: 5px; margin-bottom: 20px;"> - <h3>Wildcard Examples:</h3> - <ul> - <li><code>*class*.jpg</code> - finds files containing "class" and ending with ".jpg"</li> - <li><code>photo*</code> - finds files starting with "photo"</li> - <li><code>*.pdf</code> - finds all PDF files</li> - <li><code>IMG_????_*.jpg</code> - finds files like "IMG_2023_vacation.jpg" (? matches single character)</li> - <li><code>*vacation*</code> - finds files containing "vacation" anywhere</li> - </ul> -</div> - {{if .Data.Files}} <h2>Found {{len .Data.Files}} file{{if ne (len .Data.Files) 1}}s{{end}}</h2> <div class="file-grid">