@bigbinary/neeto-custom-domains-frontend 2.1.0-beta1 → 2.1.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/javascript/src/translations/en.json +5 -3
- package/dist/CustomDomain.js +100 -19
- package/dist/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomain.js +99 -18
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/cjs/CustomDomain.js
CHANGED
|
@@ -29,8 +29,10 @@ var i18next = require('i18next');
|
|
|
29
29
|
var Yup = require('yup');
|
|
30
30
|
var Table = require('@bigbinary/neetoui/Table');
|
|
31
31
|
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
32
|
+
var ramda = require('ramda');
|
|
32
33
|
var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
33
34
|
var psl = require('psl');
|
|
35
|
+
var Info = require('@bigbinary/neeto-icons/Info');
|
|
34
36
|
var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
|
|
35
37
|
var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
|
|
36
38
|
|
|
@@ -353,6 +355,9 @@ var getDnsProviderData = function getDnsProviderData(dnsProvider) {
|
|
|
353
355
|
var hostname = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
354
356
|
return dnsProviderData(hostname)[dnsProvider];
|
|
355
357
|
};
|
|
358
|
+
var isRootLevelDomain = function isRootLevelDomain(hostname) {
|
|
359
|
+
return ramda.isNil(psl.parse(hostname).subdomain);
|
|
360
|
+
};
|
|
356
361
|
var commonColumnData = function commonColumnData(dnsProvider) {
|
|
357
362
|
var dnsProviderInfo = getDnsProviderData(dnsProvider);
|
|
358
363
|
return [{
|
|
@@ -423,7 +428,7 @@ var columnData = function columnData(dnsProvider) {
|
|
|
423
428
|
});
|
|
424
429
|
}
|
|
425
430
|
};
|
|
426
|
-
var
|
|
431
|
+
var networkSolutionsRefersToColumn = {
|
|
427
432
|
title: "Refers to",
|
|
428
433
|
dataIndex: "proxy",
|
|
429
434
|
width: "20%",
|
|
@@ -435,7 +440,7 @@ var columnData = function columnData(dnsProvider) {
|
|
|
435
440
|
}
|
|
436
441
|
};
|
|
437
442
|
dnsProvider === "cloudflare" && commonColumns.splice(3, 0, cloudflareProxyColumn);
|
|
438
|
-
dnsProvider === "networksolutions" && commonColumns.splice(1, 0,
|
|
443
|
+
dnsProvider === "networksolutions" && commonColumns.splice(1, 0, networkSolutionsRefersToColumn);
|
|
439
444
|
return commonColumns;
|
|
440
445
|
};
|
|
441
446
|
var rowData = function rowData(dnsProvider, hostname, dnsTarget) {
|
|
@@ -473,7 +478,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
473
478
|
rootDomain: "@",
|
|
474
479
|
subdomain: psl.parse(hostname).subdomain
|
|
475
480
|
}
|
|
476
|
-
}
|
|
481
|
+
},
|
|
482
|
+
hasRootLevelDomainSupport: true
|
|
477
483
|
},
|
|
478
484
|
namecheap: {
|
|
479
485
|
name: "Namecheap",
|
|
@@ -497,7 +503,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
497
503
|
rootDomain: "@",
|
|
498
504
|
subdomain: psl.parse(hostname).subdomain
|
|
499
505
|
}
|
|
500
|
-
}
|
|
506
|
+
},
|
|
507
|
+
hasRootLevelDomainSupport: true
|
|
501
508
|
},
|
|
502
509
|
hostinger: {
|
|
503
510
|
name: "Hostinger",
|
|
@@ -521,7 +528,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
521
528
|
rootDomain: "@",
|
|
522
529
|
subdomain: psl.parse(hostname).subdomain
|
|
523
530
|
}
|
|
524
|
-
}
|
|
531
|
+
},
|
|
532
|
+
hasRootLevelDomainSupport: true
|
|
525
533
|
},
|
|
526
534
|
digitalocean: {
|
|
527
535
|
name: "DigitalOcean",
|
|
@@ -545,7 +553,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
545
553
|
rootDomain: psl.parse(hostname).domain,
|
|
546
554
|
subdomain: psl.parse(hostname).subdomain
|
|
547
555
|
}
|
|
548
|
-
}
|
|
556
|
+
},
|
|
557
|
+
hasRootLevelDomainSupport: false
|
|
549
558
|
},
|
|
550
559
|
godaddy: {
|
|
551
560
|
name: "GoDaddy",
|
|
@@ -569,7 +578,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
569
578
|
rootDomain: psl.parse(hostname).domain,
|
|
570
579
|
subdomain: psl.parse(hostname).subdomain
|
|
571
580
|
}
|
|
572
|
-
}
|
|
581
|
+
},
|
|
582
|
+
hasRootLevelDomainSupport: false
|
|
573
583
|
},
|
|
574
584
|
squarespace: {
|
|
575
585
|
name: "Squarespace",
|
|
@@ -593,7 +603,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
593
603
|
rootDomain: "@",
|
|
594
604
|
subdomain: psl.parse(hostname).subdomain
|
|
595
605
|
}
|
|
596
|
-
}
|
|
606
|
+
},
|
|
607
|
+
hasRootLevelDomainSupport: true
|
|
597
608
|
},
|
|
598
609
|
wix: {
|
|
599
610
|
name: "Wix",
|
|
@@ -618,7 +629,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
618
629
|
rootDomain: psl.parse(hostname).domain,
|
|
619
630
|
subdomain: psl.parse(hostname).subdomain
|
|
620
631
|
}
|
|
621
|
-
}
|
|
632
|
+
},
|
|
633
|
+
hasRootLevelDomainSupport: false
|
|
622
634
|
},
|
|
623
635
|
porkbun: {
|
|
624
636
|
name: "Porkbun",
|
|
@@ -626,7 +638,7 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
626
638
|
header: {
|
|
627
639
|
type: "Type",
|
|
628
640
|
name: "Host",
|
|
629
|
-
target: "Answer",
|
|
641
|
+
target: "Answer/Value",
|
|
630
642
|
ttl: "TTL"
|
|
631
643
|
},
|
|
632
644
|
values: {
|
|
@@ -642,7 +654,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
642
654
|
rootDomain: psl.parse(hostname).domain,
|
|
643
655
|
subdomain: psl.parse(hostname).subdomain
|
|
644
656
|
}
|
|
645
|
-
}
|
|
657
|
+
},
|
|
658
|
+
hasRootLevelDomainSupport: true
|
|
646
659
|
},
|
|
647
660
|
networksolutions: {
|
|
648
661
|
name: "Network Solutions",
|
|
@@ -666,7 +679,8 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
666
679
|
rootDomain: "@",
|
|
667
680
|
subdomain: psl.parse(hostname).subdomain
|
|
668
681
|
}
|
|
669
|
-
}
|
|
682
|
+
},
|
|
683
|
+
hasRootLevelDomainSupport: true
|
|
670
684
|
},
|
|
671
685
|
aws: {
|
|
672
686
|
name: "AWS",
|
|
@@ -690,9 +704,11 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
690
704
|
rootDomain: psl.parse(hostname).domain,
|
|
691
705
|
subdomain: psl.parse(hostname).subdomain
|
|
692
706
|
}
|
|
693
|
-
}
|
|
707
|
+
},
|
|
708
|
+
hasRootLevelDomainSupport: false
|
|
694
709
|
},
|
|
695
710
|
unknown: {
|
|
711
|
+
name: "this provider",
|
|
696
712
|
loginUrl: "https://dash.cloudflare.com/login",
|
|
697
713
|
header: {
|
|
698
714
|
type: "Type",
|
|
@@ -713,11 +729,62 @@ var dnsProviderData = function dnsProviderData(hostname) {
|
|
|
713
729
|
rootDomain: "@",
|
|
714
730
|
subdomain: psl.parse(hostname).subdomain
|
|
715
731
|
}
|
|
716
|
-
}
|
|
732
|
+
},
|
|
733
|
+
hasRootLevelDomainSupport: false
|
|
717
734
|
}
|
|
718
735
|
};
|
|
719
736
|
};
|
|
720
737
|
|
|
738
|
+
var RootLevelDomainFallback = function RootLevelDomainFallback(_ref) {
|
|
739
|
+
var _dnsProviderData, _dnsProviderData2;
|
|
740
|
+
var t = _ref.t,
|
|
741
|
+
dnsProvider = _ref.dnsProvider,
|
|
742
|
+
onClose = _ref.onClose,
|
|
743
|
+
url = _ref.url,
|
|
744
|
+
hostname = _ref.hostname;
|
|
745
|
+
var _useDeleteCustomDomai = useDeleteCustomDomain(url, {
|
|
746
|
+
onSettled: function onSettled() {
|
|
747
|
+
}
|
|
748
|
+
}),
|
|
749
|
+
deleteCustomDomain = _useDeleteCustomDomai.mutate,
|
|
750
|
+
isDeleting = _useDeleteCustomDomai.isPending;
|
|
751
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
752
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
753
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
754
|
+
i18nKey: "neetoCustomDomains.validation.rootDomainUnsupported",
|
|
755
|
+
values: {
|
|
756
|
+
provider: (_dnsProviderData = dnsProviderData(hostname)) === null || _dnsProviderData === void 0 || (_dnsProviderData = _dnsProviderData[dnsProvider]) === null || _dnsProviderData === void 0 ? void 0 : _dnsProviderData.name,
|
|
757
|
+
providerName: neetoCist.capitalize((_dnsProviderData2 = dnsProviderData(hostname)) === null || _dnsProviderData2 === void 0 || (_dnsProviderData2 = _dnsProviderData2[dnsProvider]) === null || _dnsProviderData2 === void 0 ? void 0 : _dnsProviderData2.name),
|
|
758
|
+
rootDomain: hostname
|
|
759
|
+
},
|
|
760
|
+
components: {
|
|
761
|
+
br: /*#__PURE__*/jsxRuntime.jsx("br", {}),
|
|
762
|
+
span: /*#__PURE__*/jsxRuntime.jsx("span", {}),
|
|
763
|
+
Callout: /*#__PURE__*/jsxRuntime.jsx(Callout, {
|
|
764
|
+
icon: Info,
|
|
765
|
+
style: "info"
|
|
766
|
+
})
|
|
767
|
+
}
|
|
768
|
+
})
|
|
769
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
770
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
771
|
+
className: "flex items-center gap-2",
|
|
772
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
773
|
+
"data-cy": "update-custom-domain-button",
|
|
774
|
+
label: t("neetoCustomDomains.validation.buttonLabel.updateDomain"),
|
|
775
|
+
onClick: deleteCustomDomain,
|
|
776
|
+
loading: isDeleting
|
|
777
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
778
|
+
label: t("neetoCustomDomains.actions.cancel"),
|
|
779
|
+
style: "text",
|
|
780
|
+
onClick: onClose
|
|
781
|
+
})]
|
|
782
|
+
})
|
|
783
|
+
})]
|
|
784
|
+
});
|
|
785
|
+
};
|
|
786
|
+
var RootLevelDomainFallback$1 = reactUtils.withT(RootLevelDomainFallback);
|
|
787
|
+
|
|
721
788
|
var Validation = function Validation(_ref) {
|
|
722
789
|
var customDomain = _ref.customDomain,
|
|
723
790
|
onClose = _ref.onClose,
|
|
@@ -735,6 +802,7 @@ var Validation = function Validation(_ref) {
|
|
|
735
802
|
setErrorKey = _useState2[1];
|
|
736
803
|
var isDomainValidated = status === "active";
|
|
737
804
|
var dnsProviderInfo = getDnsProviderData(dnsProvider);
|
|
805
|
+
var domainType = isRootLevelDomain(hostname) ? "rootDomain" : "subdomain";
|
|
738
806
|
var _useValidateDomain = useValidateDomain(url, {
|
|
739
807
|
onError: function onError(_ref2) {
|
|
740
808
|
var response = _ref2.response;
|
|
@@ -747,6 +815,14 @@ var Validation = function Validation(_ref) {
|
|
|
747
815
|
}),
|
|
748
816
|
validateDomain = _useValidateDomain.mutate,
|
|
749
817
|
isValidating = _useValidateDomain.isPending;
|
|
818
|
+
if (isRootLevelDomain(hostname) && !dnsProviderInfo.hasRootLevelDomainSupport) {
|
|
819
|
+
return /*#__PURE__*/jsxRuntime.jsx(RootLevelDomainFallback$1, {
|
|
820
|
+
dnsProvider: dnsProvider,
|
|
821
|
+
onClose: onClose,
|
|
822
|
+
url: url,
|
|
823
|
+
hostname: hostname
|
|
824
|
+
});
|
|
825
|
+
}
|
|
750
826
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
751
827
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane.Body, {
|
|
752
828
|
className: "space-y-4",
|
|
@@ -755,7 +831,9 @@ var Validation = function Validation(_ref) {
|
|
|
755
831
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
756
832
|
style: "h4",
|
|
757
833
|
weight: "medium",
|
|
758
|
-
children: t("neetoCustomDomains.cnameRecordTitle"
|
|
834
|
+
children: t("neetoCustomDomains.cnameRecordTitle", {
|
|
835
|
+
domainName: hostname
|
|
836
|
+
})
|
|
759
837
|
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
760
838
|
style: "body2",
|
|
761
839
|
children: dnsProvider !== "unknown" ? /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
@@ -771,7 +849,7 @@ var Validation = function Validation(_ref) {
|
|
|
771
849
|
target: "_blank"
|
|
772
850
|
}),
|
|
773
851
|
Link: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
774
|
-
href: dnsHelpDocs[dnsProvider],
|
|
852
|
+
href: dnsHelpDocs[dnsProvider][domainType],
|
|
775
853
|
rel: "noreferrer",
|
|
776
854
|
style: "link",
|
|
777
855
|
target: "_blank"
|
|
@@ -781,7 +859,7 @@ var Validation = function Validation(_ref) {
|
|
|
781
859
|
i18nKey: "neetoCustomDomains.cnameRecordInfo",
|
|
782
860
|
components: {
|
|
783
861
|
Link: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
784
|
-
href: dnsHelpDocs[dnsProvider],
|
|
862
|
+
href: dnsHelpDocs[dnsProvider][domainType],
|
|
785
863
|
rel: "noreferrer",
|
|
786
864
|
style: "link",
|
|
787
865
|
target: "_blank"
|
|
@@ -796,7 +874,10 @@ var Validation = function Validation(_ref) {
|
|
|
796
874
|
columnData: columnData(dnsProvider),
|
|
797
875
|
enableColumnFreeze: false,
|
|
798
876
|
rowData: rowData(dnsProvider, hostname, dnsTarget),
|
|
799
|
-
rowSelection: false
|
|
877
|
+
rowSelection: false,
|
|
878
|
+
scroll: {
|
|
879
|
+
x: '100%'
|
|
880
|
+
}
|
|
800
881
|
})
|
|
801
882
|
}), neetoCist.isNotEmpty(errorKey) && /*#__PURE__*/jsxRuntime.jsx(Callout, {
|
|
802
883
|
style: STATUS_TAG_STYLES[status],
|