Skip to content

Commit b66cf95

Browse files
authored
Merge pull request #390 from payloadcms/feat/custom-domains-refresh
feat: custom domains refresh
2 parents 49fcf9d + 0e655e5 commit b66cf95

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

  • src/app/(frontend)/(cloud)/cloud/[team-slug]/[project-slug]/(tabs)/settings/domains

src/app/(frontend)/(cloud)/cloud/[team-slug]/[project-slug]/(tabs)/settings/domains/AddDomain/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import * as React from 'react'
1111
import { toast } from 'sonner'
1212

1313
import classes from './index.module.scss'
14+
import { useRouter } from 'next/navigation'
1415

1516
const generateUUID = () => {
1617
return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)
@@ -28,6 +29,8 @@ export const AddDomain: React.FC<{
2829
const projectID = project?.id
2930
const projectDomains = project?.domains
3031

32+
const router = useRouter()
33+
3134
const saveDomain = React.useCallback<OnSubmit>(
3235
async ({ data }) => {
3336
// The type `Project.domains[0]` -> does not work because the array is not required - Payload type issue?
@@ -64,7 +67,7 @@ export const AddDomain: React.FC<{
6467
)
6568

6669
if (req.status === 200) {
67-
// reloadProject()
70+
router.refresh()
6871
setFieldKey(generateUUID())
6972
toast.success('Domain added successfully.')
7073
}

src/app/(frontend)/(cloud)/cloud/[team-slug]/[project-slug]/(tabs)/settings/domains/ManageDomain/index.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { ModalWindow } from '@components/ModalWindow/index.js'
77
import { useModal } from '@faceless-ui/modal'
88
import { ExternalLinkIcon } from '@root/icons/ExternalLinkIcon/index.js'
99
import Link from 'next/link'
10+
import { useRouter } from 'next/navigation'
1011
import * as React from 'react'
1112

1213
import classes from './index.module.scss'
@@ -23,11 +24,11 @@ type Props = {
2324
export const ManageDomain: React.FC<Props> = ({ domain, environmentSlug, project, team }) => {
2425
const { id, domain: domainURL, recordContent, recordName, recordType } = domain
2526
const modalSlug = `delete-domain-${id}`
27+
const router = useRouter()
2628

2729
const { closeModal, openModal } = useModal()
2830
const projectID = project?.id
29-
const projectDomains = project?.domains
30-
const cnameRecord = project?.defaultDomain
31+
const [projectDomains, setProjectDomains] = React.useState(project?.domains || [])
3132

3233
const patchDomains = React.useCallback(
3334
async (domains: Props['domain'][]) => {
@@ -46,20 +47,19 @@ export const ManageDomain: React.FC<Props> = ({ domain, environmentSlug, project
4647
},
4748
)
4849

49-
// TODO: alert user based on status code & message
50-
5150
if (req.status === 200) {
5251
const res = await req.json()
53-
// reloadProject()
52+
router.refresh()
53+
setProjectDomains(domains)
5454
return res
5555
}
5656
} catch (e) {
57-
console.error(e) // eslint-disable-line no-console
57+
console.error(e)
5858
}
5959

6060
return null
6161
},
62-
[projectID],
62+
[projectID, environmentSlug],
6363
)
6464

6565
const deleteDomain = React.useCallback(async () => {

0 commit comments

Comments
 (0)