Allow repository admins to hide specific folders from the code browser for non-admin users. Hidden folders are shown dimmed to admins but completely hidden from regular users. Includes database migration, settings UI, tree filtering logic, and frontend support for toggling visibility.
39 lines
1.5 KiB
Handlebars
39 lines
1.5 KiB
Handlebars
{{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings edit")}}
|
|
<div class="repo-setting-content">
|
|
<h4 class="ui top attached header">
|
|
{{ctx.Locale.Tr "repo.settings.hidden_folders"}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<p class="tw-text-secondary">{{ctx.Locale.Tr "repo.settings.hidden_folders.description"}}</p>
|
|
<form class="ui form" method="post" action="{{.Link}}">
|
|
{{.CsrfTokenHtml}}
|
|
<div class="ui action input tw-w-full">
|
|
<input name="folder_path" placeholder="{{ctx.Locale.Tr "repo.settings.hidden_folders.placeholder"}}" required>
|
|
<button class="ui primary button">{{ctx.Locale.Tr "repo.settings.hidden_folders.add"}}</button>
|
|
</div>
|
|
</form>
|
|
|
|
{{if .HiddenFolders}}
|
|
<div class="ui divider"></div>
|
|
<div class="ui relaxed divided list">
|
|
{{range .HiddenFolders}}
|
|
<div class="item tw-flex tw-items-center tw-justify-between">
|
|
<div class="tw-flex tw-items-center tw-gap-2">
|
|
{{svg "octicon-file-directory-fill" 16}} <code>{{.FolderPath}}</code>
|
|
</div>
|
|
<form method="post" action="{{$.Link}}/delete">
|
|
{{$.CsrfTokenHtml}}
|
|
<input type="hidden" name="folder_path" value="{{.FolderPath}}">
|
|
<button class="ui tiny red button">{{ctx.Locale.Tr "remove"}}</button>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<div class="ui divider"></div>
|
|
<p class="tw-text-center tw-text-secondary">{{ctx.Locale.Tr "repo.settings.hidden_folders.none"}}</p>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{template "repo/settings/layout_footer" .}}
|