diff --git a/package.json b/package.json index 7a0d526..e04d225 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "vite": "^4.4.5" }, "dependencies": { - "d3": "^7.9.0" + "d3": "^7.9.0", + "ipaddr.js": "^2.2.0" } } diff --git a/src/components/CutOff.svelte b/src/components/CutOff.svelte new file mode 100644 index 0000000..251d96a --- /dev/null +++ b/src/components/CutOff.svelte @@ -0,0 +1,25 @@ +
+ +
+ + diff --git a/src/components/CutOffTd.svelte b/src/components/CutOffTd.svelte new file mode 100644 index 0000000..6af4e2f --- /dev/null +++ b/src/components/CutOffTd.svelte @@ -0,0 +1,13 @@ + + + + + + + diff --git a/src/components/Popup.svelte b/src/components/Popup.svelte index 5d5d83f..2acb3ea 100644 --- a/src/components/Popup.svelte +++ b/src/components/Popup.svelte @@ -22,7 +22,7 @@ width: 100%; height: 100%; cursor: default; - background-color: rgba(0,0,0,0.55); + background-color: rgba(0, 0, 0, 0.55); display: none; &.show { @@ -45,6 +45,7 @@ position: fixed; top: 50vh; left: 50vw; + max-width: calc(100vw - 72px); transform: translate(-50%, -50%); background-color: $theme-header; cursor: auto; diff --git a/src/components/create-domains/ACreate.svelte b/src/components/create-domains/ACreate.svelte new file mode 100644 index 0000000..c48a687 --- /dev/null +++ b/src/components/create-domains/ACreate.svelte @@ -0,0 +1,40 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} + +
IP Address
+
+{#if editItem.Hdr.Rrtype === DnsTypeA} +
IP address is IPv4
+{:else if editItem.Hdr.Rrtype === DnsTypeAAAA} +
IP address is IPv6
+{/if} diff --git a/src/components/create-domains/CaaCreate.svelte b/src/components/create-domains/CaaCreate.svelte new file mode 100644 index 0000000..2cb2d73 --- /dev/null +++ b/src/components/create-domains/CaaCreate.svelte @@ -0,0 +1,17 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Tag
+
+
Value
+
diff --git a/src/components/create-domains/CnameCreate.svelte b/src/components/create-domains/CnameCreate.svelte new file mode 100644 index 0000000..6e0804b --- /dev/null +++ b/src/components/create-domains/CnameCreate.svelte @@ -0,0 +1,15 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Target
+
diff --git a/src/components/create-domains/MxCreate.svelte b/src/components/create-domains/MxCreate.svelte new file mode 100644 index 0000000..18fda5a --- /dev/null +++ b/src/components/create-domains/MxCreate.svelte @@ -0,0 +1,17 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Mail Server
+
+
Preference
+
diff --git a/src/components/create-domains/NsCreate.svelte b/src/components/create-domains/NsCreate.svelte new file mode 100644 index 0000000..5a78638 --- /dev/null +++ b/src/components/create-domains/NsCreate.svelte @@ -0,0 +1,15 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Nameserver
+
diff --git a/src/components/create-domains/SrvCreate.svelte b/src/components/create-domains/SrvCreate.svelte new file mode 100644 index 0000000..25bc792 --- /dev/null +++ b/src/components/create-domains/SrvCreate.svelte @@ -0,0 +1,21 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Priority
+
+
Weight
+
+
Port
+
+
Target
+
diff --git a/src/components/create-domains/TxtCreate.svelte b/src/components/create-domains/TxtCreate.svelte new file mode 100644 index 0000000..34988c9 --- /dev/null +++ b/src/components/create-domains/TxtCreate.svelte @@ -0,0 +1,19 @@ + + +
Name
+{#if editMode} +
{editItem.Hdr.Name}
+{:else} +
+{/if} +
Value
+
diff --git a/src/components/domains/ARow.svelte b/src/components/domains/ARow.svelte index 15f2adc..5dcdfb4 100644 --- a/src/components/domains/ARow.svelte +++ b/src/components/domains/ARow.svelte @@ -1,8 +1,9 @@ + +
+

{recordName} Records

+ {#if emptyRecord != null && createItem != null} + + + + + + {/if} +
+ + + + + + {#each rowOrdering(value.rows, $domainOption, isTRecord) as item} + + + +
Loading...
+ + + + + Error loading row for {item.data.Hdr.Name}: {reason} + + + +
+ {/each} +
+
+ + diff --git a/src/views/DomainsView.svelte b/src/views/DomainsView.svelte index 624a105..29d0960 100644 --- a/src/views/DomainsView.svelte +++ b/src/views/DomainsView.svelte @@ -1,8 +1,14 @@ {#if soaRecords.length >= 1}
-

Domains / {getTitleDomain(soaRecords[0].Hdr.Name)}

- - Download DNS Zone File - +

Domains / {domainTitle}

+ Download DNS Zone File
{/if} -

SOA Record

- - - Primary Domain - Email - Default TTL - Refresh Rate - Retry Rate - Expire Time - - +{#each recordTypes as recordType} + + + {#each recordType.headers as header} + {header} + {/each} + + - - {#each rowOrdering(value.rows, $domainOption, isSoaRecord) as item} - - - -
Loading...
- - + + {#if recordType.create != null && recordType.empty != null} + + {/if} + - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

NS Record

- - - Name Server - Subdomain - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isNsRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

MX Record

- - - Mail Server - Preference - Subdomain - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isMxRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

A/AAAA Record

- - - Hostname - IP Address - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, t => isARecord(t) || isAaaaRecord(t)) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

CNAME Record

- - - Hostname - Aliases to - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isCnameRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

TXT Record

- - - Hostname - Value - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isTxtRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

SRV Record

- - - Name - Priority - Weight - Port - Target - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isSrvRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
- -

CAA Record

- - - Name - Tag - Value - TTL - - - - - {#each rowOrdering(value.rows, $domainOption, isCaaRecord) as item} - - - -
Loading...
- - - - - Error loading row for {item.data.Hdr.Name}: {reason} - - - -
- {/each} -
-
+ + +{/each}