mirror of
https://github.com/thomiceli/opengist.git
synced 2026-08-07 07:14:49 +00:00
133 lines
8.8 KiB
HTML
Vendored
133 lines
8.8 KiB
HTML
Vendored
{{ define "content" }}
|
|
<div class="space-y-6">
|
|
<header class="space-y-1">
|
|
<h1 class="text-2xl font-bold leading-tight">{{ .locale.Tr "admin.admin_panel" }}</h1>
|
|
<p class="text-muted-foreground text-sm">{{ .locale.Tr "admin.configuration" }}</p>
|
|
</header>
|
|
|
|
<div class="grid gap-4 lg:grid-cols-2">
|
|
<!-- Read-only configuration -->
|
|
<section class="bg-card h-fit rounded-lg border">
|
|
<div class="border-b px-4 py-3">
|
|
<p class="text-muted-foreground text-xs italic">{{ .locale.Tr "admin.config-link" (join "<a target=\"_blank\" class=\"text-primary hover:underline\" href=\"https://github.com/thomiceli/opengist/blob/master/docs/configuration/configure.md#configuration\">" (toStr (.locale.Tr "admin.config-link-overriden")) "</a>") }}</p>
|
|
</div>
|
|
<div class="space-y-4 p-4">
|
|
{{ template "admin_config_section" (dict "title" "General") }}
|
|
<dl class="divide-y text-sm">
|
|
{{ template "admin_config_row" (dict "k" "Log level" "v" .c.LogLevel) }}
|
|
{{ template "admin_config_row" (dict "k" "Log output" "v" .c.LogOutput) }}
|
|
{{ template "admin_config_row" (dict "k" "External URL" "v" .c.ExternalUrl) }}
|
|
{{ template "admin_config_row" (dict "k" "Opengist home" "v" .c.OpengistHome) }}
|
|
<div class="flex items-center justify-between gap-4 py-1.5">
|
|
<dt class="text-muted-foreground">Database type</dt>
|
|
<dd class="text-right font-medium break-all">{{ .dbtype }}{{ if eq .dbtype "SQLite" }} ({{ .c.SqliteJournalMode }}){{ end }}</dd>
|
|
</div>
|
|
{{ template "admin_config_row" (dict "k" "Database name" "v" .dbname) }}
|
|
{{ template "admin_config_row" (dict "k" "Index" "v" .c.Index) }}
|
|
{{ template "admin_config_row" (dict "k" "MeiliSearch Host" "v" .c.MeiliHost) }}
|
|
{{ template "admin_config_defined" (dict "k" "MeiliSearch API Key" "v" .c.MeiliAPIKey) }}
|
|
{{ template "admin_config_row" (dict "k" "Git default branch" "v" .c.GitDefaultBranch) }}
|
|
</dl>
|
|
|
|
{{ template "admin_config_section" (dict "title" "HTTP") }}
|
|
<dl class="divide-y text-sm">
|
|
{{ template "admin_config_row" (dict "k" "HTTP host" "v" .c.HttpHost) }}
|
|
{{ template "admin_config_row" (dict "k" "HTTP port" "v" .c.HttpPort) }}
|
|
{{ template "admin_config_row" (dict "k" "HTTP Git enabled" "v" .c.HttpGit) }}
|
|
</dl>
|
|
|
|
{{ template "admin_config_section" (dict "title" "SSH") }}
|
|
<dl class="divide-y text-sm">
|
|
{{ template "admin_config_row" (dict "k" "SSH Git enabled" "v" .c.SshGit) }}
|
|
{{ template "admin_config_row" (dict "k" "SSH host" "v" .c.SshHost) }}
|
|
{{ template "admin_config_row" (dict "k" "SSH port" "v" .c.SshPort) }}
|
|
{{ template "admin_config_row" (dict "k" "SSH external domain" "v" .c.SshExternalDomain) }}
|
|
</dl>
|
|
|
|
{{ template "admin_config_section" (dict "title" "OAuth") }}
|
|
<dl class="divide-y text-sm">
|
|
{{ template "admin_config_defined" (dict "k" "Github Client key" "v" .c.GithubClientKey) }}
|
|
{{ template "admin_config_defined" (dict "k" "Github Secret" "v" .c.GithubSecret) }}
|
|
{{ template "admin_config_defined" (dict "k" "GitLab client Key" "v" .c.GitlabClientKey) }}
|
|
{{ template "admin_config_defined" (dict "k" "GitLab Secret" "v" .c.GitlabSecret) }}
|
|
{{ template "admin_config_row" (dict "k" "GitLab URL" "v" .c.GitlabUrl) }}
|
|
{{ template "admin_config_row" (dict "k" "GitLab Name" "v" .c.GitlabName) }}
|
|
{{ template "admin_config_defined" (dict "k" "Gitea client Key" "v" .c.GiteaClientKey) }}
|
|
{{ template "admin_config_defined" (dict "k" "Gitea Secret" "v" .c.GiteaSecret) }}
|
|
{{ template "admin_config_row" (dict "k" "Gitea URL" "v" .c.GiteaUrl) }}
|
|
{{ template "admin_config_row" (dict "k" "Gitea Name" "v" .c.GiteaName) }}
|
|
{{ template "admin_config_row" (dict "k" "OIDC Provider name" "v" .c.OIDCProviderName) }}
|
|
{{ template "admin_config_defined" (dict "k" "OIDC client Key" "v" .c.OIDCClientKey) }}
|
|
{{ template "admin_config_defined" (dict "k" "OIDC Secret" "v" .c.OIDCSecret) }}
|
|
{{ template "admin_config_defined" (dict "k" "OIDC Discovery URL" "v" .c.OIDCDiscoveryUrl) }}
|
|
{{ template "admin_config_row" (dict "k" "OIDC Group Claim Name" "v" .c.OIDCGroupClaimName) }}
|
|
{{ template "admin_config_row" (dict "k" "OIDC Admin Group" "v" .c.OIDCAdminGroup) }}
|
|
</dl>
|
|
|
|
{{ template "admin_config_section" (dict "title" "LDAP") }}
|
|
<dl class="divide-y text-sm">
|
|
{{ template "admin_config_row" (dict "k" "LDAP URL" "v" .c.LDAPUrl) }}
|
|
{{ template "admin_config_row" (dict "k" "LDAP Bind DN" "v" .c.LDAPBindDn) }}
|
|
{{ template "admin_config_defined" (dict "k" "LDAP Bind Credentials" "v" .c.LDAPBindCredentials) }}
|
|
{{ template "admin_config_row" (dict "k" "LDAP Search Base" "v" .c.LDAPSearchBase) }}
|
|
{{ template "admin_config_row" (dict "k" "LDAP Search Filter" "v" .c.LDAPSearchFilter) }}
|
|
</dl>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Toggleable settings -->
|
|
<section class="bg-card h-fit rounded-lg border">
|
|
{{ .csrfHtml }}
|
|
<ul class="divide-y">
|
|
{{ template "admin_config_toggle" (dict "url" .c.ExternalUrl "id" "disable-signup" "title" (.locale.Tr "admin.disable-signup") "help" (.locale.Tr "admin.disable-signup_help") "on" .DisableSignup) }}
|
|
{{ template "admin_config_toggle" (dict "url" .c.ExternalUrl "id" "require-login" "title" (.locale.Tr "admin.require-login") "help" (.locale.Tr "admin.require-login_help") "on" .RequireLogin) }}
|
|
{{ template "admin_config_toggle" (dict "url" .c.ExternalUrl "id" "allow-gists-without-login" "title" (.locale.Tr "admin.allow-gists-without-login") "help" (.locale.Tr "admin.allow-gists-without-login_help") "on" .AllowGistsWithoutLogin) }}
|
|
{{ template "admin_config_toggle" (dict "url" .c.ExternalUrl "id" "disable-login-form" "title" (.locale.Tr "admin.disable-login") "help" (.locale.Tr "admin.disable-login_help") "on" .DisableLoginForm) }}
|
|
{{ template "admin_config_toggle" (dict "url" .c.ExternalUrl "id" "disable-gravatar" "title" (.locale.Tr "admin.disable-gravatar") "help" (.locale.Tr "admin.disable-gravatar_help") "on" .DisableGravatar) }}
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ define "admin_config_section" }}
|
|
<div class="flex items-center gap-3">
|
|
<span class="text-sm font-bold">{{ .title }}</span>
|
|
<span class="border-border flex-1 border-t" aria-hidden="true"></span>
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ define "admin_config_row" }}
|
|
<div class="flex items-center justify-between gap-4 py-1.5">
|
|
<dt class="text-muted-foreground">{{ .k }}</dt>
|
|
<dd class="text-right font-medium break-all">{{ .v }}</dd>
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ define "admin_config_defined" }}
|
|
<div class="flex items-center justify-between gap-4 py-1.5">
|
|
<dt class="text-muted-foreground">{{ .k }}</dt>
|
|
<dd class="text-right font-medium">{{ if .v }}<defined>{{ end }}</dd>
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ define "admin_config_toggle" }}
|
|
<li class="flex items-center justify-between gap-4 p-4">
|
|
<div class="min-w-0 space-y-1">
|
|
<p class="text-sm font-medium">{{ .title }}</p>
|
|
<p class="text-muted-foreground text-sm">{{ .help }}</p>
|
|
</div>
|
|
<button type="button" id="{{ .id }}" role="switch" aria-checked="{{ .on }}"
|
|
hx-put="{{ .url }}/-/admin-panel/set-config"
|
|
hx-swap="none"
|
|
hx-include="[name='_csrf']"
|
|
hx-vals='js:{key: this.id, value: this.getAttribute("aria-checked") === "true" ? "0" : "1"}'
|
|
_="on htmx:afterRequest if event.detail.successful
|
|
if @aria-checked is 'true' set @aria-checked to 'false' else set @aria-checked to 'true' end
|
|
end"
|
|
class="group bg-input aria-checked:bg-primary relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2">
|
|
<span class="pointer-events-none inline-block size-5 translate-x-0.5 rounded-full bg-white shadow transition-transform group-aria-checked:translate-x-[1.375rem]"></span>
|
|
</button>
|
|
</li>
|
|
{{ end }}
|