Files
Kokorone/apps/mobile/app/(tabs)/index.tsx
T
jiantw83andClaude Sonnet 5 1bea06e3cd feat(遊戲化): 新增大廳、附身、時間流、後日談進度等遊戲化系統功能
新增角色大廳(lobby)邀約與通話、附身(possession)、時鐘(clock)抽象、
時間流與睡眠負債、後日談進度、行為選擇與旁觀反應等模組,並補齊對應冒煙
測試(R~V)與單元測試;同步調整 web/mobile 對應頁面與元件。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 09:10:26 +08:00

31 lines
1.1 KiB
TypeScript

import { useCallback } from "react";
import { ScrollView, StyleSheet } from "react-native";
import { useFocusEffect } from "expo-router";
import { LobbyPreview } from "../../components/LobbyPreview";
import { useUnread } from "../../lib/unread-context";
// T20-P2:聊天分頁改為大廳優先——取代舊版寫死單一角色的 1:1 聊天畫面(該畫面併入 T38 的 SOLO
// 房後,固定角色的假設已不成立:使用者現在透過大廳喊人,答應者可能是任何角色)。實際對話畫面
// 移到 app/room/[roomId].tsx,由本畫面的房間清單/大廳呼叫導向。
export default function LobbyScreen() {
const { markRead } = useUnread();
// Q-4:使用者切回本分頁即視為已讀推播提示(各房未讀數則由 LobbyPreview 每次刷新時各自更新)。
useFocusEffect(
useCallback(() => {
markRead();
}, [markRead]),
);
return (
<ScrollView style={styles.flex} contentContainerStyle={styles.content}>
<LobbyPreview />
</ScrollView>
);
}
const styles = StyleSheet.create({
flex: { flex: 1, backgroundColor: "#FFF5F7" },
content: { paddingBottom: 24 },
});