tangled
alpha
login
or
join now
e.xyehr.cn
/
One-Calendar
5
fork
atom
One Calendar is a privacy-first calendar web app built with Next.js. It has modern security features, including e2ee, password-protected sharing, and self-destructing share links ๐
calendar.xyehr.cn
5
fork
atom
overview
issues
pulls
pipelines
Simplify encrypted stream to plain ciphertext lines
Evan Huang
3 weeks ago
8de53a01
bae9082f
+11
-12
1 changed file
expand all
collapse all
unified
split
components
landing
landing-hero-demo.tsx
+11
-12
components/landing/landing-hero-demo.tsx
···
1
1
"use client";
2
2
3
3
-
import { Fragment } from "react";
4
3
import { cn } from "@/lib/utils";
5
4
import { LandingTitle } from "./landing-title";
6
5
···
21
20
];
22
21
23
22
const encryptedRows = [
24
24
-
["2nd49snxieNwi29Dnejs", "4fK29xneJ2qLs09PzVaa"],
25
25
-
["A0zX19pwQm7RtL2he81n", "n0Mqe28XvLp31sTTad90"],
26
26
-
["dN7qa21PoxM44jvR8tyk", "Qv4mL2zPaa11Nwe8sX0t"],
27
27
-
["T7ePq82sLmN4xR3vA11f", "zP8wN2kLmQ1vD45sA0xe"],
23
23
+
"2nd49snxieNwi29Dnejs",
24
24
+
"4fK29xneJ2qLs09PzVaa",
25
25
+
"A0zX19pwQm7RtL2he81n",
26
26
+
"n0Mqe28XvLp31sTTad90",
27
27
+
"dN7qa21PoxM44jvR8tyk",
28
28
+
"Qv4mL2zPaa11Nwe8sX0t",
29
29
+
"T7ePq82sLmN4xR3vA11f",
30
30
+
"zP8wN2kLmQ1vD45sA0xe",
28
31
];
29
32
30
33
function WeekViewEventBlock({ event }: { event: DemoEvent }) {
···
51
54
52
55
<div className="rounded-xl border border-white/10 bg-[var(--landing-panel)] p-4">
53
56
<LandingTitle as="p" className="mb-3 text-xs uppercase tracking-[0.14em] text-[var(--landing-subtle)]">Encrypted Stream</LandingTitle>
54
54
-
<div className="grid grid-cols-[1fr_auto_1fr] gap-3 text-xs text-[var(--landing-muted)]">
55
55
-
{encryptedRows.map((row, idx) => (
56
56
-
<Fragment key={`${row[0]}-${idx}`}>
57
57
-
<div className="rounded-md border border-white/10 bg-black/20 px-2 py-2 font-mono text-[11px] text-white/75">{row[0]}</div>
58
58
-
<div className="w-px bg-white/20" />
59
59
-
<div className="rounded-md border border-white/10 bg-black/10 px-2 py-2 font-mono text-[11px] text-white/75">{row[1]}</div>
60
60
-
</Fragment>
57
57
+
<div className="space-y-2 font-mono text-[12px] text-white/75">
58
58
+
{encryptedRows.map((line) => (
59
59
+
<p key={line}>{line}</p>
61
60
))}
62
61
</div>
63
62
</div>