alpha
Login
or
Join now
zephyra.zone
/
grain
Star
1
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
grain.social is a photo sharing platform built on atproto.
Star
1
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
grain
/
server
/
hydrate
/
at
main
3 files
Chad Miller
feat: add owner-only gallery edit page
7w ago
b5a1f49b
comments.ts
feat: add owner-only gallery edit page Adds a full edit UI at /profile/[did]/gallery/[rkey]/edit, accessible via the overflow menu on gallery cards for the owner account. Supports editing title, description, location, and labels; replacing, adding, removing, and reordering photos using the same canvas resize pipeline as the create flow; and per-photo alt text. Also populates the galleryState field (item URI and position) on photoViews in the hydration layer so the edit page can update and delete gallery.item records without extra fetches. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 month ago
galleries.ts
feat: add owner-only gallery edit page Adds a full edit UI at /profile/[did]/gallery/[rkey]/edit, accessible via the overflow menu on gallery cards for the owner account. Supports editing title, description, location, and labels; replacing, adding, removing, and reordering photos using the same canvas resize pipeline as the create flow; and per-photo alt text. Also populates the galleryState field (item URI and position) on photoViews in the hydration layer so the edit page can update and delete gallery.item records without extra fetches. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 month ago
stories.ts
feat: server-computed locationDisplay on gallery and story views Adds a formatted locationDisplay string to galleryView and storyView so clients render one field instead of re-implementing dedup and formatting logic per platform. Handles POI names ("Blue Bottle Coffee, Oakland, California, US"), Nominatim city fallbacks ("New York, US"), county-in- name leakage from older clients ("Kansas City, Missouri, US"), and legacy hthree records without structured address (preserved as-is). - lexicons: add locationDisplay to gallery and story view defs - server/helpers/formatLocation.ts: canonical implementation - test/formatLocation.test.ts: 11 vitest cases across real-world shapes - server/hydrate: include locationDisplay in hydrated views - app/lib/utils/formatLocation.ts: re-export so $lib consumers don't reach into server/ - app/lib/utils/bsky-post.ts: use shared helper for cross-post line - UI components: render locationDisplay ?? location.name ?? fallback Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 months ago