- FilterBar: type chips (Monster/Spell/Trap), owned-only toggle, sort by name/most-owned - Stats bar: cards in DB, unique owned, total copies - Card detail panel: type, race, attribute, level/link stars from existing data - useMemo for filtered+sorted card list (was re-sorting every render) - Footer: refresh card list after successful full import - PrintingRow: remove broken custom memo comparator (was comparing static DB field) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@ import { createPortal } from 'react-dom';
|
||||
import { fetchDatabaseVersion, triggerFullImport } from '../../services/api';
|
||||
import './Footer.css';
|
||||
|
||||
function Footer() {
|
||||
function Footer({ onImportComplete }) {
|
||||
const [dbVersion, setDbVersion] = useState(null);
|
||||
const [importing, setImporting] = useState(false);
|
||||
const [modalMessage, setModalMessage] = useState('');
|
||||
@@ -28,6 +28,7 @@ function Footer() {
|
||||
setDbVersion(data.database_version);
|
||||
setModalMessage(result.message || 'Import completed');
|
||||
setShowModal(true);
|
||||
if (onImportComplete) await onImportComplete();
|
||||
} catch (err) {
|
||||
setModalMessage(`Import failed: ${err.message}`);
|
||||
setShowModal(true);
|
||||
|
||||
Reference in New Issue
Block a user