**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.
13 lines
2.3 KiB
JSON
13 lines
2.3 KiB
JSON
{
|
|
"type": "service_account",
|
|
"project_id": "britton86-6c1a4",
|
|
"private_key_id": "e8110c05f9145d3e0f3d426c1243110c100438d9",
|
|
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCoz+1n/0FxNKSM\nhgS0W6DpltN/QOwEUUBYu/6/aQtnC0oUrdB8ROIgxbLh4e+2RswKRnut7179adqH\nPe9uChldT3mcYStDvcrsmQp1XzrOE9hUxVHM9cwf4Pt6EfPLzGUHJCph1qW9vOVn\n+kDSwyQE0t/zBf2LMDTmQVZTuPoj79BWW+WRwH472useQGh2vcUm2kGqOR+e06c6\nW8yyCNkbVNdrgIj+rb/E2TdvUBGyuJX7A6y/vD7rzcXWxaji/L9w4Iz7+ivUVqyR\nB7sMXCNYam3cejehxzXghIcyhOCizzEkbjk0Hplm7BeG3368C04re35AtLwP93AA\nKocAXX+/AgMBAAECggEABJ9Q5liYb6Ob39cpmNCresns956M999LrkJTiuUy8Trf\nZ+qMe2KdeH1BVSsNF8YffyaH627TAIhd+fcJr88p+6KZ91y3xQ6U2F6maSlW4F6t\nvUB76WtPkA3mhOSp8soheA0W9f/dIPFjrLGvBbZfLZyikjJ3S1DiGe3vEbLOcp5q\nhINV/voDERZCSc4rY4zR2tj0SRZGe3fFrlBjlZwTWapx84PSAmujYadAXXZHe1M9\nQA92WJp+2ZBVv6Q7fF3DUZVt5ONRhVrF4lboiDOyBh6faInzy7a8Rg/DZug773jK\nHTj+ON5kmnZAX3VzV5qhzMuYa9PhfMj4HWdRP3wE8QKBgQDby7Rr3UcLbXNeAUas\nEgB6klGU0lCb0IZJ4I3x7+tK8C/JYJFolP70T3piXX7uWoKcFFlqGaxziUI7QAql\n5OMm5OSuUbP3mb/MwDeywqA2G+b6wKw7aF5yY5OavT9i+PEZnH/kmafI9fXqKMAg\nqu7qBIbIHF5T9xAHlhN5+6XGUQKBgQDEnlymYjsZxgM1gw2uKu7g6wMOju4RkscH\n4uN7Ufadiop31FQgBZZJK4ahnGODaPEPwZ1vOE8R68F+Lk63TGJA+gJdKFqLuZWg\nrGShDyP2rZ7WBNtGqwgvlJ35IV56fuU2aivlNQSMjoM35PWrGC0YjcGJpMIRjS0u\nla6IO2ORDwKBgAbjfYYb60waZBFALPzbm5Q73b6yUMBxaqQKG6jHgjJZEMZY9nW2\npb72drl6gK3rvEg0AxFmOJduZ9r/iNXmNJBVgC1Odjt+YBqEs7owi2Dmwvh87Wj3\nPm6LXGbvI3twne3Vj9SUVEPiIZDzMgJUGSTQe4DuEq7DAYebVoTuNCXhAoGAJS+6\nYDGV8fL0amuF69ns4hcwtdEsj6BOClzMH2fKF9O7Cpza6E+GNAKKbQhx/cmcRhmd\nWAqzUbVgHChP9PT6ZEWkqs/WCDUqaoAQbDG74IzHzLyQaFYyryURl6vK/aoAWgFM\nmgYj/R17Ddg86oYhCVLONuU1WzJzSCtBHjz1QNsCgYEA1gMf9o8QFhvC6nBi1KcG\nIa0GZLECV5gKvA+FjfM1N0T/ZLtxpJPmGS/goSKyddYZXLnskxP4dTHgE9BZs/ZE\n/UCRdGw7fVwuI/hL9CODgGMRpbCFYLcXtGZJeSe0+7fBi14MMrBxtmAmpT0DJuZb\n6G/pBSvSYG6USbv+qOQ/C6g=\n-----END PRIVATE KEY-----\n",
|
|
"client_email": "firebase-adminsdk-5007c@britton86-6c1a4.iam.gserviceaccount.com",
|
|
"client_id": "104197666755456354541",
|
|
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
|
"token_uri": "https://oauth2.googleapis.com/token",
|
|
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
|
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-5007c%40britton86-6c1a4.iam.gserviceaccount.com",
|
|
"universe_domain": "googleapis.com"
|
|
} |