ThemeSelect.razor 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. @inject LocalStorageHelper localStorage
  2. <li class="nav-item dropdown">
  3. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="themes" aria-expanded="true">Themes [@CurrentTheme]</a>
  4. <div class="dropdown-menu" aria-labelledby="themes" data-bs-popper="static">
  5. <a class="dropdown-item" @onclick="@(()=>SetTheme("default"))">Default</a>
  6. <div class="dropdown-divider"></div>
  7. <a class="dropdown-item" @onclick="@(()=>SetTheme("cerulean"))">Cerulean</a>
  8. <a class="dropdown-item" @onclick="@(()=>SetTheme("cosmo"))">Cosmo</a>
  9. <a class="dropdown-item" @onclick="@(()=>SetTheme("cyborg"))">Cyborg</a>
  10. <a class="dropdown-item" @onclick="@(()=>SetTheme("darkly"))">Darkly</a>
  11. <a class="dropdown-item" @onclick="@(()=>SetTheme("flatly"))">Flatly</a>
  12. <a class="dropdown-item" @onclick="@(()=>SetTheme("journal"))">Journal</a>
  13. <a class="dropdown-item" @onclick="@(()=>SetTheme("litera"))">Litera</a>
  14. <a class="dropdown-item" @onclick="@(()=>SetTheme("lumen"))">Lumen</a>
  15. <a class="dropdown-item" @onclick="@(()=>SetTheme("lux"))">Lux</a>
  16. <a class="dropdown-item" @onclick="@(()=>SetTheme("materia"))">Materia</a>
  17. <a class="dropdown-item" @onclick="@(()=>SetTheme("minty"))">Minty</a>
  18. <a class="dropdown-item" @onclick="@(()=>SetTheme("morph"))">Morph</a>
  19. <a class="dropdown-item" @onclick="@(()=>SetTheme("pulse"))">Pulse</a>
  20. <a class="dropdown-item" @onclick="@(()=>SetTheme("quartz"))">Quartz</a>
  21. <a class="dropdown-item" @onclick="@(()=>SetTheme("sandstone"))">Sandstone</a>
  22. <a class="dropdown-item" @onclick="@(()=>SetTheme("simplex"))">Simplex</a>
  23. <a class="dropdown-item" @onclick="@(()=>SetTheme("sketchy"))">Sketchy</a>
  24. <a class="dropdown-item" @onclick="@(()=>SetTheme("slate"))">Slate</a>
  25. <a class="dropdown-item" @onclick="@(()=>SetTheme("solar"))">Solar</a>
  26. <a class="dropdown-item" @onclick="@(()=>SetTheme("spacelab"))">Spacelab</a>
  27. <a class="dropdown-item" @onclick="@(()=>SetTheme("superhero"))">Superhero</a>
  28. <a class="dropdown-item" @onclick="@(()=>SetTheme("united"))">United</a>
  29. <a class="dropdown-item" @onclick="@(()=>SetTheme("vapor"))">Vapor</a>
  30. <a class="dropdown-item" @onclick="@(()=>SetTheme("yeti"))">Yeti</a>
  31. <a class="dropdown-item" @onclick="@(()=>SetTheme("zephyr"))">Zephyr</a>
  32. </div>
  33. </li>
  34. @if (CurrentTheme != null && CurrentTheme != "default")
  35. {
  36. <link href="lib/bootstrap/bootswatch/@CurrentTheme/bootstrap.min.css" rel="stylesheet" />
  37. }
  38. @code {
  39. private string CurrentTheme { get => localStorage.Get<string>(); set => localStorage.Set(value); }
  40. private async Task SetTheme(string name)
  41. {
  42. CurrentTheme = name;
  43. StateHasChanged();
  44. }
  45. }