fa073d2c9a
refactor: add getCategoryLabel helper
...
- Import CATEGORIES from types
- Add getCategoryLabel function
- Display category label instead of id
2026-04-18 12:24:19 +07:00
44f8f57d4a
refactor: use CATEGORIES from types
...
- Import CATEGORIES from types/index
- Map category.label for display
- Use category.id for state
2026-04-18 12:24:06 +07:00
e328b656af
feat: add CATEGORIES constant
...
- Add categories array with id and label
- Use for consistent category options
2026-04-18 12:23:43 +07:00
0e0750f50b
docs: add learning materials documentation
...
- List all commits for learning path
- Explain how to use for teaching
- Document app features
2026-04-18 12:23:30 +07:00
772ff8478b
feat: simplify root layout
...
- Remove unused theme provider
- Clean up layout for app
2026-04-18 12:23:11 +07:00
add7ea82d3
feat: create Explore/StatsScreen
...
- Add monthly summary with useMemo
- Add category expenses analysis
- Display total balance overview
2026-04-18 12:22:56 +07:00
f0b2cf9f7e
feat: configure tab navigation
...
- Setup tabs with FinanceTracker theme
- Add two tabs: Keuangan and Statistik
- Custom tab bar styling
2026-04-18 12:22:38 +07:00
3da65062c8
feat: update index to use HomeScreen
...
- Import HomeScreen from screens folder
- Replace default template with app screen
2026-04-18 12:22:26 +07:00
5776407e73
feat: create HomeScreen
...
- Integrate all components together
- Use useTransactions hook
- Use calculateBalance utility
- Add loading state handling
2026-04-18 12:22:03 +07:00
8d3c4796ea
feat: add deleteTransaction function
...
- Add deleteTransaction callback to hook
- Use filter to remove by id
- Save to AsyncStorage after delete
2026-04-18 12:21:53 +07:00
2b532c7472
feat: add addTransaction function
...
- Add addTransaction callback to hook
- Use useCallback for performance
- Save to AsyncStorage on add
2026-04-18 12:21:41 +07:00
9e41d16f8a
feat: create useTransactions hook
...
- Add useState for transactions array
- Add useEffect to load from AsyncStorage
- Add loading state
2026-04-18 12:21:28 +07:00
0f9a502289
feat: create TransactionList component
...
- Display transactions with FlatList
- Add onDelete callback prop
- Show category, date, amount
- Conditional styling for income/expense
- Empty state handling
2026-04-18 12:21:17 +07:00
513e2efdbc
feat: create TransactionForm component
...
- Add useState hooks for form inputs
- Add type selector (income/expense)
- Add TextInput components
- Add category selector with ScrollView
- Add TouchableOpacity for buttons
2026-04-18 12:21:04 +07:00
f68db8c4d0
feat: create BalanceCard component
...
- Display income, expense, and total balance
- Use BalanceInfo props interface
- Conditional styling for income/expense colors
2026-04-18 12:20:51 +07:00
f8b2efa728
feat: create Header component
...
- Add Header component with title prop
- Style with primary color background
- Learn: React.FC, interface props, StyleSheet
2026-04-18 12:20:41 +07:00
d1b344df42
feat: add helper utility functions
...
- Add formatRupiah for currency formatting
- Add formatDate for date formatting
- Add calculateBalance to compute totals
- Add generateId for unique IDs
- Add getCurrentDate for timestamp
2026-04-18 12:20:18 +07:00
5de3a82e56
feat: add theme constants
...
- Add COLORS for income, expense, background, etc.
- Add FONTS for regular, small, large sizes
2026-04-18 12:20:08 +07:00
62cd085b25
feat: setup project and add types
...
- Install @react-native-async-storage/async-storage package
- Add Transaction interface
- Add BalanceInfo interface
2026-04-18 12:19:52 +07:00
51e87a4d55
Initial commit
...
Generated by create-expo-app 3.5.3.
2026-04-18 12:01:53 +07:00