Jelajahi Sumber

Minor style change; Chore

HOME 2 tahun lalu
induk
melakukan
b258e39179

+ 34 - 24
FNZCM/FNZCM.BlazorWasm/UI/App.razor

@@ -4,26 +4,22 @@
     private ProgressBar ProgressBar;
 }
 
-<FnzBoostrapModal @ref="SettingModal">
+<FnzBoostrapModal @ref="SettingModal" CssClass="modal-sm">
     <Title>Settings</Title>
     <Body>
-        <div class="row">
-            <ul class="nav nav-tabs justify-content-center nav-fill">
-                <li class="nav-item" role="presentation">
-                    <button class="nav-link" type="button">
-                        Data
-                    </button>
-                </li>
-                <li class="nav-item" role="presentation">
-                    <button class="nav-link active text-danger" type="button" role="tab" @onclick="async ()=>{await LoadData();}">
-                        <i class="bi bi-data "></i>Reload
-                    </button>
-                </li>
-            </ul>
+        <div class="form-group row">
+            <label class="col-sm-2">Themes</label>
+            <div class="col-sm-10 text-center">
+                <ThemeSelector></ThemeSelector>
+            </div>
         </div>
-
-        <div class="row mt-2">
-            <ThemeSelect></ThemeSelect>
+        <div class="form-group row mt-5">
+            <label class="col-sm-2">Data</label>
+            <div class="col-sm-10 text-center">
+                <button class="btn btn-danger align-middle" type="button" role="tab" @onclick="async ()=>{await LoadData();}">
+                    <i class="bi bi-data "></i>Reload
+                </button>
+            </div>
         </div>
     </Body>
 </FnzBoostrapModal>
@@ -71,14 +67,28 @@
             </div>
         }
     }
-    else
-    {
-        <div class="tab-content" id="NavTabContent">
-            <div id="NavTabContent1" class="tab-pane fade show active"><BrowseView></BrowseView></div>
-            <div id="NavTabContent2" class="tab-pane fade"><SearchView></SearchView></div>
-            <div id="NavTabContent3" class="tab-pane fade"><PlaylistView></PlaylistView></div>
+
+    <div class="tab-content" id="NavTabContent">
+        <div id="NavTabContent1" class="tab-pane fade show active">
+            @if (!IsLoading)
+            {
+                <BrowseView></BrowseView>
+            }
         </div>
-    }
+        <div id="NavTabContent2" class="tab-pane fade">
+            @if (!IsLoading)
+            {
+                <SearchView></SearchView>
+            }
+        </div>
+        <div id="NavTabContent3" class="tab-pane fade">
+            @if (!IsLoading)
+            {
+                <PlaylistView></PlaylistView>
+            }
+        </div>
+    </div>
+
 </div>
 
 

+ 0 - 55
FNZCM/FNZCM.BlazorWasm/UI/Components/ThemeSelect.razor

