From 3323d09dda78b7300b3f625d4e51e2f58caa39aa Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 18 Apr 2026 12:50:41 +0200 Subject: [PATCH] chore: remove legacy unused src template files --- src/components/CountdownRow.js | 40 ------- src/components/TopControls.js | 70 ------------ src/screens/FocusScreen.js | 86 --------------- src/screens/HomeScreen.js | 91 --------------- src/screens/TimeUntilScreen.js | 173 ----------------------------- src/screens/TimerScreen.js | 195 --------------------------------- src/styles.js | 167 ---------------------------- src/theme.js | 31 ------ 8 files changed, 853 deletions(-) delete mode 100644 src/components/CountdownRow.js delete mode 100644 src/components/TopControls.js delete mode 100644 src/screens/FocusScreen.js delete mode 100644 src/screens/HomeScreen.js delete mode 100644 src/screens/TimeUntilScreen.js delete mode 100644 src/screens/TimerScreen.js delete mode 100644 src/styles.js delete mode 100644 src/theme.js diff --git a/src/components/CountdownRow.js b/src/components/CountdownRow.js deleted file mode 100644 index b5dcdf5..0000000 --- a/src/components/CountdownRow.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; - -function pad(n) { - return String(n).padStart(2, '0'); -} - -export default function CountdownRow({ styles, cd, accent, subText, pinkMode, numStyle, sepStyle }) { - const outline = pinkMode - ? { - borderColor: '#ff4fa3', - borderWidth: 1.5, - borderRadius: 10, - paddingHorizontal: 8, - } - : {}; - - return ( - - {cd.hours > 0 && ( - <> - - {pad(cd.hours)} - HRS - - : - - )} - - {pad(cd.minutes)} - MIN - - : - - {pad(cd.seconds)} - SEC - - - ); -} diff --git a/src/components/TopControls.js b/src/components/TopControls.js deleted file mode 100644 index 118a757..0000000 --- a/src/components/TopControls.js +++ /dev/null @@ -1,70 +0,0 @@ -import React from 'react'; -import { Platform, Text, TouchableOpacity, View } from 'react-native'; - -export default function TopControls({ - styles, - accent, - pink, - darkMode, - pinkMode, - isFullscreen, - showBackToMenu, - showFocus, - onBackToMenu, - onToggleDark, - onTogglePink, - onToggleFullscreen, - onFocus, -}) { - return ( - - {showBackToMenu && ( - - Back To Menu - - )} - - - - {darkMode ? 'Light' : 'Dark'} - - - - Pink - - - {Platform.OS === 'web' && ( - - - {isFullscreen ? 'Exit Full' : 'Fullscreen'} - - - )} - - {showFocus && ( - - Focus - - )} - - - ); -} diff --git a/src/screens/FocusScreen.js b/src/screens/FocusScreen.js deleted file mode 100644 index 8ba70ae..0000000 --- a/src/screens/FocusScreen.js +++ /dev/null @@ -1,86 +0,0 @@ -import React from 'react'; -import { StatusBar, Text, TouchableOpacity, View } from 'react-native'; -import CountdownRow from '../components/CountdownRow'; - -export default function FocusScreen({ - styles, - theme, - screen, - pinkMode, - tuIsOver, - tuCountdown, - targetTime, - timerDone, - timerHr, - timerMin, - timerSec, - onShowUI, -}) { - const pinkOutlineText = pinkMode - ? { - borderColor: theme.pink, - borderWidth: 2, - borderRadius: 12, - paddingHorizontal: 20, - paddingVertical: 8, - } - : {}; - - let focusContent = null; - - if (screen === 'timeuntil') { - focusContent = tuIsOver ? ( - - Time's Up! - - ) : tuCountdown ? ( - - - until {targetTime?.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} - - - - ) : ( - No timer set - ); - } - - if (screen === 'timer') { - focusContent = timerDone ? ( - - Done! - - ) : ( - - TIMER - - - ); - } - - return ( - - - ); -} diff --git a/src/screens/HomeScreen.js b/src/screens/HomeScreen.js deleted file mode 100644 index 91c12f8..0000000 --- a/src/screens/HomeScreen.js +++ /dev/null @@ -1,91 +0,0 @@ -import React from 'react'; -import { ScrollView, Text, TouchableOpacity, View, Image } from 'react-native'; -import TopControls from '../components/TopControls'; - -export default function HomeScreen({ - styles, - theme, - now, - pinkMode, - darkMode, - isFullscreen, - onToggleDark, - onTogglePink, - onToggleFullscreen, - onSelectTimeUntil, - onSelectTimer, -}) { - return ( - - - - - Time Until - - - {}} - onToggleDark={onToggleDark} - onTogglePink={onTogglePink} - onToggleFullscreen={onToggleFullscreen} - onFocus={() => {}} - /> - - SELECT MODE - - - Mode 1: Time Until - - Set a target clock time and count down to it - - - - - Mode 2: Timer - - Set duration in hours, minutes, and seconds - - - - - {now.toLocaleTimeString([], { - hour: '2-digit', - minute: '2-digit', - second: '2-digit', - })} - - - - ); -} diff --git a/src/screens/TimeUntilScreen.js b/src/screens/TimeUntilScreen.js deleted file mode 100644 index ed035a3..0000000 --- a/src/screens/TimeUntilScreen.js +++ /dev/null @@ -1,173 +0,0 @@ -import React from 'react'; -import { ScrollView, Text, TextInput, TouchableOpacity, View } from 'react-native'; -import CountdownRow from '../components/CountdownRow'; -import TopControls from '../components/TopControls'; - -export default function TimeUntilScreen({ - styles, - theme, - now, - darkMode, - pinkMode, - isFullscreen, - targetTime, - tuHour, - tuMinute, - tuIsOver, - tuCountdown, - onChangeHour, - onChangeMinute, - onSetTimer, - onResetTimer, - onBackToMenu, - onToggleDark, - onTogglePink, - onToggleFullscreen, - onFocus, -}) { - const isCountingDown = Boolean(tuCountdown) && !tuIsOver; - - const pinkOutlineText = pinkMode - ? { - borderColor: theme.pink, - borderWidth: 2, - borderRadius: 12, - paddingHorizontal: 20, - paddingVertical: 8, - } - : {}; - - return ( - - - - Time Until - - - - - - {!isCountingDown && ( - <> - Set target time (24h) - - - : - - - - - - Set Timer - - {targetTime && ( - - Reset - - )} - - - )} - - {isCountingDown && targetTime && ( - - - Reset - - - )} - - {tuIsOver ? ( - - - Time's Up! - - - {targetTime?.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} has been reached - - - ) : tuCountdown ? ( - - - until {targetTime?.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} - - - - ) : ( - Enter a time above to start counting down - )} - - - - {now.toLocaleTimeString([], { - hour: '2-digit', - minute: '2-digit', - second: '2-digit', - })} - - - - ); -} diff --git a/src/screens/TimerScreen.js b/src/screens/TimerScreen.js deleted file mode 100644 index 49413e4..0000000 --- a/src/screens/TimerScreen.js +++ /dev/null @@ -1,195 +0,0 @@ -import React from 'react'; -import { ScrollView, Text, TextInput, TouchableOpacity, View } from 'react-native'; -import CountdownRow from '../components/CountdownRow'; -import TopControls from '../components/TopControls'; - -export default function TimerScreen({ - styles, - theme, - now, - darkMode, - pinkMode, - isFullscreen, - timerRunning, - timerDone, - timerRemaining, - timerHInput, - timerMInput, - timerSInput, - timerHr, - timerMin, - timerSec, - onChangeH, - onChangeM, - onChangeS, - onStart, - onPause, - onResume, - onReset, - onBackToMenu, - onToggleDark, - onTogglePink, - onToggleFullscreen, - onFocus, -}) { - const timerActive = timerRunning || timerRemaining > 0 || timerDone; - const isCountingDown = timerRemaining > 0; - const pinkOutlineText = pinkMode - ? { - borderColor: theme.pink, - borderWidth: 2, - borderRadius: 12, - paddingHorizontal: 20, - paddingVertical: 8, - } - : {}; - - return ( - - - - Timer - - - - - - {!isCountingDown && !timerDone ? ( - <> - Set duration - - - - HRS - - : - - - MIN - - : - - - SEC - - - - - Start - - - ) : timerDone ? ( - - - Done! - - - New Timer - - - ) : ( - - - - - - - {timerRunning ? ( - - Pause - - ) : ( - - Resume - - )} - - - Reset - - - - )} - - - - {now.toLocaleTimeString([], { - hour: '2-digit', - minute: '2-digit', - second: '2-digit', - })} - - - - ); -} diff --git a/src/styles.js b/src/styles.js deleted file mode 100644 index 30bb1a4..0000000 --- a/src/styles.js +++ /dev/null @@ -1,167 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export function createStyles() { - return StyleSheet.create({ - root: { flex: 1 }, - scroll: { - flexGrow: 1, - alignItems: 'center', - justifyContent: 'center', - padding: 24, - paddingVertical: 48, - }, - title: { - fontSize: 44, - fontWeight: '900', - marginBottom: 20, - letterSpacing: 1, - }, - logo: { - width: 100, - height: 100, - marginBottom: 20, - borderRadius: 22, - }, - topRow: { - width: '100%', - maxWidth: 640, - alignItems: 'center', - gap: 10, - marginBottom: 20, - }, - backMenuBtn: { - paddingHorizontal: 18, - paddingVertical: 10, - borderRadius: 14, - borderWidth: 1.5, - }, - toggleRow: { - flexDirection: 'row', - flexWrap: 'wrap', - gap: 10, - justifyContent: 'center', - }, - toggleBtn: { - paddingHorizontal: 16, - paddingVertical: 8, - borderRadius: 20, - borderWidth: 1.5, - }, - toggleText: { fontSize: 14, fontWeight: '600' }, - modeSelectLabel: { - fontSize: 12, - letterSpacing: 2, - textTransform: 'uppercase', - marginBottom: 20, - }, - modeCard: { - width: '100%', - maxWidth: 440, - borderRadius: 22, - padding: 28, - borderWidth: 2, - alignItems: 'center', - marginBottom: 16, - shadowColor: '#000', - shadowOffset: { width: 0, height: 6 }, - shadowOpacity: 0.18, - shadowRadius: 14, - elevation: 7, - }, - modeTitle: { - fontSize: 26, - fontWeight: '800', - marginBottom: 8, - letterSpacing: 0.5, - }, - modeDesc: { - fontSize: 14, - textAlign: 'center', - lineHeight: 22, - }, - card: { - width: '100%', - maxWidth: 440, - borderRadius: 22, - padding: 28, - borderWidth: 1.5, - alignItems: 'center', - shadowColor: '#000', - shadowOffset: { width: 0, height: 6 }, - shadowOpacity: 0.2, - shadowRadius: 16, - elevation: 8, - }, - inputLabel: { - fontSize: 12, - letterSpacing: 1, - textTransform: 'uppercase', - marginBottom: 10, - }, - inputRow: { - flexDirection: 'row', - alignItems: 'center', - gap: 10, - marginBottom: 16, - }, - timerInputGroup: { alignItems: 'center', gap: 4 }, - inputUnit: { fontSize: 11, fontWeight: '600', letterSpacing: 1.5 }, - timeInput: { - width: 72, - height: 58, - borderRadius: 12, - borderWidth: 2, - textAlign: 'center', - fontSize: 28, - fontWeight: '800', - }, - colon: { fontSize: 34, fontWeight: '900' }, - btnRow: { - flexDirection: 'row', - gap: 12, - marginTop: 20, - alignItems: 'center', - }, - setBtn: { - paddingHorizontal: 32, - paddingVertical: 14, - borderRadius: 14, - }, - setBtnText: { color: '#fff', fontSize: 16, fontWeight: '700', letterSpacing: 0.5 }, - resetBtn: { - paddingHorizontal: 20, - paddingVertical: 13, - borderRadius: 14, - borderWidth: 1.5, - }, - resetBtnText: { fontSize: 15, fontWeight: '600' }, - overContainer: { alignItems: 'center', paddingVertical: 12, gap: 10 }, - overText: { fontSize: 52, fontWeight: '900', letterSpacing: 2 }, - overSub: { fontSize: 15 }, - countdownContainer: { alignItems: 'center', gap: 12 }, - countdownLabel: { fontSize: 13, letterSpacing: 0.5, textTransform: 'uppercase' }, - countdownRow: { flexDirection: 'row', alignItems: 'flex-start', gap: 6, justifyContent: 'center' }, - timeBlock: { alignItems: 'center', gap: 4 }, - countdownNum: { fontSize: 58, fontWeight: '800', lineHeight: 66 }, - countdownUnit: { fontSize: 11, fontWeight: '600', letterSpacing: 1.5 }, - sep: { fontSize: 50, fontWeight: '800', marginTop: 4 }, - placeholder: { fontSize: 15, textAlign: 'center', paddingVertical: 24, lineHeight: 24 }, - clock: { marginTop: 24, fontSize: 13, letterSpacing: 1.5 }, - focusRoot: { alignItems: 'center', justifyContent: 'center', paddingHorizontal: 10 }, - focusCountdown: { alignItems: 'center', gap: 16, width: '100%' }, - focusLabel: { fontSize: 16, letterSpacing: 0.5, textTransform: 'uppercase' }, - focusNum: { fontSize: 72, fontWeight: '800', lineHeight: 80 }, - focusSep: { fontSize: 56, fontWeight: '800', marginTop: 8 }, - focusOverText: { fontSize: 72 }, - focusExitBtn: { - position: 'absolute', - bottom: 40, - right: 32, - paddingHorizontal: 18, - paddingVertical: 10, - borderRadius: 20, - borderWidth: 1.5, - }, - focusExitText: { fontSize: 14, fontWeight: '600' }, - }); -} diff --git a/src/theme.js b/src/theme.js deleted file mode 100644 index 7fcc147..0000000 --- a/src/theme.js +++ /dev/null @@ -1,31 +0,0 @@ -export function getTheme(darkMode, pinkMode) { - const dark = { - bg: '#0b1020', - cardBg: '#131a2a', - text: '#e6ecff', - subText: '#93a0bf', - accent: '#5fb0ff', - border: '#24304a', - inputBg: '#0f1727', - }; - - const light = { - bg: '#f7f8fc', - cardBg: '#ffffff', - text: '#1d2433', - subText: '#5f6b85', - accent: '#1f67ff', - border: '#d5def2', - inputBg: '#eef3ff', - }; - - const base = darkMode ? dark : light; - const accent = pinkMode ? '#ff4fa3' : base.accent; - - return { - ...base, - accent, - danger: '#ef4444', - pink: '#ff4fa3', - }; -}