diff --git a/src/App.tsx b/src/App.tsx index c009edc..5521ba5 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,91 +1 @@ -import React, { useState } from 'react'; - import DeckManager from './components/DeckManager'; - import DeckList from './components/DeckList'; - import LoginForm from './components/LoginForm'; - import Navigation from './components/Navigation'; - import Collection from './components/Collection'; - import DeckEditor from './components/DeckEditor'; - import Profile from './components/Profile'; - import CardSearch from './components/CardSearch'; - import LifeCounter from './components/LifeCounter'; - import { AuthProvider, useAuth } from './contexts/AuthContext'; - - type Page = 'home' | 'deck' | 'login' | 'collection' | 'edit-deck' | 'profile' | 'search' | 'life-counter'; - - function AppContent() { - const [currentPage, setCurrentPage] = useState('home'); - const [selectedDeckId, setSelectedDeckId] = useState(null); - const { user, loading } = useAuth(); - - if (loading) { - return ( -
-
-
- ); - } - - if (!user && currentPage !== 'login') { - return ; - } - - const handleDeckEdit = (deckId: string) => { - setSelectedDeckId(deckId); - setCurrentPage('edit-deck'); - }; - - const renderPage = () => { - switch (currentPage) { - case 'home': - return ( -
-
-

My Decks

- -
-
- ); - case 'deck': - return ; - case 'edit-deck': - return selectedDeckId ? ( - { - setSelectedDeckId(null); - setCurrentPage('home'); - }} - /> - ) : null; - case 'collection': - return ; - case 'profile': - return ; - case 'search': - return ; - case 'life-counter': - return ; - case 'login': - return ; - default: - return null; - } - }; - - return ( -
- - {renderPage()} -
- ); - } - - function App() { - return ( - - - - ); - } - - export default App; +aW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnOw0KICAgIGltcG9ydCBEZWNrTWFuYWdlciBmcm9tICcuL2NvbXBvbmVudHMvRGVja01hbmFnZXInOw0KICAgIGltcG9ydCBEZWNrTGlzdCBmcm9tICcuL2NvbXBvbmVudHMvRGVja0xpc3QnOw0KICAgIGltcG9ydCBMb2dpbkZvcm0gZnJvbSAnLi9jb21wb25lbnRzL0xvZ2luRm9ybSc7DQogICAgaW1wb3J0IE5hdmlnYXRpb24gZnJvbSAnLi9jb21wb25lbnRzL05hdmlnYXRpb24nOw0KICAgIGltcG9ydCBDb2xsZWN0aW9uIGZyb20gJy4vY29tcG9uZW50cy9Db2xsZWN0aW9uJzsNCiAgICBpbXBvcnQgRGVja0VkaXRvciBmcm9tICcuL2NvbXBvbmVudHMvRGVja0VkaXRvcic7DQogICAgaW1wb3J0IFByb2ZpbGUgZnJvbSAnLi9jb21wb25lbnRzL1Byb2ZpbGUnOw0KICAgIGltcG9ydCBDYXJkU2VhcmNoIGZyb20gJy4vY29tcG9uZW50cy9DYXJkU2VhcmNoJzsNCiAgICBpbXBvcnQgTGlmZUNvdW50ZXIgZnJvbSAnLi9jb21wb25lbnRzL0xpZmVDb3VudGVyJzsNCiAgICBpbXBvcnQgeyBBdXRoUHJvdmlkZXIsIHVzZUF1dGggfSBmcm9tICcuL2NvbnRleHRzL0F1dGhDb250ZXh0JzsNCg0KICAgIHR5cGUgUGFnZSA9ICdob21lJyB8ICdkZWNrJyB8ICdsb2dpbicgfCAnY29sbGVjdGlvbicgfCAnZWRpdC1kZWNrJyB8ICdwcm9maWxlJyB8ICdzZWFyY2gnIHwgJ2xpZmUtY291bnRlcic7DQoNCiAgICBmdW5jdGlvbiBBcHB وبعدتC29udGVudCgpIHsNCiAgICAgIGNvbnN0IFtjYWxsYmFja1BhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlPFBhZ2U+KCdob21lJyk7DQogICAgICBjb25zdCBbc2VsZWN0ZWREZWNrSWQsIHNldFNlbGVjdGVkRGVja0lkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpOw0KICAgICAgY29uc3QgeyB1c2VyLCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7DQoNCiAgICAgIGlmIChsb2FkaW5nKSB7DQogICAgICAgIHJldHVybiAoDQogICAgICAgICAgPGRpdiBjbGFzc05hbWU9Im1pbi1oLXNjcmVlbiBiZy1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iYW5pbWF0ZS1zcGlu rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500">