Nest setting object inside URL, use URL in sidebar

This commit is contained in:
Eli Ribble 2026-02-25 17:21:37 +00:00
parent 2838d8eee2
commit 5e3a97272a
No known key found for this signature in database
4 changed files with 47 additions and 36 deletions

View file

@ -51,14 +51,14 @@
title="Notifications"
>
<div class="menu-icon"><i class="bi bi-bell"></i></div>
{{ if gt (len .Notifications) 0 }}
{{ if gt (len .User.Notifications) 0 }}
<span
class="position-absolute translate-middle badge rounded-pill bg-primary"
>
{{ if gt (len .Notifications) 99 }}
{{ if gt (len .User.Notifications) 99 }}
99+
{{ else }}
{{ len .Notifications }}
{{ len .User.Notifications }}
{{ end }}
<span class="visually-hidden">unread notifications</span>
</span>
@ -112,7 +112,7 @@
</li>
<li>
<a
href="/setting"
href="{{ .URL.Setting.Root }}"
data-bs-toggle="tooltip"
data-bs-placement="right"
title="Settings"
@ -143,7 +143,7 @@
<span class="menu-text ms-2">Help</span>
</a>
</li>
{{ if eq .Role "root" }}
{{ if eq .User.Role "root" }}
<li>
<a
href="/sudo"

View file

@ -56,7 +56,7 @@
{{ template "sync/component/icons.html" }}
<div class="d-flex">
{{ if .User }}
{{ template "sync/component/sidebar.html" .User }}
{{ template "sync/component/sidebar.html" . }}
{{ end }}
</div>

View file

@ -28,7 +28,7 @@
organization.
</p>
<div class="d-flex justify-content-between align-items-center">
<a href="{{ .URL.SettingUser }}" class="btn btn-outline-primary">
<a href="{{ .URL.Setting.User }}" class="btn btn-outline-primary">
Manage Users
<i class="bi bi-arrow-right ms-1"></i>
</a>
@ -50,7 +50,7 @@
</p>
<div class="d-flex justify-content-between align-items-center">
<a
href="{{ .URL.SettingPesticide }}"
href="{{ .URL.Setting.Pesticide }}"
class="btn btn-outline-success"
>
Manage Products
@ -75,7 +75,7 @@
</p>
<div class="d-flex justify-content-between align-items-center">
<a
href="{{ .URL.SettingIntegration }}"
href="{{ .URL.Setting.Integration }}"
class="btn btn-outline-primary"
>
Manage Integrations
@ -99,7 +99,7 @@
</p>
<div class="d-flex justify-content-between align-items-center">
<a
href="{{ .URL.SettingOrganization }}"
href="{{ .URL.Setting.Organization }}"
class="btn btn-outline-danger"
>
Manage Organization

View file

@ -5,35 +5,46 @@ import (
)
type contentURL struct {
OAuthRefreshArcGIS string
Root string
Route string
SamplePoolCSV string
Setting string
SettingIntegration string
SettingOrganization string
SettingPesticide string
SettingPesticideAdd string
SettingUser string
SettingUserAdd string
Tegola string
UploadCSVPool string
OAuthRefreshArcGIS string
Root string
Route string
SamplePoolCSV string
Setting contentURLSetting
Tegola string
UploadCSVPool string
}
type contentURLSetting struct {
Fieldseeker string
Integration string
Organization string
Pesticide string
PesticideAdd string
Root string
User string
UserAdd string
}
func newContentURL() contentURL {
return contentURL{
OAuthRefreshArcGIS: config.MakeURLNidus("/arcgis/oauth/begin"),
Root: config.MakeURLNidus("/"),
Route: config.MakeURLNidus("/route"),
SamplePoolCSV: config.MakeURLNidus("/static/file/sample-pool.csv"),
Setting: config.MakeURLNidus("/setting"),
SettingIntegration: config.MakeURLNidus("/setting/integration"),
SettingOrganization: config.MakeURLNidus("/setting/organization"),
SettingPesticide: config.MakeURLNidus("/setting/pesticide"),
SettingPesticideAdd: config.MakeURLNidus("/setting/pesticide/add"),
SettingUser: config.MakeURLNidus("/setting/user"),
SettingUserAdd: config.MakeURLNidus("/setting/user/add"),
Tegola: config.MakeURLTegola("/"),
UploadCSVPool: config.MakeURLNidus("/upload/pool"),
OAuthRefreshArcGIS: config.MakeURLNidus("/arcgis/oauth/begin"),
Root: config.MakeURLNidus("/"),
Route: config.MakeURLNidus("/route"),
SamplePoolCSV: config.MakeURLNidus("/static/file/sample-pool.csv"),
Setting: newContentURLSetting(),
Tegola: config.MakeURLTegola("/"),
UploadCSVPool: config.MakeURLNidus("/upload/pool"),
}
}
func newContentURLSetting() contentURLSetting {
return contentURLSetting{
Fieldseeker: config.MakeURLNidus("/setting/integration/fieldseeker"),
Integration: config.MakeURLNidus("/setting/integration"),
Organization: config.MakeURLNidus("/setting/organization"),
Pesticide: config.MakeURLNidus("/setting/pesticide"),
PesticideAdd: config.MakeURLNidus("/setting/pesticide/add"),
Root: config.MakeURLNidus("/setting"),
User: config.MakeURLNidus("/setting/user"),
UserAdd: config.MakeURLNidus("/setting/user/add"),
}
}