import { ScrollView, View, Text, TouchableOpacity, TextInput, ActivityIndicator, RefreshControl, KeyboardAvoidingView, Platform, } from "react-native"; import { SafeAreaView } from "react-native-safe-area-context"; import { MaterialIcons } from "@expo/vector-icons"; import { useClaudeUsage } from "@/hooks/useClaudeUsage"; import { UsageStat } from "@/components/UsageStat"; import { ErrorMessage } from "@/components/ErrorMessage"; export default function ClaudeTab() { const { sessionKey, pendingKey, setPendingKey, usage, status, error, saveKey, refresh, clearKey, } = useClaudeUsage(); const canSave = pendingKey.trim().startsWith("sk-ant-"); return ( } > {/* Header */} Claude.ai Usage windows {/* Configuration card */} Configuration {sessionKey ? ( Connected {sessionKey.slice(0, 10)}… Clear ) : ( Save Session Key Where to find it Chrome DevTools → Application → Cookies → claude.ai →{" "} sessionKey )} {/* Usage card */} Usage {status === "idle" && !sessionKey && ( Enter your session key to see usage windows )} {status === "loading" && ( )} {status === "error" && error && } {status === "success" && usage && ( {(usage.seven_day_sonnet || usage.seven_day_opus) && ( By Model (7-day) {usage.seven_day_sonnet && ( )} {usage.seven_day_opus && ( )} )} )} ); }