Skip to content

Commit 26f3d03

Browse files
committed
Made settings modal available higher.
1 parent cdfb871 commit 26f3d03

File tree

2 files changed

+16
-21
lines changed

2 files changed

+16
-21
lines changed

frontend/src/App.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
import { IonReactRouter } from "@ionic/react-router"
1717
import { discOutline, searchOutline, personOutline } from "ionicons/icons"
1818
import { CollectionPage, ProfilePage, SearchPage } from "./pages"
19+
import { Settings } from "./modal"
1920
import { createIDBPersister } from "./persister"
2021

2122
/* Core CSS required for Ionic components to work properly */
@@ -63,6 +64,7 @@ const queryClient = new QueryClient({
6364
const persister = createIDBPersister()
6465

6566
const App: React.FC = () => {
67+
const [openSettingsDialog, setOpenSettingsDialog] = useState<boolean>(false)
6668
const [updateAvailable, setUpdateAvailable] = useState<boolean>(false)
6769

6870
useEffect(() => {
@@ -85,7 +87,7 @@ const App: React.FC = () => {
8587
<CollectionPage />
8688
</Route>
8789
<Route exact path="/profile">
88-
<ProfilePage hasUpdate={updateAvailable} />
90+
<ProfilePage openSettings={setOpenSettingsDialog} />
8991
</Route>
9092
<Route path="/search">
9193
<SearchPage />
@@ -110,6 +112,12 @@ const App: React.FC = () => {
110112
</IonTabBar>
111113
</IonTabs>
112114
</IonReactRouter>
115+
<Settings
116+
open={openSettingsDialog}
117+
hasUpdate={updateAvailable}
118+
onClose={() => setOpenSettingsDialog(false)}
119+
onSave={() => setOpenSettingsDialog(false)}
120+
/>
113121
</IonApp>
114122
</PersistQueryClientProvider>
115123
)

frontend/src/pages/Profile.tsx

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useState } from "react"
21
import {
32
IonAvatar,
43
IonButton,
@@ -17,12 +16,14 @@ import { useQuery } from "@tanstack/react-query"
1716
import { cogOutline, eye, hourglass, library } from "ionicons/icons"
1817
import { FullpageInfo, FullpageLoading, StatDisplay } from "../components"
1918
import { getProfile, IProfile } from "../api"
20-
import { Settings } from "../modal"
2119
import { useAuth } from "../hooks"
2220
import "./Profile.css"
2321

24-
const ProfilePage: React.FC<{ hasUpdate: boolean }> = ({ hasUpdate }) => {
25-
const [openSettingsDialog, setOpenSettingsDialog] = useState<boolean>(false)
22+
interface Props {
23+
openSettings: React.Dispatch<React.SetStateAction<boolean>>
24+
}
25+
26+
const ProfilePage: React.FC<Props> = ({ openSettings }) => {
2627
const betaBanner = import.meta.env.VITE_BETA_BANNER
2728

2829
const [{ username, token }, saveAuth, clearAuth] = useAuth()
@@ -39,7 +40,7 @@ const ProfilePage: React.FC<{ hasUpdate: boolean }> = ({ hasUpdate }) => {
3940
<IonContent fullscreen>
4041
<IonHeader translucent>
4142
<IonToolbar>
42-
<IonButton fill="clear" size="large" slot="end" onClick={() => setOpenSettingsDialog(true)}>
43+
<IonButton fill="clear" size="large" slot="end" onClick={() => openSettings(true)}>
4344
<IonIcon icon={cogOutline}></IonIcon>
4445
</IonButton>
4546
</IonToolbar>
@@ -48,13 +49,6 @@ const ProfilePage: React.FC<{ hasUpdate: boolean }> = ({ hasUpdate }) => {
4849
text={isError ? "An error occurred when loading information." : "You are not logged in."}
4950
/>
5051
</IonContent>
51-
52-
<Settings
53-
open={openSettingsDialog}
54-
hasUpdate={hasUpdate}
55-
onClose={() => setOpenSettingsDialog(false)}
56-
onSave={() => setOpenSettingsDialog(false)}
57-
/>
5852
</IonPage>
5953
)
6054
}
@@ -75,7 +69,7 @@ const ProfilePage: React.FC<{ hasUpdate: boolean }> = ({ hasUpdate }) => {
7569
<div className="avatar-background" style={{ backgroundImage: `url(${data?.banner_url})` }}>
7670
<IonHeader translucent>
7771
<IonToolbar>
78-
<IonButton fill="clear" size="large" slot="end" onClick={() => setOpenSettingsDialog(true)}>
72+
<IonButton fill="clear" size="large" slot="end" onClick={() => openSettings(true)}>
7973
<IonIcon icon={cogOutline}></IonIcon>
8074
</IonButton>
8175
</IonToolbar>
@@ -108,13 +102,6 @@ const ProfilePage: React.FC<{ hasUpdate: boolean }> = ({ hasUpdate }) => {
108102
/>
109103
</div>
110104
</IonContent>
111-
112-
<Settings
113-
open={openSettingsDialog}
114-
hasUpdate={hasUpdate}
115-
onClose={() => setOpenSettingsDialog(false)}
116-
onSave={() => setOpenSettingsDialog(false)}
117-
/>
118105
</IonPage>
119106
)
120107
}

0 commit comments

Comments
 (0)