Remove redirect domain from edit domain form
This commit is contained in:
parent
db56e19c54
commit
496ceff0fa
@ -1,11 +1,19 @@
|
||||
import { useCallback, useEffect, useMemo } from 'react';
|
||||
import { Controller, useForm, SubmitHandler } from 'react-hook-form';
|
||||
import {
|
||||
useCallback,
|
||||
useEffect,
|
||||
// useMemo
|
||||
} from 'react';
|
||||
import {
|
||||
// Controller,
|
||||
useForm,
|
||||
SubmitHandler,
|
||||
} from 'react-hook-form';
|
||||
import { Domain } from 'gql-client';
|
||||
|
||||
import {
|
||||
Typography,
|
||||
Select,
|
||||
Option,
|
||||
// Select,
|
||||
// Option,
|
||||
} from '@snowballtools/material-tailwind-react-fork';
|
||||
|
||||
import { useGQLClient } from 'context/GQLClientContext';
|
||||
@ -14,7 +22,7 @@ import { Button } from 'components/shared/Button';
|
||||
import { Input } from 'components/shared/Input';
|
||||
import { useToast } from 'components/shared/Toast';
|
||||
|
||||
const DEFAULT_REDIRECT_OPTIONS = ['none'];
|
||||
// const DEFAULT_REDIRECT_OPTIONS = ['none'];
|
||||
|
||||
interface EditDomainDialogProp {
|
||||
domains: Domain[];
|
||||
@ -28,7 +36,7 @@ interface EditDomainDialogProp {
|
||||
type EditDomainValues = {
|
||||
name: string;
|
||||
branch: string;
|
||||
redirectedTo: string;
|
||||
// redirectedTo: string;
|
||||
};
|
||||
|
||||
const EditDomainDialog = ({
|
||||
@ -42,58 +50,58 @@ const EditDomainDialog = ({
|
||||
const client = useGQLClient();
|
||||
const { toast, dismiss } = useToast();
|
||||
|
||||
const getRedirectUrl = (domain: Domain) => {
|
||||
const redirectDomain = domain.redirectTo;
|
||||
// const getRedirectUrl = (domain: Domain) => {
|
||||
// const redirectDomain = domain.redirectTo;
|
||||
|
||||
if (redirectDomain !== null) {
|
||||
return redirectDomain?.name;
|
||||
} else {
|
||||
return 'none';
|
||||
}
|
||||
};
|
||||
// if (redirectDomain !== null) {
|
||||
// return redirectDomain?.name;
|
||||
// } else {
|
||||
// return 'none';
|
||||
// }
|
||||
// };
|
||||
|
||||
const redirectOptions = useMemo(() => {
|
||||
const domainNames = domains
|
||||
.filter((domainData) => domainData.id !== domain.id)
|
||||
.map((domain) => domain.name);
|
||||
return ['none', ...domainNames];
|
||||
}, [domain, domains]);
|
||||
// const redirectOptions = useMemo(() => {
|
||||
// const domainNames = domains
|
||||
// .filter((domainData) => domainData.id !== domain.id)
|
||||
// .map((domain) => domain.name);
|
||||
// return ['none', ...domainNames];
|
||||
// }, [domain, domains]);
|
||||
|
||||
const domainRedirectedFrom = useMemo(() => {
|
||||
return domains.find(
|
||||
(domainData) => domainData.redirectTo?.id === domain.id,
|
||||
);
|
||||
}, [domains, domain]);
|
||||
// const domainRedirectedFrom = useMemo(() => {
|
||||
// return domains.find(
|
||||
// (domainData) => domainData.redirectTo?.id === domain.id,
|
||||
// );
|
||||
// }, [domains, domain]);
|
||||
|
||||
const isDisableDropdown = useMemo(() => {
|
||||
return domainRedirectedFrom !== undefined;
|
||||
}, [domain, domains]);
|
||||
// const isDisableDropdown = useMemo(() => {
|
||||
// return domainRedirectedFrom !== undefined;
|
||||
// }, [domain, domains]);
|
||||
|
||||
const {
|
||||
handleSubmit,
|
||||
register,
|
||||
control,
|
||||
watch,
|
||||
// control,
|
||||
// watch,
|
||||
reset,
|
||||
formState: { isValid, isDirty },
|
||||
} = useForm({
|
||||
defaultValues: {
|
||||
name: domain.name,
|
||||
branch: domain.branch,
|
||||
redirectedTo: getRedirectUrl(domain),
|
||||
// redirectedTo: getRedirectUrl(domain),
|
||||
},
|
||||
});
|
||||
|
||||
const updateDomainHandler: SubmitHandler<EditDomainValues> = useCallback(
|
||||
async (data) => {
|
||||
const domainRedirectTo = domains.find(
|
||||
(domainData) => data.redirectedTo === domainData.name,
|
||||
);
|
||||
// const domainRedirectTo = domains.find(
|
||||
// (domainData) => data.redirectedTo === domainData.name,
|
||||
// );
|
||||
|
||||
const updates = {
|
||||
name: data.name ? data.name : domain.name,
|
||||
branch: data.branch ? data.branch : domain.branch,
|
||||
redirectToId: domainRedirectTo ? domainRedirectTo.id : null,
|
||||
// redirectToId: domainRedirectTo ? domainRedirectTo.id : null,
|
||||
};
|
||||
|
||||
const { updateDomain } = await client.updateDomain(domain.id, updates);
|
||||
@ -125,7 +133,7 @@ const EditDomainDialog = ({
|
||||
reset({
|
||||
name: domain.name,
|
||||
branch: domain.branch,
|
||||
redirectedTo: getRedirectUrl(domain),
|
||||
// redirectedTo: getRedirectUrl(domain),
|
||||
});
|
||||
}, [domain]);
|
||||
|
||||
@ -137,7 +145,7 @@ const EditDomainDialog = ({
|
||||
<Modal.Body className="flex flex-col gap-2">
|
||||
<Typography variant="small">Domain name</Typography>
|
||||
<Input {...register('name')} />
|
||||
<Typography variant="small">Redirect to</Typography>
|
||||
{/* <Typography variant="small">Redirect to</Typography>
|
||||
<Controller
|
||||
name="redirectedTo"
|
||||
control={control}
|
||||
@ -161,7 +169,7 @@ const EditDomainDialog = ({
|
||||
further.
|
||||
</Typography>
|
||||
</div>
|
||||
)}
|
||||
)} */}
|
||||
<Typography variant="small">Git branch</Typography>
|
||||
<Input
|
||||
{...register('branch', {
|
||||
@ -169,8 +177,9 @@ const EditDomainDialog = ({
|
||||
Boolean(branches.length) ? branches.includes(value) : true,
|
||||
})}
|
||||
disabled={
|
||||
!Boolean(branches.length) ||
|
||||
watch('redirectedTo') !== DEFAULT_REDIRECT_OPTIONS[0]
|
||||
!Boolean(branches.length)
|
||||
// ||
|
||||
// watch('redirectedTo') !== DEFAULT_REDIRECT_OPTIONS[0]
|
||||
}
|
||||
/>
|
||||
{!isValid && (
|
||||
|
@ -65,7 +65,7 @@ const SetupDomain = () => {
|
||||
Setup domain name
|
||||
</Heading>
|
||||
<p className="text-slate-500 text-sm font-normal leading-tight">
|
||||
Add your domain and setup redirects
|
||||
Add your domain {/* and setup redirects */}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -62,17 +62,15 @@ const Domains = () => {
|
||||
headingText="Domains"
|
||||
button={
|
||||
<>
|
||||
{domains.length == 0 && (
|
||||
<Button
|
||||
as="a"
|
||||
href="add"
|
||||
variant="secondary"
|
||||
leftIcon={<PlusIcon />}
|
||||
size="md"
|
||||
>
|
||||
Add domain
|
||||
</Button>
|
||||
)}
|
||||
<Button
|
||||
as="a"
|
||||
href="add"
|
||||
variant="secondary"
|
||||
leftIcon={<PlusIcon />}
|
||||
size="md"
|
||||
>
|
||||
Add domain
|
||||
</Button>
|
||||
</>
|
||||
}
|
||||
>
|
||||
|
Loading…
Reference in New Issue
Block a user