src/components/about-dialog.tsx 2.2 K raw
1
import {
2
	Dialog,
3
	DialogContent,
4
	DialogHeader,
5
	DialogTitle,
6
	DialogTrigger,
7
} from "@/components/ui/dialog";
8
9
interface AboutDialogProps {
10
	open?: boolean;
11
	onOpenChange?: (open: boolean) => void;
12
	children?: React.ReactNode;
13
}
14
15
export function AboutDialog({
16
	open,
17
	onOpenChange,
18
	children,
19
}: AboutDialogProps) {
20
	return (
21
		<Dialog open={open} onOpenChange={onOpenChange}>
22
			{children && <DialogTrigger asChild>{children}</DialogTrigger>}
23
			<DialogContent>
24
				<DialogHeader>
25
					<DialogTitle>About</DialogTitle>
26
				</DialogHeader>
27
				<div className="space-y-4">
28
					<p className="text-sm text-muted-foreground">
29
						Alcove is built on two principles: privacy, and freedom of speech.
30
						Those two things are becoming harder to find these days, yet blogs
31
						and RSS feeds provides a way out. As long as someone is publishing
32
						and someone else is listening, these two fundamentals can help keep
33
						free speech alive. Alcove accomplishes privacy through a "can't be
34
						evil" tech stack, which you can read more about{" "}
35
						<a className="underline" target="_blank" rel="noreferrer" href="">
36
							here
37
						</a>
38
						. TLDR: all of your feeds and posts that you read are encrypted
39
						locally and synced via cryptographic keypairs. Even if we wanted to
40
						read your stuff, we can't.
41
					</p>
42
					<p className="text-sm text-muted-foreground">
43
						Due to how the encryption works, it is critical that you backup your
44
						account passphrase to a secure location like a password manager. If
45
						you clear your local browser data there is no way for us to recover
46
						your account or feeds, and you will need to make a new one. You can
47
						back it up in the settings page.
48
					</p>
49
					<p className="text-sm text-muted-foreground">
50
						Alcove is{" "}
51
						<a
52
							className="underline"
53
							href="https://github.com/stevedylandev/alcove"
54
							target="_blank"
55
							rel="noreferrer"
56
						>
57
							MIT open sourced
58
						</a>{" "}
59
						and run by{" "}
60
						<a
61
							className="underline"
62
							href="https://stevedylan.dev"
63
							target="_blank"
64
							rel="noreferrer"
65
						>
66
							Steve
67
						</a>
68
						.
69
					</p>
70
				</div>
71
			</DialogContent>
72
		</Dialog>
73
	);
74
}