@@ -1,55 +0,0 @@
-@inject LocalStorageHelper localStorage
-
-@if (CurrentTheme != null && CurrentTheme != "default")
-{
-    <link href="lib/bootstrap/bootswatch/@CurrentTheme/bootstrap.min.css" rel="stylesheet" />
-}
-
-@code {
-    private string CurrentTheme { get => localStorage.Get<string>(); set => localStorage.Set(value); }
-
-    private void SetTheme(string name)
-    {
-        CurrentTheme = name;
-        StateHasChanged();
-    }
-}
-<ul class="nav nav-tabs justify-content-center nav-fill">
-    <li class="nav-item" role="presentation">
-        <a class="nav-link">
-            <i class="bi bi-data"></i>Themes
-        </a>
-    </li>
-    <li class="nav-item dropdown">
-        <button class="nav-link dropdown-toggle active" data-bs-toggle="dropdown">@CurrentTheme</button>
-        <div class="dropdown-menu" aria-labelledby="themes" data-bs-popper="static">
-            <a class="dropdown-item" @onclick="@(()=>SetTheme("default"))">Default</a>
-            <div class="dropdown-divider"></div>
-            <a class="dropdown-item @(CurrentTheme=="cerulean"?"active":"")" @onclick="@(()=>SetTheme("cerulean"))">Cerulean</a>
-            <a class="dropdown-item @(CurrentTheme=="cosmo"?"active":"")" @onclick="@(()=>SetTheme("cosmo"))">Cosmo</a>
-            <a class="dropdown-item @(CurrentTheme=="cyborg"?"active":"")" @onclick="@(()=>SetTheme("cyborg"))">Cyborg</a>
-            <a class="dropdown-item @(CurrentTheme=="darkly"?"active":"")" @onclick="@(()=>SetTheme("darkly"))">Darkly</a>
-            <a class="dropdown-item @(CurrentTheme=="flatly"?"active":"")" @onclick="@(()=>SetTheme("flatly"))">Flatly</a>
-            <a class="dropdown-item @(CurrentTheme=="journal"?"active":"")" @onclick="@(()=>SetTheme("journal"))">Journal</a>
-            <a class="dropdown-item @(CurrentTheme=="litera"?"active":"")" @onclick="@(()=>SetTheme("litera"))">Litera</a>
-            <a class="dropdown-item @(CurrentTheme=="lumen"?"active":"")" @onclick="@(()=>SetTheme("lumen"))">Lumen</a>
-            <a class="dropdown-item @(CurrentTheme=="lux"?"active":"")" @onclick="@(()=>SetTheme("lux"))">Lux</a>
-            <a class="dropdown-item @(CurrentTheme=="materia"?"active":"")" @onclick="@(()=>SetTheme("materia"))">Materia</a>
-            <a class="dropdown-item @(CurrentTheme=="minty"?"active":"")" @onclick="@(()=>SetTheme("minty"))">Minty</a>
-            <a class="dropdown-item @(CurrentTheme=="morph"?"active":"")" @onclick="@(()=>SetTheme("morph"))">Morph</a>
-            <a class="dropdown-item @(CurrentTheme=="pulse"?"active":"")" @onclick="@(()=>SetTheme("pulse"))">Pulse</a>
-            <a class="dropdown-item @(CurrentTheme=="quartz"?"active":"")" @onclick="@(()=>SetTheme("quartz"))">Quartz</a>
-            <a class="dropdown-item @(CurrentTheme=="sandstone"?"active":"")" @onclick="@(()=>SetTheme("sandstone"))">Sandstone</a>
-            <a class="dropdown-item @(CurrentTheme=="simplex"?"active":"")" @onclick="@(()=>SetTheme("simplex"))">Simplex</a>
-            <a class="dropdown-item @(CurrentTheme=="sketchy"?"active":"")" @onclick="@(()=>SetTheme("sketchy"))">Sketchy</a>
-            <a class="dropdown-item @(CurrentTheme=="slate"?"active":"")" @onclick="@(()=>SetTheme("slate"))">Slate</a>
-            <a class="dropdown-item @(CurrentTheme=="solar"?"active":"")" @onclick="@(()=>SetTheme("solar"))">Solar</a>
-            <a class="dropdown-item @(CurrentTheme=="spacelab"?"active":"")" @onclick="@(()=>SetTheme("spacelab"))">Spacelab</a>
-            <a class="dropdown-item @(CurrentTheme=="superhero"?"active":"")" @onclick="@(()=>SetTheme("superhero"))">Superhero</a>
-            <a class="dropdown-item @(CurrentTheme=="united"?"active":"")" @onclick="@(()=>SetTheme("united"))">United</a>
-            <a class="dropdown-item @(CurrentTheme=="vapor"?"active":"")" @onclick="@(()=>SetTheme("vapor"))">Vapor</a>
-            <a class="dropdown-item @(CurrentTheme=="yeti"?"active":"")" @onclick="@(()=>SetTheme("yeti"))">Yeti</a>
-            <a class="dropdown-item @(CurrentTheme=="zephyr"?"active":"")" @onclick="@(()=>SetTheme("zephyr"))">Zephyr</a>
-        </div>
-    </li>
-</ul>

+ 35 - 0
FNZCM/FNZCM.BlazorWasm/UI/Components/ThemeSelector.razor

