Commit graph

20 commits

Author SHA1 Message Date
Patrick Britton 2dd1fe3ac2 fix: downgrade share_plus to v10.1.4 due to Android build errors with v12 2026-02-09 16:10:41 -06:00
Patrick Britton d43cf2de06 chore: update share_plus ^12.0.1, replace discontinued flutter_markdown with flutter_markdown_plus 2026-02-09 12:23:07 -06:00
Patrick Britton e9e140df5e feat: link preview system - OG tag fetching, safe URL validation, full-width thumbnail card 2026-02-08 13:27:13 -06:00
Patrick Britton b51c9ba90b feat: email notifications for deactivate/delete, typed confirmations, chat backup manager, provider invalidation on logout 2026-02-07 23:39:51 -06:00
Patrick Britton 46566f394b Clean up: fix run scripts, remove 190+ debug print statements from 22 files, keep only FCM debugPrints for active notification work 2026-02-06 14:13:03 -06:00
Patrick Britton 0954c1e2a3 feat: add Turnstile to login, improve email templates, and security cleanup
- Add Cloudflare Turnstile verification to login flow
- Add API_BASE_URL and APP_BASE_URL to config for environment flexibility
- Redesign verification and password reset emails with modern HTML templates
- Use config URLs instead of hardcoded domains in auth handlers
- Remove sensitive logging from OTK operations for security
- Delete unused deployment and draft inspection scripts
- Add TURNSTILE_SITE_KEY to Flutter run
2026-02-06 08:51:34 -06:00
Patrick Britton 0f6a91e319 feat: implement traditional threaded quips (comments) sheet with rich text post body and expand functionality. 2026-02-04 18:44:20 -06:00
Patrick Britton 92d8920183 Fix 413 Request Entity Too Large and refine image display aesthetics 2026-02-04 13:32:46 -06:00
Patrick Britton f77bd72c57 feat: Implement comprehensive reaction display widget, add numerous new screens, services, models, documentation, and configuration files. 2026-02-04 10:57:00 -06:00
Patrick Britton 002f960142 Update terminology, fix search feed, and deploy updates 2026-02-03 21:44:08 -06:00
Patrick Britton 10ae2944d2 feat: Initialize Sojorn Flutter application with core UI, services, E2EE, backup, and build scripts for various platforms. 2026-02-03 17:13:28 -06:00
Patrick Britton a1d47f8e95 Add reaction system and security improvements 2026-02-01 16:06:12 -06:00
Patrick Britton a6c7834b3b Remove old ReactionStrip to avoid duplication
- Remove old ReactionStrip component from PostActions
- Remove unused top reactions calculation
- Remove ReactionStrip import
- Keep only SmartReactionButton for clean interface
- Eliminate redundant reaction display
- Simplify action row layout
2026-02-01 14:22:35 -06:00
Patrick Britton 94ffb419ae Replace appreciate button with smart reaction button
- Remove appreciate button functionality (redundant with reactions)
- Create SmartReactionButton that shows:
  - Plus icon when no reactions exist
  - Top reaction + count when reactions exist
  - User's reaction + count when user has reacted
- Update ReactionPicker to show existing reactions first with counts
- Add visual indicators for selected reactions and counts
- Maintain full reaction functionality in single button
- Improve UX by consolidating reaction interactions
2026-02-01 14:16:20 -06:00
Patrick Britton 6cb19b056d Add reaction picker for selecting emoji reactions
- Create ReactionPicker component with 24 common emoji options
- Show emoji grid in dialog with proper styling
- Update PostActions to show picker instead of default heart
- Add _showReactionPicker method with showDialog
- Update ReactionStrip onAdd callback to use picker
- Maintain full reaction functionality with user choice
- Add proper styling with borders and shadows to picker
2026-02-01 14:07:39 -06:00
Patrick Britton fb9748c795 Update reaction strip to show only top 3 reactions with full functionality
- Add logic to sort reactions by count and take top 3
- Maintain full ReactionStrip functionality (toggle, add, tooltips)
- Only limit display to top 3 most popular reactions
- Keep all reaction state management and API calls
- Preserve visual design and interactions
- Add button still available for adding new reactions
2026-02-01 14:01:54 -06:00
Patrick Britton 6741c193e1 Copy threaded conversation card design to regular post cards
- Update PostActions to include reactions with full state management
- Add reaction toggle functionality with optimistic updates
- Redesign PostActions layout to match threaded conversation:
  - Reactions section at top (full width)
  - Left-aligned action buttons (Reply, Like, Save, Share)
  - Reply button as expanded ElevatedButton
  - Icon buttons with background styling
