Mobile: bottom tab bar (Cards · Collectibles · Agents · Settings)
CI / backend (push) Has been cancelled
CI / profile (push) Has been cancelled
CI / mobile (push) Has been cancelled
CI / policy (push) Has been cancelled

Restructure the app into an Expo Router (tabs) group with a bottom navbar:
- 🎒 Cards (bag-personal) = the gallery (moved from app/index.tsx).
- 💰 Collectibles (sack) + 🤖 Agents (robot) = new empty-state screens.
- ⚙️ Settings (cog) = demo settings (app info + Clear all cards).
Root stack hides the (tabs) header; removed the Phase-1 (tabs)/cards.tsx and
pointed the dormant (auth)/login redirect at "/". localCardsStore gains clear().

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
Omar Sobh
2026-06-05 22:57:11 -05:00
co-authored by Claude Opus 4.8
parent 4de59cca31
commit e0b6200091
9 changed files with 144 additions and 147 deletions
+27
View File
@@ -0,0 +1,27 @@
// Work-agent cards — AI agents attached to your cards. None yet; this is their
// home.
import { MaterialCommunityIcons } from "@expo/vector-icons";
import { StyleSheet, Text, View } from "react-native";
import { useSafeAreaInsets } from "react-native-safe-area-context";
export default function Agents() {
const insets = useSafeAreaInsets();
return (
<View style={[styles.root, { paddingTop: insets.top }]}>
<View style={styles.center}>
<MaterialCommunityIcons name="robot" size={48} color="#3a3a44" />
<Text style={styles.title}>No agent cards yet</Text>
<Text style={styles.hint}>
Cards backed by an AI work agent will appear here.
</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
root: { flex: 1, backgroundColor: "#0a0a0c" },
center: { flex: 1, alignItems: "center", justifyContent: "center", padding: 32, gap: 10 },
title: { color: "#f5f5f7", fontSize: 20, fontWeight: "700" },
hint: { color: "#6b6b70", fontSize: 14, textAlign: "center", lineHeight: 20 },
});