Grain#
The next version of Grain, a photo sharing app built on the AT Protocol.
Development#
npm install
npm run dev
Build#
npm run build
npm run preview
https://tangled.org/grain.social/grain-pwa
git@tangled.org:grain.social/grain-pwa
For self-hosted knots, clone URLs may differ based on your setup.
- Subscribe grain-profile to cache updates for reactive UI
- Only update cache if it exists (preserves galleries)
- Handle avatar URL correctly based on change type
- Add defensive check for missing galleries
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Integrate grain-avatar-crop component into edit profile page for
consistent avatar selection experience across the app.
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add ability to change avatar directly from profile page when viewing
own profile. Includes custom crop component with drag-to-position,
zoom slider, pinch-to-zoom, and keyboard accessibility.
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>