@@ -0,0 +1,35 @@
+@inject LocalStorageHelper localStorage
+
+@if (CurrentTheme != null && CurrentTheme != "default")
+{
+    <link href="lib/bootstrap/bootswatch/@CurrentTheme/bootstrap.min.css" rel="stylesheet" />
+}
+
+@code {
+
+    private static readonly IReadOnlyCollection<string> Themes = new[] {
+        "Cerulean","Cosmo","Cyborg","Darkly","Flatly","Journal","Litera","Lumen","Lux","Materia",
+        "Minty","Morph","Pulse","Quartz","Sandstone","Simplex","Sketchy","Slate","Solar","Spacelab",
+        "Superhero","United","Vapor","Yeti","Zephyr"
+    };
+
+    private string CurrentTheme { get => localStorage.Get<string>(); set => localStorage.Set(value); }
+
+    private void SetTheme(string name)
+    {
+        CurrentTheme = name;
+        StateHasChanged();
+    }
+}
+
+<button class="btn btn-primary dropdown-toggle active" data-bs-toggle="dropdown">@CurrentTheme</button>
+<div class="dropdown-menu" aria-labelledby="themes" data-bs-popper="static">
+    <a class="dropdown-item" @onclick="@(()=>SetTheme("default"))">Default</a>
+    <div class="dropdown-divider"></div>
+
+    @foreach (var item in Themes)
+    {
+        <a class="dropdown-item @(CurrentTheme==item.ToLower()?"active":"")" @onclick="@(()=>SetTheme(item))">@item</a>
+    }
+
+</div>

+ 5 - 9
FNZCM/FNZCM.BlazorWasm/UI/Views/Browse/DiscDialog.razor

@@ -55,17 +55,14 @@
         TODO 😓
     </Body>
     <Footer>
-
         @if (CreatingNewList)
         {
-            <div class="w-100">
-                <div class="row">
-                    Name
-                </div>
-                <div class="row">
-                    <InputText placeholder="Input playlist name" @bind-Value="@NewListName"></InputText>
-                </div>
+            <div class="form-group row">
+                <label>Name</label>
+                <InputText class="border-warning border-4" placeholder="Input playlist name" @bind-Value="@NewListName"></InputText>
+                <small class="text-warning">Brrrrr</small>
             </div>
+
             <button type="button" class="btn btn-link text-decoration-none" @onclick="SaveToNewList">
                 Create
             </button>
@@ -79,7 +76,6 @@
                 </button>
             </div>
         }
-
     </Footer>
 </FnzBoostrapModal>
 

+ 3 - 2
FNZCM/FNZCM.BlazorWasm/UI/Views/Browse/LibSelector.razor

@@ -5,6 +5,7 @@
 
     private FnzBoostrapCollapse SmallUi;
     private FnzBoostrapCollapse BigUi;
+    private InputText Filter;
 }
 
 <FnzBoostrapCollapse @ref="SmallUi" CssClass="row show" OnHidden="()=>BigUi.Show()">
@@ -16,7 +17,7 @@
     </div>
 </FnzBoostrapCollapse>
 
-<FnzBoostrapCollapse @ref="BigUi" CssClass="row" OnHidden="()=>SmallUi.Show()">
+<FnzBoostrapCollapse @ref="BigUi" CssClass="row" OnHidden="()=>SmallUi.Show()" OnShown="()=>Filter.Element.Value.FocusAsync()">
     <div class="col">
         <fieldset class="border rounded-3 p-2">
             <legend class="float-none w-auto px-2 d-flex flex-row align-items-center">
@@ -24,7 +25,7 @@
                 <button class="btn btn-primary p-1" type="button" @onclick="()=>BigUi.Hide()">@($"{CurrentLibrary?.Name} ({CurrentLibrary?.Discs.Length})")</button>
             </legend>
             <div class="mt-0">
-                <InputText id="LibSelectorInput" placeholder="Filter" class="w-100" Value="@SearchValue" ValueExpression="@(()=>SearchValue)" @oninput="SearchChanged" @onkeydown="SearchKeydown"></InputText>
+                <InputText @ref="Filter" placeholder="Filter" class="w-100" Value="@SearchValue" ValueExpression="@(()=>SearchValue)" @oninput="SearchChanged" @onkeydown="SearchKeydown"></InputText>
             </div>
             @foreach (var lib in (ListDataSource).KeepNoEmpty())
             {