Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
pdsmoover.com
pds
atproto
migrations
moo
cow
1function formatBytes(bytes: number | null) {
2 if (bytes == null) return '—';
3 const units = ['B', 'KB', 'MB', 'GB', 'TB'];
4 let i = 0;
5 let v = Number(bytes);
6 while (v >= 1024 && i < units.length - 1) {
7 v /= 1024;
8 i++;
9 }
10 return v.toFixed(1) + ' ' + units[i];
11}
12
13function formatDate(value: string | undefined) {
14 if (!value) return '—';
15 try {
16 const d = new Date(value);
17 return d.toLocaleString();
18 } catch (_) {
19 return String(value);
20 }
21}
22
23export {formatBytes, formatDate};