新增角色大廳(lobby)邀約與通話、附身(possession)、時鐘(clock)抽象、 時間流與睡眠負債、後日談進度、行為選擇與旁觀反應等模組,並補齊對應冒煙 測試(R~V)與單元測試;同步調整 web/mobile 對應頁面與元件。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
1.1 KiB
TypeScript
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 },
|
|
});
|