feat(ui): version in footer, iOS icon grid, alphanumeric passwords
This commit is contained in:
parent
28881750db
commit
9e056ddd4a
3 changed files with 79 additions and 75 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
2026.6.0004
|
2026.6.0005
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package ui
|
package ui
|
||||||
|
|
||||||
|
import appver "git.lohmar.co.uk/lexton-it/NextWks/core/version"
|
||||||
|
|
||||||
templ LauncherPage(userName string, role string, apps []AppTile) {
|
templ LauncherPage(userName string, role string, apps []AppTile) {
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
@ -21,6 +23,9 @@ templ LauncherPage(userName string, role string, apps []AppTile) {
|
||||||
@greetingSection(userName)
|
@greetingSection(userName)
|
||||||
@AppGrid(apps)
|
@AppGrid(apps)
|
||||||
</main>
|
</main>
|
||||||
|
<footer class="footer">
|
||||||
|
<span>NextWks v{ appver.Version }</span>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- PWA Modal -->
|
<!-- PWA Modal -->
|
||||||
|
|
@ -149,40 +154,20 @@ templ workspaceCSS() {
|
||||||
.app-card.disabled{opacity:0.35;cursor:default}
|
.app-card.disabled{opacity:0.35;cursor:default}
|
||||||
.app-card.disabled:active{transform:none}
|
.app-card.disabled:active{transform:none}
|
||||||
|
|
||||||
/* Overlay & Modal */
|
/* Footer */
|
||||||
.overlay{
|
.footer{
|
||||||
position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1000;
|
text-align:center;padding:16px;color:var(--text3);font-size:0.7rem;
|
||||||
display:flex;align-items:center;justify-content:center;
|
border-top:1px solid var(--border);margin-top:auto
|
||||||
backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px)
|
|
||||||
}
|
}
|
||||||
.modal{
|
|
||||||
background:var(--surface); border:1px solid var(--border);
|
|
||||||
border-radius:var(--radius); width:92%; max-width:420px; max-height:85vh; overflow-y:auto
|
|
||||||
}
|
|
||||||
.modal-head{
|
|
||||||
display:flex;justify-content:space-between;align-items:center;
|
|
||||||
padding:18px 20px 12px
|
|
||||||
}
|
|
||||||
.modal-head h2{font-size:1.1rem;font-weight:600}
|
|
||||||
.modal-body{padding:0 20px 20px}
|
|
||||||
.close-btn{
|
|
||||||
width:32px;height:32px;border-radius:50%;border:none;background:transparent;
|
|
||||||
color:var(--text2);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center
|
|
||||||
}
|
|
||||||
.modal-body h3{font-size:0.85rem;font-weight:600;color:var(--text2);margin:14px 0 6px;text-transform:uppercase;letter-spacing:0.5px}
|
|
||||||
.modal-body ol{padding-left:18px}
|
|
||||||
.modal-body li{font-size:0.85rem;color:var(--text);margin-bottom:4px;line-height:1.5}
|
|
||||||
.modal-body code{background:var(--surface2);padding:1px 5px;border-radius:4px;font-size:0.8rem}
|
|
||||||
.modal-body .btn{
|
|
||||||
display:block;width:100%;padding:12px;margin-top:16px;border:none;border-radius:var(--radius-sm);
|
|
||||||
background:var(--blue);color:#fff;font-size:0.9rem;font-weight:600;cursor:pointer;text-align:center
|
|
||||||
}
|
|
||||||
.modal-body .btn:hover{opacity:0.9}
|
|
||||||
</style>
|
</style>
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Helpers ---
|
// --- Helpers ---
|
||||||
|
|
||||||
|
func version() string {
|
||||||
|
return appver.Version
|
||||||
|
}
|
||||||
|
|
||||||
func initials(name string) string {
|
func initials(name string) string {
|
||||||
if name == "" { return "?" }
|
if name == "" { return "?" }
|
||||||
if len(name) == 1 { return name }
|
if len(name) == 1 { return name }
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue