mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-04 17:56:38 +00:00
show the wildcard record info
This commit is contained in:
@@ -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")}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user