Skip to content

Commit 15bab2c

Browse files
authored
Merge pull request #322
* Add unique key for nameservers
1 parent 4fa3482 commit 15bab2c

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/modules/dns-nameservers/NameserverModal.tsx

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,25 @@ import Button from "@components/Button";
22
import FancyToggleSwitch from "@components/FancyToggleSwitch";
33
import HelpText from "@components/HelpText";
44
import InlineLink from "@components/InlineLink";
5-
import {Input} from "@components/Input";
6-
import {Label} from "@components/Label";
7-
import {Modal, ModalClose, ModalContent, ModalFooter, ModalTrigger,} from "@components/modal/Modal";
5+
import { Input } from "@components/Input";
6+
import { Label } from "@components/Label";
7+
import {
8+
Modal,
9+
ModalClose,
10+
ModalContent,
11+
ModalFooter,
12+
ModalTrigger,
13+
} from "@components/modal/Modal";
814
import ModalHeader from "@components/modal/ModalHeader";
9-
import {notify} from "@components/Notification";
15+
import { notify } from "@components/Notification";
1016
import Paragraph from "@components/Paragraph";
11-
import {PeerGroupSelector} from "@components/PeerGroupSelector";
12-
import {Tabs, TabsContent, TabsList, TabsTrigger} from "@components/Tabs";
13-
import {Textarea} from "@components/Textarea";
14-
import {useApiCall} from "@utils/api";
15-
import {cn, validator} from "@utils/helpers";
17+
import { PeerGroupSelector } from "@components/PeerGroupSelector";
18+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@components/Tabs";
19+
import { Textarea } from "@components/Textarea";
20+
import { useApiCall } from "@utils/api";
21+
import { cn, validator } from "@utils/helpers";
1622
import cidr from "ip-cidr";
17-
import {uniqueId} from "lodash";
23+
import { uniqueId } from "lodash";
1824
import {
1925
ExternalLinkIcon,
2026
GlobeIcon,
@@ -26,10 +32,10 @@ import {
2632
ServerIcon,
2733
Text,
2834
} from "lucide-react";
29-
import React, {useEffect, useMemo, useReducer, useState} from "react";
30-
import {useSWRConfig} from "swr";
35+
import React, { useEffect, useMemo, useReducer, useState } from "react";
36+
import { useSWRConfig } from "swr";
3137
import DNSIcon from "@/assets/icons/DNSIcon";
32-
import {Domain, Nameserver, NameserverGroup} from "@/interfaces/Nameserver";
38+
import { Domain, Nameserver, NameserverGroup } from "@/interfaces/Nameserver";
3339
import useGroupHelper from "@/modules/groups/useGroupHelper";
3440

3541
type Props = {
@@ -177,9 +183,10 @@ export function NameserverModalContent({
177183
};
178184

179185
// Nameservers
180-
const [nameservers, setNameservers] = useReducer(
181-
nameServerReducer,
182-
preset?.nameservers || [],
186+
const [nameservers, setNameservers] = useReducer(nameServerReducer, [], () =>
187+
preset?.nameservers
188+
? preset.nameservers.map((ns) => ({ id: uniqueId("ns"), ...ns }))
189+
: [],
183190
);
184191

185192
const [groups, setGroups, { save: saveGroups }] = useGroupHelper({

0 commit comments

Comments
 (0)