Patrick Britton
d3feaf98d8
Fix build errors: add basicBlack token, fix const contexts, fix missing import and non-existent token references
2026-02-10 15:47:08 -06:00
Patrick Britton
aa2b5d3447
Replace Colors.* in remaining files: intel_cards, quip_metadata, auth screens, admin screens, discover, search, profile, settings, utils, services, app_theme
2026-02-10 15:38:23 -06:00
Patrick Britton
248a32eb87
Replace Colors.* in admin_scaffold, admin_content_tools, secure_chat_screen, new_conversation_sheet, notifications_screen, viewable_profile
2026-02-10 15:30:22 -06:00
Patrick Britton
3aa0f5e93a
Replace Colors.* in profile_settings dialogs, beacon.dart model, resources_sheet, beacon_screen remaining
2026-02-10 15:27:03 -06:00
Patrick Britton
52dfa0c653
Replace inline Colors.* with SojornColors tokens in profile_settings_screen.dart (56 replacements)
2026-02-10 14:23:23 -06:00
Patrick Britton
257acb0e51
refactor: unify post widgets, profile screens, and tree-shake dead code
...
Phase 1 - Post Widget Unification:
- Added PostViewMode.thread for compact thread styling
- Updated SojornPostCard, PostBody, PostLinkPreview, PostMedia for thread mode
- Migrated feed_personal_screen, profile_screen, viewable_profile_screen to sojornPostCard
- Deleted deprecated: post_card.dart, post_item.dart, reading_post_card.dart
Phase 2 - Profile Screen Unification:
- Renamed ViewableProfileScreen to UnifiedProfileScreen
- Made handle optional (null = own profile mode)
- Added auth listener, auto-create profile, avatar actions for own profile
- Added connections navigation to stats for own profile
- Updated all routes and references across codebase
- Deleted old profile_screen.dart
Phase 3 - Tree Shaking:
- Deleted 9 orphan files: compose_and_chat_fab, sojorn_top_bar, sojorn_app_bar,
sojorn_dialog, sojorn_card, glassmorphic_quips_sheet, kinetic_thread_widget,
reaction_strip, smart_reaction_button
2026-02-09 17:55:39 -06:00
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
e03442f789
fix: reset focus after compose pop to prevent web freeze, show snackbar before pop, skip animation replay on thread reload
2026-02-08 14:48:44 -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
bc35eea69b
feat: add NSFW self-labeling toggle in compose, blur setting in user preferences, improve signup date pickers with modal sheets
...
- Add `isNsfw` checkbox to compose screen for user self-labeling
- Add `nsfwBlurEnabled` setting to UserSettings model (default true)
- Replace signup month/year dropdowns with modal bottom sheet pickers
- Preload Noto Color Emoji font on app startup
- Refactor notifications/discover screens to use FullScreenShell component
2026-02-07 18:15:54 -06:00
Patrick Britton
f48274706a
fix: cast birthYear subtraction to int to fix build error
2026-02-07 12:07:04 -06:00
Patrick Britton
ecc02e10cc
feat: implement account deactivation, deletion (14-day), and immediate destroy with email confirmation
2026-02-07 11:13:11 -06:00
Patrick Britton
b10595f252
Age gating: birth month/year in registration, under-16 login block, under-18 NSFW block
2026-02-06 20:56:00 -06:00
Patrick Britton
256592379a
NSFW content system: blur overlay, user toggle, AI tri-state (clean/nsfw/flag), feed filtering
2026-02-06 20:42:23 -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
69358b016f
Fix compilation errors in followers/following and privacy screens
...
- Fix FollowersFollowingScreen: correct imports, AppTheme references, SignedMediaImage param
- Fix profile_screen.dart: move _navigateToConnections to _ProfileScreenState, pass callback to _ProfileHeader
- Fix profile_settings_screen.dart: update property names (isPrivate, defaultVisibility)
2026-02-04 17:21:08 -06:00
Patrick Britton
adeffe691e
Add followers/following screen and comprehensive privacy settings
...
Features:
- Create FollowersFollowingScreen with tabs for followers/following lists
- Make follower/following counts tappable on profile to navigate to connections
- Create comprehensive PrivacySettingsScreen with sections for:
- Account privacy (private account toggle)
- Post visibility defaults
- Interaction controls (who can message/comment)
- Discovery settings (search visibility)
- Circle (close friends) management placeholder
- Data export and blocked users
- Update ProfilePrivacySettings model with additional fields
- Connect to new backend API endpoints
2026-02-04 16:46:20 -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
558272c9a2
Fix reaction UI updates - prioritize local state over post model
...
Change _reactionCountsFor and _myReactionsFor to prefer local state for immediate UI updates after toggle reactions, falling back to post model data when no local state exists.
2026-02-01 13:08:08 -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