Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Domain Health Dashboard Block for Svelte

Six domains scored out of 100 from four weighted checks: DNS agreement across six nameservers, registration expiry in days, six blacklist lookups and the TLS certificate.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

See why a domain scores what it does, with this domain health panel for Svelte with Ark UI. A hairline frame with a plus mark on each corner lists six domains at the start, each with its score and a word (Healthy, Needs a look, At risk). The chosen domain shows four checks in a two by two grid, each worth a share of 100 points and printed with its points: DNS agreement across six nameservers, where the cells that agree and the ones that differ are named; registration, a bar to the expiry date counted in days from a fixed day, with full marks from 90 days; six blacklist lookups, each Clear or Listed in words; and the TLS certificate with its dates, chain and host name. The score is the sum of the points, so the number can be checked by hand, and a Progress bar draws it. On a phone a Native Select replaces the list. For domain portfolios and registrar dashboards.

FAQ

How do I fill it with my domains?

Edit DOMAINS and WEIGHTS. A domain has the six nameserver answers, the expires date, the certEnds date, whether the chain and host name verify, and the indexes of the blacklists that list it. The weights (30, 20, 30, 20) are the points each check is worth and add to 100.

How is the score worked out?

Each check gives a share from 0 to 1: the nameservers that agree with the majority answer out of six, the days to expiry over 90 (at most 1), one minus the listed blacklists over six, and a third each for a certificate still in date, a verifying chain and a matching host name. The share times the weight, rounded, is the check's points, and the score is their sum. Healthy is 90 and up, Needs a look 70 to 89 and At risk below.

What are the days counted from?

From one fixed day, AS_OF, written in the file, never from the clock, so the page reads the same on the server and in every time zone. In a real page pass the scan's date and keep the same arithmetic.

What stays local, and how do I wire it for real?

The scan results are typed and nothing is looked up. To make it real, run the lookups on your server (the nameservers, the registry, the blacklists and a TLS handshake), store the answers in the same shape and keep the scoring function in this file so the page and your alerts agree.

Is it accessible?

Every state is a word, not a colour: Agrees or Differs, Clear or Listed, Verifies or Does not verify. The list is a set of buttons with the current one marked, and a polite line reads the chosen domain's result.

How does it look on a phone?

The list becomes a select above the detail, the four checks stack one under another and the nameserver cells stay in three columns.