- Update sojorn_post_card design:
  - Add card container with border and shadow
  - Remove chain context display
  - Remove reply boxes
  - Match threaded conversation visual style
- Add proper reaction state seeding and sync
- Import Google Fonts and ReactionStrip
2026-02-01 13:58:01 -06:00
Patrick Britton b76154be3a Fix UUID casting issues in post, notification, and category repositories
- Replace NULLIF with CASE WHEN for proper UUID casting
- Fix missing ::uuid casting in WHERE clauses
- Resolve 'operator does not exist: uuid = text' errors
- Focus on post_repository.go, notification_repository.go, and category_repository.go
2026-01-31 13:55:59 -06:00
Patrick Britton b9351b76ae Reframe Sojorn as Friends-First Social Network
## Remove All 'Calm' References & Reframe Platform Identity

###  Documentation Updates
- **Deleted**: CALM_UX_GUIDE.md (outdated philosophy document)
- **Updated**: All documentation to remove 'calm' terminology
- **Reframed**: Platform as 'friends-first' instead of 'calm'

###  Design System Changes
- Replace 'calm & elegant' with 'warm & welcoming'
- Update theme descriptions to focus on friendliness
- Change 'calm velocity' to 'authentic engagement'
- Update UI microcopy for friendly tone

###  Content Updates
- Philosophy documents reframe for social connection focus
- Design guides emphasize warmth over calmness
- API documentation updated for new terminology
- User-facing text changed to friendly language

###  Key Terminology Changes
- 'Calm design'  'Warm, welcoming design'
- 'Calm velocity'  'Authentic engagement'
- 'Calm UI'  'Friendly UI'
- 'Structural calm'  'Structural friendliness'
- 'Calm platform'  'Friends-first platform'

###  Platform Focus Shift
- From: Text-based calm platform
- To: Friends-first social network prioritizing genuine connections
- Emphasis on social connection over mindfulness
- Focus on warmth and friendliness in design

###  Files Modified
- 15+ documentation files updated
- Flutter app UI text updated
- Design system rebranded
- Philosophy documents reframed
- API documentation updated

The platform is now positioned as a warm, welcoming social network that prioritizes genuine human connections over calm minimalism.
2026-01-30 09:49:36 -06:00
Patrick Britton 3c4680bdd7 Initial commit: Complete threaded conversation system with inline replies
**Major Features Added:**
- **Inline Reply System**: Replace compose screen with inline reply boxes
- **Thread Navigation**: Parent/child navigation with jump functionality
- **Chain Flow UI**: Reply counts, expand/collapse animations, visual hierarchy
- **Enhanced Animations**: Smooth transitions, hover effects, micro-interactions

 **Frontend Changes:**
- **ThreadedCommentWidget**: Complete rewrite with animations and navigation
- **ThreadNode Model**: Added parent references and descendant counting
- **ThreadedConversationScreen**: Integrated navigation handlers
- **PostDetailScreen**: Replaced with threaded conversation view
- **ComposeScreen**: Added reply indicators and context
- **PostActions**: Fixed visibility checks for chain buttons

 **Backend Changes:**
- **API Route**: Added /posts/:id/thread endpoint
- **Post Repository**: Include allow_chain and visibility fields in feed
- **Thread Handler**: Support for fetching post chains

 **UI/UX Improvements:**
- **Reply Context**: Clear indication when replying to specific posts
- **Character Counting**: 500 character limit with live counter
- **Visual Hierarchy**: Depth-based indentation and styling
- **Smooth Animations**: SizeTransition, FadeTransition, hover states
- **Chain Navigation**: Parent/child buttons with visual feedback

 **Technical Enhancements:**
- **Animation Controllers**: Proper lifecycle management
- **State Management**: Clean separation of concerns
- **Navigation Callbacks**: Reusable navigation system
- **Error Handling**: Graceful fallbacks and user feedback

This creates a Reddit-style threaded conversation experience with smooth
animations, inline replies, and intuitive navigation between posts in a chain.
2026-01-30 07:40:19 -06:00