mirror of
https://github.com/aljazceru/mutiny-web.git
synced 2026-01-04 14:54:24 +01:00
add vss config option
This commit is contained in:
committed by
Tony Giorgio
parent
b4302bf99b
commit
368cf43350
@@ -437,6 +437,8 @@ export default {
|
||||
lsp_label: "LSP",
|
||||
lsp_caption:
|
||||
"Lightning Service Provider. Automatically opens channels to you for inbound liquidity. Also wraps invoices for privacy.",
|
||||
storage_label: "Storage",
|
||||
storage_caption: "Encrypted VSS backup service.",
|
||||
error_lsp: "That doesn't look like a URL",
|
||||
save: "Save"
|
||||
},
|
||||
|
||||
@@ -8,15 +8,14 @@ import {
|
||||
Link,
|
||||
Meta,
|
||||
Scripts,
|
||||
Title,
|
||||
Title
|
||||
} from "solid-start";
|
||||
|
||||
import "./root.css";
|
||||
|
||||
|
||||
import { ErrorDisplay, I18nProvider } from "~/components";
|
||||
import { Provider as MegaStoreProvider } from "~/state/megaStore";
|
||||
import { Router } from "~/router";
|
||||
import { Provider as MegaStoreProvider } from "~/state/megaStore";
|
||||
|
||||
export default function Root() {
|
||||
return (
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { createForm, url } from "@modular-forms/solid";
|
||||
import { createResource, Match, Suspense, Switch } from "solid-js";
|
||||
|
||||
import {
|
||||
BackLink,
|
||||
@@ -7,27 +8,29 @@ import {
|
||||
DefaultMain,
|
||||
ExternalLink,
|
||||
LargeHeader,
|
||||
MutinyWalletGuard,
|
||||
LoadingShimmer,
|
||||
NavBar,
|
||||
NiceP,
|
||||
SafeArea,
|
||||
showToast,
|
||||
SimpleErrorDisplay,
|
||||
TextField
|
||||
} from "~/components";
|
||||
import { useI18n } from "~/i18n/context";
|
||||
import {
|
||||
getSettings,
|
||||
MutinyWalletSettingStrings,
|
||||
setSettings
|
||||
} from "~/logic/mutinyWalletSetup";
|
||||
import { useMegaStore } from "~/state/megaStore";
|
||||
import { eify } from "~/utils";
|
||||
|
||||
export function SettingsStringsEditor() {
|
||||
export function SettingsStringsEditor(props: {
|
||||
initialSettings: MutinyWalletSettingStrings;
|
||||
}) {
|
||||
const i18n = useI18n();
|
||||
const [state, _actions] = useMegaStore();
|
||||
const [settingsForm, { Form, Field }] =
|
||||
createForm<MutinyWalletSettingStrings>({
|
||||
initialValues: state.settings
|
||||
initialValues: props.initialSettings
|
||||
});
|
||||
|
||||
async function handleSubmit(values: MutinyWalletSettingStrings) {
|
||||
@@ -105,6 +108,20 @@ export function SettingsStringsEditor() {
|
||||
/>
|
||||
)}
|
||||
</Field>
|
||||
<Field
|
||||
name="storage"
|
||||
validate={[url(i18n.t("settings.servers.error_lsp"))]}
|
||||
>
|
||||
{(field, props) => (
|
||||
<TextField
|
||||
{...props}
|
||||
value={field.value}
|
||||
error={field.error}
|
||||
label={i18n.t("settings.servers.storage_label")}
|
||||
caption={i18n.t("settings.servers.storage_caption")}
|
||||
/>
|
||||
)}
|
||||
</Field>
|
||||
<div />
|
||||
<Button
|
||||
type="submit"
|
||||
@@ -118,23 +135,33 @@ export function SettingsStringsEditor() {
|
||||
);
|
||||
}
|
||||
|
||||
function AsyncSettingsEditor() {
|
||||
const [settings] = createResource<MutinyWalletSettingStrings>(getSettings);
|
||||
|
||||
return (
|
||||
<Switch>
|
||||
<Match when={settings.error}>
|
||||
<SimpleErrorDisplay error={settings.error} />
|
||||
</Match>
|
||||
<Match when={settings.latest}>
|
||||
<SettingsStringsEditor initialSettings={settings()!} />
|
||||
</Match>
|
||||
</Switch>
|
||||
);
|
||||
}
|
||||
|
||||
export default function Servers() {
|
||||
const i18n = useI18n();
|
||||
return (
|
||||
<MutinyWalletGuard>
|
||||
<SafeArea>
|
||||
<DefaultMain>
|
||||
<BackLink
|
||||
href="/settings"
|
||||
title={i18n.t("settings.header")}
|
||||
/>
|
||||
<LargeHeader>
|
||||
{i18n.t("settings.servers.title")}
|
||||
</LargeHeader>
|
||||
<SettingsStringsEditor />
|
||||
</DefaultMain>
|
||||
<NavBar activeTab="settings" />
|
||||
</SafeArea>
|
||||
</MutinyWalletGuard>
|
||||
<SafeArea>
|
||||
<DefaultMain>
|
||||
<BackLink href="/settings" title={i18n.t("settings.header")} />
|
||||
<LargeHeader>{i18n.t("settings.servers.title")}</LargeHeader>
|
||||
<Suspense fallback={<LoadingShimmer />}>
|
||||
<AsyncSettingsEditor />
|
||||
</Suspense>
|
||||
</DefaultMain>
|
||||
<NavBar activeTab="settings" />
|
||||
</SafeArea>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user