import React, { useEffect, useState } from 'react'; import { View, Text, TextInput, TouchableOpacity, StyleSheet, } from 'react-native'; import { useTheme } from '../services/ThemeContext'; import ModalShell from './ModalShell'; const RenameMediaModal = ({ visible, initialName, onClose, onSave, saving }) => { const { theme } = useTheme(); const [name, setName] = useState(initialName || ''); useEffect(() => { if (visible) setName(initialName || ''); }, [visible, initialName]); const submit = () => { const trimmed = (name || '').trim(); if (!trimmed || saving) return; onSave?.(trimmed); }; return ( Rename media This updates the name shown in your library and keeps it after refresh. Cancel {saving ? 'Saving…' : 'Save'} ); }; const styles = StyleSheet.create({ title: { fontSize: 18, fontWeight: '700', marginBottom: 4 }, hint: { fontSize: 13, marginBottom: 12 }, input: { borderWidth: 1, borderRadius: 10, paddingHorizontal: 12, paddingVertical: 10, fontSize: 15, marginBottom: 14, }, row: { flexDirection: 'row', gap: 10, justifyContent: 'flex-end' }, secondary: { borderWidth: 1, borderRadius: 10, paddingHorizontal: 14, paddingVertical: 10, }, primary: { borderRadius: 10, paddingHorizontal: 16, paddingVertical: 10, }, primaryText: { color: '#fff', fontWeight: '700' }, }); export default RenameMediaModal;