번역 평가 버튼 · 내 퀘스트 검토 버튼 · MY 질문 상세 · MY 완료 퀘스트 수 · 행성/성운 칸 · 라운지 빈 상태 수정

This commit is contained in:
Sn-Kinos
2026-10-05 15:12:33 +09:00
parent 5ad229b971
commit f84d696c21
18 changed files with 666 additions and 365 deletions
+13 -3
View File
@@ -5,6 +5,7 @@ import '../campaign/campaign_detail_screen.dart';
import '../campaign/widgets/campaign_list_card.dart';
import '../inside/inside_data.dart';
import '../inside/inside_detail_screen.dart';
import '../translation/translation_data.dart' show TranslationRepository;
import '../inside/inside_screen.dart' show InsideQuestionCard;
import 'widgets/my_cards.dart';
import '../../core/i18n/app_locale.dart';
@@ -38,6 +39,7 @@ class MyListsScreen extends StatefulWidget {
required this.kind,
this.campaigns,
this.insides,
this.translation,
});
final MyListKind kind;
@@ -45,6 +47,9 @@ class MyListsScreen extends StatefulWidget {
/// 내 인사이드의 원천. null 이면 표본(목 모드). 저장소 선택은 repositories.dart.
final InsideRepository? insides;
/// 내 질문 상세의 번역 원천. null 이면 번역 기능을 끈다.
final TranslationRepository? translation;
/// 내 캠페인의 원천. null 이면 표본(목 모드). 저장소 선택은 repositories.dart.
final CampaignRepository? campaigns;
@@ -119,8 +124,9 @@ class _MyListsScreenState extends State<MyListsScreen> {
Widget _insideItems(BuildContext context, List<InsideQuestion> mine) {
final items = switch (_sort) {
_MySort.pop => [...mine]
..sort((a, b) => b.bountyPop.compareTo(a.bountyPop)),
_MySort.pop => [
...mine,
]..sort((a, b) => b.bountyPop.compareTo(a.bountyPop)),
_MySort.solved => mine.where((q) => q.isSolved).toList(),
_ => mine,
};
@@ -144,7 +150,11 @@ class _MyListsScreenState extends State<MyListsScreen> {
question: items[i],
onTap: () => Navigator.of(context, rootNavigator: true).push(
MaterialPageRoute<void>(
builder: (_) => InsideDetailScreen(question: items[i]),
builder: (_) => InsideDetailScreen(
question: items[i],
repository: widget.insides,
translation: widget.translation,
),
),
),
),