atproto pds in zig pds.zat.dev
pds atproto
24

Configure Feed

Select the types of activity you want to include in your feed.

landing: clarify activity signal

zzstoatzz (May 27, 2026, 11:32 PM -0500) 1e3b34e7 a4c9ef7d

+8 -8
+3 -3
src/http/landing/assets.zig
··· 95 95 \\.entropy-bars i { 96 96 \\ position: relative; flex: 1 1 0; min-width: 5px; height: var(--h); min-height: 6px; 97 97 \\ border-radius: 999px 999px 2px 2px; background: 98 - \\ linear-gradient(180deg, color-mix(in srgb, var(--signal-a, var(--green)) 92%, white 8%), var(--signal-b, var(--accent)) 58%, var(--signal-c, var(--pink))); 99 - \\ box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 5px 18px color-mix(in srgb, var(--signal-b, var(--accent)) 18%, transparent); 98 + \\ linear-gradient(180deg, #f5d85d 0%, #58e07d 42%, #69b7ff 72%, #f06ca8 100%); 99 + \\ box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 5px 18px rgba(105,183,255,.18); 100 100 \\ transform: translateY(var(--y)); opacity: .78; 101 101 \\ transition: opacity .16s ease, transform .16s ease, filter .16s ease; 102 102 \\} ··· 160 160 \\.collection a:hover { color: var(--accent); } 161 161 \\.collection code { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; } 162 162 \\.collection span { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; } 163 - \\.collection i { position: absolute; left: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, var(--signal-a, var(--green)), var(--signal-b, var(--accent)), var(--signal-c, var(--pink))); } 163 + \\.collection i { position: absolute; left: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #f05f8e 0%, #91adff 48%, #39c178 100%); } 164 164 \\.empty { color: var(--muted); margin: 0; } 165 165 \\.sheet { position: fixed; inset: 0; z-index: 20; display: none; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, 0.42); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } 166 166 \\.sheet.open { display: flex; }
+5 -5
src/http/landing/entropy.zig
··· 55 55 const last_label = try formatDate(allocator, activity[activity.len - 1].end_us); 56 56 const range_label = try formatRange(allocator, activity[0].start_us, activity[activity.len - 1].end_us); 57 57 try html.writer.print( 58 - \\<span class="entropy-label">{d} writes · {s}</span> 58 + \\<span class="entropy-label">{d} repo commits · {s}</span> 59 59 \\<span class="entropy-bars" aria-hidden="true"> 60 60 , .{ total_count, range_label }); 61 61 var i: usize = 0; ··· 65 65 const offset = i % 3; 66 66 const bucket_label = try formatBucketLabel(allocator, bucket); 67 67 try html.writer.print( 68 - \\<i style="--h:{d}px;--y:{d}px" title="{s}" data-label="{s}"></i> 69 - , .{ height, offset, bucket_label, bucket_label }); 68 + \\<i style="--h:{d}px;--y:{d}px" data-label="{s}"></i> 69 + , .{ height, offset, bucket_label }); 70 70 } 71 71 try html.writer.print( 72 72 \\</span> ··· 107 107 if (start.year == end.year and start.month == end.month and start.day == end.day) { 108 108 return std.fmt.allocPrint( 109 109 allocator, 110 - "{d} writes · {s} {d}, {d:0>2}:{d:0>2}-{d:0>2}:{d:0>2} UTC", 110 + "{d} commits · {s} {d}, {d:0>2}:{d:0>2}-{d:0>2}:{d:0>2} UTC", 111 111 .{ bucket.count, monthName(start.month), start.day, start.hour, start.minute, end.hour, end.minute }, 112 112 ); 113 113 } 114 114 return std.fmt.allocPrint( 115 115 allocator, 116 - "{d} writes · {s} {d}-{s} {d}", 116 + "{d} commits · {s} {d}-{s} {d}", 117 117 .{ bucket.count, monthName(start.month), start.day, monthName(end.month), end.day }, 118 118 ); 119 119 }