sojorn/sojorn_app/lib/services/feed_navigation_service.dart
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

59 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import '../models/post.dart';
import '../screens/post/threaded_conversation_screen.dart';
/// Navigation service for opening different feeds based on post type
class FeedNavigationService {
static void openQuipsFeed(BuildContext context, Post post) {
// Navigate to Quips feed with the specific video
Navigator.of(context, rootNavigator: true).push(
MaterialPageRoute(
builder: (context) => QuipsFeedScreen(
initialPostId: post.id,
initialVideoUrl: post.videoUrl,
),
),
);
}
static void openThreadedConversation(BuildContext context, String postId) {
// Navigate to threaded conversation for regular posts
Navigator.of(context, rootNavigator: true).push(
MaterialPageRoute(
builder: (context) => ThreadedConversationScreen(
rootPostId: postId,
),
),
);
}
}
/// Placeholder for QuipsFeedScreen (would be implemented separately)
class QuipsFeedScreen extends StatelessWidget {
final String? initialPostId;
final String? initialVideoUrl;
const QuipsFeedScreen({
super.key,
this.initialPostId,
this.initialVideoUrl,
});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.black,
title: const Text('Quips'),
),
body: Center(
child: Text(
'Quips Feed\n(Initial Post: $initialPostId)',
style: const TextStyle(color: Colors.white),
),
),
);
}
}