import React, { useState } from 'react'; import { View, Text, ScrollView, Pressable, StyleSheet, SafeAreaView } from 'react-native'; const EX = [ { name: 'Barbell squat', sets: '4 ร— 8', icon: '๐Ÿฆต' }, { name: 'Bench press', sets: '4 ร— 10', icon: '๐Ÿ’ช' }, { name: 'Deadlift', sets: '3 ร— 6', icon: '๐Ÿ‹๏ธ' }, { name: 'Pull-ups', sets: '3 ร— 12', icon: '๐Ÿง—' }, { name: 'Plank', sets: '3 ร— 60s', icon: '๐Ÿง˜' }, ]; export default function App() { const [done, setDone] = useState>({}); const count = Object.values(done).filter(Boolean).length; return ( PUSH DAY ยท 48 MIN Strength A {count}/{EX.length}exercises 1,240kg lifted 320kcal {EX.map((e, i) => { const on = done[i]; return ( setDone((d) => ({ ...d, [i]: !d[i] }))} style={[s.row, on && s.rowOn]}> {e.icon} {e.name} {e.sets} {on ? โœ“ : null} ); })} ); } const s = StyleSheet.create({ safe: { flex: 1, backgroundColor: '#0E0709' }, scroll: { padding: 22, paddingTop: 60 }, kicker: { color: '#F43F5E', fontSize: 12, fontWeight: '700', letterSpacing: 2 }, h1: { color: '#fff', fontSize: 34, fontWeight: '800', marginTop: 4 }, hud: { flexDirection: 'row', backgroundColor: '#1A0E11', borderRadius: 18, padding: 18, marginVertical: 22, justifyContent: 'space-between' }, hudItem: { alignItems: 'center', flex: 1 }, hudN: { color: '#fff', fontSize: 20, fontWeight: '800' }, hudL: { color: '#A86A74', fontSize: 12, marginTop: 3 }, row: { flexDirection: 'row', alignItems: 'center', backgroundColor: '#160C0E', borderRadius: 16, padding: 16, marginBottom: 12 }, rowOn: { backgroundColor: '#2A1015' }, exIcon: { fontSize: 26, marginRight: 14 }, exName: { color: '#EDE0E2', fontSize: 17, fontWeight: '700' }, exSets: { color: '#A86A74', fontSize: 14, marginTop: 3 }, check: { width: 30, height: 30, borderRadius: 15, borderWidth: 2, borderColor: '#3A1F24', alignItems: 'center', justifyContent: 'center' }, checkOn: { backgroundColor: '#F43F5E', borderColor: '#F43F5E' }, checkM: { color: '#fff', fontWeight: '900', fontSize: 16 }, });