Added a site picker plus options to create new sites

This commit is contained in:
Leon Mika 2026-03-24 11:08:51 +11:00
parent cc0da8d668
commit d80aacc180
14 changed files with 203 additions and 29 deletions

View file

@ -29,7 +29,25 @@
<span class="visually-hidden">Publishing...</span>
</div>
-->
<div class="nav-item dropdown me-2">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ .site.Title }}
</a>
<ul class="dropdown-menu dropdown-menu-end">
{{ range .allSites }}
<li><a class="dropdown-item" href="/sites/{{.ID}}/posts">{{.Title}}</a></li>
{{ end }}
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="/sites/new">New Site…</a></li>
</ul>
</div>
<div class="nav-item dropdown border-end me-3">
{{ if .pubTarget }}
<a href="{{.pubTarget.BaseURL}}" class="nav-link navbar-site-visit" target="_blank" title="Visit site">
<i data-feather="external-link" width="18" height="18"></i>
</a>
{{ end }}
</div>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ .user.Username }}

View file

@ -26,7 +26,7 @@
</div>
<div data-first-run-target="pages">
<div class="text-center mb-4">
<p>Enter the details of your blog, if you know them.<br>All fields are optional, and can be changed later.</p>
<p>Enter the details of your blog if you know them.<br>All fields are optional and can be changed later.</p>
</div>
<div class="mb-2">
<label for="siteName" class="form-label">Site Name</label>

View file

@ -29,7 +29,7 @@
</table>
{{ else }}
<div class="h4 m-3 text-center">
<div class="position-absolute top-50 start-50 translate-middle">No pages yet.</div>
<div class="position-absolute top-50 start-50 translate-middle">📄<br>No pages yet.</div>
</div>
{{ end }}
</main>

View file

@ -0,0 +1,29 @@
<div class="mx-auto p-2" style="width: 400px; margin-block-start: 50px;" data-controller="first-run">
<div class="text-center mb-4">
<h1>New Site</h1>
</div>
<form action="/sites" method="post">
<div class="text-center mb-4">
<p>Enter the details of your blog if you know them.<br>All fields are optional and can be changed later.</p>
</div>
<div class="mb-2">
<label for="siteName" class="form-label">Site Name</label>
<input type="text" class="form-control" name="siteName" id="siteName">
</div>
<div class="mb-3">
<label for="siteUrl" class="form-label">Site URL</label>
<input type="text" class="form-control" name="siteUrl" id="siteUrl">
</div>
<div class="mb-3">
<label for="netlifySiteId" class="form-label">Netlify Site ID</label>
<input type="text" class="form-control" name="netlifySiteId" id="netlifySiteId">
</div>
<div class="mb-3">
<label for="netlifyAPIToken" class="form-label">Netlify API Token</label>
<input type="text" class="form-control" name="netlifyAPIToken" id="netlifyAPIToken">
</div>
<div class="mb-3 text-end">
<input type="submit" class="btn btn-primary" value="Create Site">
</div>
</form>
</div>

View file

@ -20,5 +20,9 @@
</div>
{{ end }}
</div>
{{ else }}
<div class="h4 m-3 text-center">
<div class="position-absolute top-50 start-50 translate-middle">🖼️<br>No uploads yet.</div>
</div>
{{ end }}
</main>