forked from
standard.site/standard.site
Standard.site landing page built in Next.js
1'use client'
2
3import { FileTextIcon, LinkIcon } from 'lucide-react'
4
5export function VerificationSection() {
6 return (
7 <section id="verification" className="flex flex-col gap-8">
8 <h2 className="font-display font-semibold text-3xl sm:text-4xl leading-tight tracking-tighter text-base-content">
9 Verification
10 </h2>
11
12 <p className="text-base sm:text-xl leading-snug tracking-tight text-muted">
13 <span className="font-medium text-base-content">Standard.site</span>{ ' ' }
14 records point to domain names and webpages. We need a way for those to point
15 back to the record. This is done through a .well-known route for publications
16 and HTML link tags for documents.
17 </p>
18
19 <div className="flex flex-col gap-4">
20 {/* Publication */}
21 <div className="flex flex-col gap-4 rounded-2xl border border-border bg-base-200 p-4">
22 <div className="flex items-center gap-3">
23 <LinkIcon className="size-4 text-base-content" />
24 <h3 className="font-display font-semibold text-xl leading-tight tracking-tight text-base-content">
25 Publication
26 </h3>
27 </div>
28
29 <p className="text-base leading-snug tracking-tight text-muted">
30 Add a /.well-known/site.standard.publication endpoint to your domain.
31 The response should be the AT-URI of your publication record.
32 </p>
33
34 <p className="text-sm leading-snug tracking-tight text-muted">
35 This confirms the link between the publication and the domain.
36 </p>
37
38 <div className="flex flex-col gap-2">
39 <div className="flex flex-col gap-1">
40 <span className="text-xs font-medium uppercase tracking-wider text-muted">
41 Request
42 </span>
43 <pre className="overflow-x-auto rounded-lg border border-border bg-card p-3">
44 <code className="font-mono text-sm leading-relaxed text-base-content">
45 https://standard.site/.well-known/site.standard.publication
46 </code>
47 </pre>
48 </div>
49 <div className="flex flex-col gap-1">
50 <span className="text-xs font-medium uppercase tracking-wider text-muted">
51 Response
52 </span>
53 <pre className="overflow-x-auto rounded-lg border border-border bg-card p-3">
54 <code className="font-mono text-sm leading-relaxed text-base-content">
55 at://did:plc:abc123/site.standard.publication/rkey
56 </code>
57 </pre>
58 </div>
59 </div>
60 </div>
61
62 {/* Document */}
63 <div className="flex flex-col gap-4 rounded-2xl border border-border bg-base-200 p-4">
64 <div className="flex items-center gap-3">
65 <FileTextIcon className="size-4 text-base-content" />
66 <h3 className="font-display font-semibold text-xl leading-tight tracking-tight text-base-content">
67 Document
68 </h3>
69 </div>
70
71 <p className="text-base leading-snug tracking-tight text-muted">
72 Add a <link> tag in the document's <head> that references its AT-URI.
73 </p>
74
75 <div className="flex flex-col gap-1">
76 <span className="text-xs font-medium uppercase tracking-wider text-muted">
77 HTML
78 </span>
79 <pre className="overflow-x-auto rounded-lg border border-border bg-card p-3">
80 <code className="font-mono text-sm leading-relaxed text-base-content">
81 <link rel="site.standard.document" href="at://did:plc:xyz789/site.standard.document/rkey">
82 </code>
83 </pre>
84 </div>
85 </div>
86 </div>
87 </section>
88 )
89}