diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-08-28 00:39:00 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-08-28 00:39:00 +1000 |
| commit | 5128d5b72e89179d6a1e38c1b558e6a7309f7b4b (patch) | |
| tree | 8247b0e06867240093f5e0cc2af31c2bf8d36f37 | |
| parent | f6f69d0f53cd0338d4bfaf695bb618fce3dada5d (diff) | |
Namespaces are now broken down as tabs
| -rw-r--r-- | Pages/TagDefinitions.razor | 80 |
1 files changed, 45 insertions, 35 deletions
diff --git a/Pages/TagDefinitions.razor b/Pages/TagDefinitions.razor index 892ca8a..bd7394d 100644 --- a/Pages/TagDefinitions.razor +++ b/Pages/TagDefinitions.razor @@ -11,43 +11,47 @@ <button @onclick=@(() => createTagDialog.Show())>Create</button> </div> -<table id="tag-definitions" class="data-table"> - <tr> - <th>Namespace</th> - <th>Name</th> - <th>Implicit Tags</th> - <th></th> - </tr> - @foreach(var tagDef in tagDefinitions) { - <tr data-guid="@tagDef.Guid"> - <td>@tagDef.Namespace</td> - <td>@tagDef.Name</td> - <td> - <i> - @(string.Join(", ", tagDef.ImplicitTags - .Where(it => it.Source == TagSource.UserTag) - .Select(it => it.Name) - .Order())) - </i> - </td> - <td> - <a href="/Gallery?q=@tagDef.Name">Search</a> - <a href="javascript:;" @onclick=@(() => PromptToEdit(tagDef))>Edit</a> - <a href="javascript:;" @onclick=@(() => PromptToDelete(tagDef))> - Delete - </a> - <a href="javascript:;" @onclick=@(() => PromptImplicitTags(tagDef))> - Implicit Tags - </a> - @if(tagDef.ImplicitTags.Select(td => td.Guid).Contains(HBContext.NsfwTag)) { - <a href="javascript:;" @onclick=@(() => SetNsfw(tagDef, false))>Make SFW</a> - } else { - <a href="javascript:;" @onclick=@(() => SetNsfw(tagDef, true))>Make NSFW</a> +<TabContainer> + @foreach(var ns in tagNamespaces) { + <TabPane Title="@(ns ?? "Default")"> + <table id="tag-definitions" class="data-table"> + <tr> + <th>Name</th> + <th>Implicit Tags</th> + <th></th> + </tr> + @foreach(var tagDef in tagDefinitions.Where(td => td.Namespace == ns)) { + <tr data-guid="@tagDef.Guid"> + <td>@tagDef.Name</td> + <td> + <i> + @(string.Join(", ", tagDef.ImplicitTags + .Where(it => it.Source == TagSource.UserTag) + .Select(it => it.Name) + .Order())) + </i> + </td> + <td> + <a href="/Gallery?q=@tagDef.Name">Search</a> + <a href="javascript:;" @onclick=@(() => PromptToEdit(tagDef))>Edit</a> + <a href="javascript:;" @onclick=@(() => PromptToDelete(tagDef))> + Delete + </a> + <a href="javascript:;" @onclick=@(() => PromptImplicitTags(tagDef))> + Implicit Tags + </a> + @if(tagDef.ImplicitTags.Select(td => td.Guid).Contains(HBContext.NsfwTag)) { + <a href="javascript:;" @onclick=@(() => SetNsfw(tagDef, false))>Make SFW</a> + } else { + <a href="javascript:;" @onclick=@(() => SetNsfw(tagDef, true))>Make NSFW</a> + } + </td> + </tr> } - </td> - </tr> + </table> + </TabPane> } -</table> +</TabContainer> <Dialog Title="Create a new tag definition" @ref=createTagDialog> <form @onsubmit=CreateTagDefinition> @@ -112,6 +116,12 @@ .Contains(HBContext.NsfwTag)) .ToArray(); + private string?[] tagNamespaces => tagDefinitions + .Select(td => td.Namespace) + .Order() + .Distinct() + .ToArray(); + protected override void OnInitialized() => userService.ShowNsfwChanged += ShowNsfwChanged; |
