|
|
|
@ -2,6 +2,7 @@ import { useState } from "react";
@@ -2,6 +2,7 @@ import { useState } from "react";
|
|
|
|
|
import { useTranslation } from "react-i18next"; |
|
|
|
|
import { useAsyncFn } from "react-use"; |
|
|
|
|
|
|
|
|
|
import { updateSettings } from "@/backend/accounts/settings"; |
|
|
|
|
import { singularProxiedFetch } from "@/backend/helpers/fetch"; |
|
|
|
|
import { Button } from "@/components/buttons/Button"; |
|
|
|
|
import { Stepper } from "@/components/layout/Stepper"; |
|
|
|
@ -10,6 +11,7 @@ import { AuthInputBox } from "@/components/text-inputs/AuthInputBox";
@@ -10,6 +11,7 @@ import { AuthInputBox } from "@/components/text-inputs/AuthInputBox";
|
|
|
|
|
import { Divider } from "@/components/utils/Divider"; |
|
|
|
|
import { ErrorLine } from "@/components/utils/ErrorLine"; |
|
|
|
|
import { Heading2, Paragraph } from "@/components/utils/Text"; |
|
|
|
|
import { useBackendUrl } from "@/hooks/auth/useBackendUrl"; |
|
|
|
|
import { MinimalPageLayout } from "@/pages/layouts/MinimalPageLayout"; |
|
|
|
|
import { |
|
|
|
|
useNavigateOnboarding, |
|
|
|
@ -29,6 +31,8 @@ export function OnboardingProxyPage() {
@@ -29,6 +31,8 @@ export function OnboardingProxyPage() {
|
|
|
|
|
const [url, setUrl] = useState(""); |
|
|
|
|
const setProxySet = useAuthStore((s) => s.setProxySet); |
|
|
|
|
const installLink = conf().ONBOARDING_PROXY_INSTALL_LINK; |
|
|
|
|
const backendUrl = useBackendUrl(); |
|
|
|
|
const account = useAuthStore((s) => s.account); |
|
|
|
|
|
|
|
|
|
const [{ loading, error }, test] = useAsyncFn(async () => { |
|
|
|
|
if (!url.startsWith("http")) |
|
|
|
@ -38,6 +42,13 @@ export function OnboardingProxyPage() {
@@ -38,6 +42,13 @@ export function OnboardingProxyPage() {
|
|
|
|
|
if (res.url !== testUrl) |
|
|
|
|
throw new Error("onboarding.proxy.input.errorNotProxy"); |
|
|
|
|
setProxySet([url]); |
|
|
|
|
|
|
|
|
|
if (account) { |
|
|
|
|
await updateSettings(backendUrl, account, { |
|
|
|
|
proxyUrls: [url], |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
completeAndRedirect(); |
|
|
|
|
} catch (e) { |
|
|
|
|
throw new Error("onboarding.proxy.input.errorConnection"); |
|
|
|
|