show the wildcard record info

This commit is contained in:
Pallavi Kumari
2025-10-21 17:07:34 +05:30
parent 5a571f19e1
commit 3ae42f054f
2 changed files with 99 additions and 87 deletions

View File

@@ -321,7 +321,6 @@ export default function CreateDomainForm({
name="certResolver" name="certResolver"
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormLabel>{t("customResolver")}</FormLabel>
<FormControl> <FormControl>
<Input <Input
placeholder={t("enterCustomResolver")} placeholder={t("enterCustomResolver")}

View File

@@ -112,7 +112,7 @@ export default function DomainInfoCard({ orgId, domainId }: DomainInfoCardProps)
defaultValues: { defaultValues: {
baseDomain: "", baseDomain: "",
type: build == "oss" || !env.flags.usePangolinDns ? "wildcard" : "ns", type: build == "oss" || !env.flags.usePangolinDns ? "wildcard" : "ns",
certResolver: null, certResolver: domain.certResolver ?? "",
preferWildcardCert: false preferWildcardCert: false
} }
}); });
@@ -257,19 +257,18 @@ export default function DomainInfoCard({ orgId, domainId }: DomainInfoCardProps)
</AlertDescription> </AlertDescription>
</Alert> </Alert>
{domain.type !== "wildcard" && ( {loadingRecords ? (
loadingRecords ? ( <div className="space-y-4">
<div className="space-y-4"> {t("loadingDNSRecords", { fallback: "Loading DNS Records..." })}
{t("loadingDNSRecords", { fallback: "Loading DNS Records..." })} </div>
</div> ) : (
) : ( <DNSRecordsTable
<DNSRecordsTable domainId={domain.domainId}
domainId={domain.domainId} records={dnsRecords}
records={dnsRecords} isRefreshing={isRefreshing}
isRefreshing={isRefreshing} />
/> )
) }
)}
{/* Domain Settings - Only show for wildcard domains */} {/* Domain Settings - Only show for wildcard domains */}
{domain.type === "wildcard" && ( {domain.type === "wildcard" && (
@@ -289,78 +288,92 @@ export default function DomainInfoCard({ orgId, domainId }: DomainInfoCardProps)
className="space-y-4" className="space-y-4"
id="domain-settings-form" id="domain-settings-form"
> >
<FormField <>
control={form.control} <FormField
name="certResolver" control={form.control}
render={({ field }) => ( name="certResolver"
<FormItem> render={({ field }) => (
<FormLabel>{t("certResolver")}</FormLabel> <FormItem>
<FormControl> <FormLabel>{t("certResolver")}</FormLabel>
<Select <FormControl>
value={ <Select
field.value === null ? "default" : value={
(field.value === "" || (field.value && field.value !== "default")) ? "custom" : field.value === null ? "default" :
"default" (field.value === "" || (field.value && field.value !== "default")) ? "custom" :
} "default"
onValueChange={(val) => {
if (val === "default") {
field.onChange(null);
} else if (val === "custom") {
field.onChange("");
} else {
field.onChange(val);
} }
}} onValueChange={(val) => {
> if (val === "default") {
<SelectTrigger> field.onChange(null);
<SelectValue placeholder={t("selectCertResolver")} /> } else if (val === "custom") {
</SelectTrigger> field.onChange("");
<SelectContent> } else {
{certResolverOptions.map((opt) => ( field.onChange(val);
<SelectItem key={opt.id} value={opt.id}> }
{opt.title} }}
</SelectItem> >
))} <SelectTrigger>
</SelectContent> <SelectValue placeholder={t("selectCertResolver")} />
</Select> </SelectTrigger>
</FormControl> <SelectContent>
<FormMessage /> {certResolverOptions.map((opt) => (
{field.value !== null && field.value !== "default" && ( <SelectItem key={opt.id} value={opt.id}>
<div className="space-y-2 mt-2"> {opt.title}
<FormControl> </SelectItem>
<Input ))}
placeholder={t("enterCustomResolver")} </SelectContent>
value={field.value || domain.certResolver || ""} </Select>
onChange={(e) => field.onChange(e.target.value)} </FormControl>
/> <FormMessage />
</FormControl> </FormItem>
<FormField )}
control={form.control} />
name="preferWildcardCert" {form.watch("certResolver") !== null &&
render={({ field: switchField }) => ( form.watch("certResolver") !== "default" && (
<FormItem className="items-center space-y-2 mt-4"> <FormField
<FormControl> control={form.control}
<div className="flex items-center space-x-2"> name="certResolver"
<Switch render={({ field }) => (
checked={switchField.value} <FormItem>
onCheckedChange={switchField.onChange} <FormControl>
/> <Input
<FormLabel>{t("preferWildcardCert")}</FormLabel> placeholder={t("enterCustomResolver")}
</div> value={field.value || ""}
</FormControl> onChange={(e) => field.onChange(e.target.value)}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
)}
<FormDescription> {form.watch("certResolver") !== null &&
{t("preferWildcardCertDescription")} form.watch("certResolver") !== "default" && (
</FormDescription> <FormField
<FormMessage /> control={form.control}
</FormItem> name="preferWildcardCert"
)} render={({ field: switchField }) => (
/> <FormItem className="items-center space-y-2 mt-4">
</div> <FormControl>
)} <div className="flex items-center space-x-2">
</FormItem> <Switch
)} checked={switchField.value}
/> onCheckedChange={switchField.onChange}
/>
<FormLabel>{t("preferWildcardCert")}</FormLabel>
</div>
</FormControl>
<FormDescription>
{t("preferWildcardCertDescription")}
</FormDescription>
<FormMessage />
</FormItem>
)}
/>
)}
</>
</form> </form>
</Form> </Form>
</SettingsSectionForm> </SettingsSectionForm>