settings-servers.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import { Show, type Component } from "solid-js"
  2. import { useLanguage } from "@/context/language"
  3. import { ServerConnectionForm, ServerConnectionList, useServerManagementController } from "./dialog-select-server"
  4. export const SettingsServers: Component = () => {
  5. const language = useLanguage()
  6. const controller = useServerManagementController()
  7. return (
  8. <div class="flex flex-col h-full overflow-y-auto no-scrollbar px-4 pb-10 sm:px-10 sm:pb-10">
  9. <div class="flex flex-col flex-1 min-h-0 max-w-[720px]">
  10. <Show
  11. when={controller.isFormMode()}
  12. fallback={
  13. <>
  14. <div class="sticky top-0 z-10 bg-[linear-gradient(to_bottom,var(--surface-stronger-non-alpha)_calc(100%_-_24px),transparent)]">
  15. <div class="flex flex-col gap-1 pt-6 pb-8">
  16. <h2 class="text-16-medium text-text-strong">{language.t("status.popover.tab.servers")}</h2>
  17. </div>
  18. </div>
  19. <ServerConnectionList controller={controller} />
  20. </>
  21. }
  22. >
  23. <div class="flex flex-1 min-h-0 flex-col gap-4 pt-6">
  24. <div class="text-16-medium text-text-strong">{controller.formTitle()}</div>
  25. <ServerConnectionForm controller={controller} />
  26. </div>
  27. </Show>
  28. </div>
  29. </div>
  30. )
  31. }