From eadec2a2e45d9c3ed9bd33f85b232ec5adbf4e89 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 16 Jan 2024 22:59:46 -0800 Subject: [PATCH] consolidated AccountModal context into session context/provider, etc. --- packages/fakeyou.com/src/App.tsx | 2 +- .../components/providers/Session/Session.tsx | 16 ------ .../src/components/providers/Session/index.ts | 1 - .../SessionProvider/SessionProvider.tsx | 52 +++++++++++++++++++ .../providers/SessionProvider/index.ts | 1 + .../src/components/providers/index.ts | 4 +- .../src/context/SessionContext.tsx | 32 ++++++++++-- packages/fakeyou.com/src/hooks/index.tsx | 2 - .../hooks/useBatchContent/useBatchContent.tsx | 7 ++- .../src/hooks/useChanger/useChanger.tsx | 7 --- .../src/hooks/useLoginModal/index.ts | 1 - .../src/hooks/useLoginModal/useLoginModal.tsx | 8 --- .../src/hooks/useSession/useSession.tsx | 19 +++---- .../fakeyou.com/src/v2/view/PageContainer.tsx | 3 -- 14 files changed, 96 insertions(+), 59 deletions(-) delete mode 100644 packages/fakeyou.com/src/components/providers/Session/Session.tsx delete mode 100644 packages/fakeyou.com/src/components/providers/Session/index.ts create mode 100644 packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx create mode 100644 packages/fakeyou.com/src/components/providers/SessionProvider/index.ts delete mode 100644 packages/fakeyou.com/src/hooks/useLoginModal/index.ts delete mode 100644 packages/fakeyou.com/src/hooks/useLoginModal/useLoginModal.tsx diff --git a/packages/fakeyou.com/src/App.tsx b/packages/fakeyou.com/src/App.tsx index 532d5c733f..f3f71fa77f 100644 --- a/packages/fakeyou.com/src/App.tsx +++ b/packages/fakeyou.com/src/App.tsx @@ -62,7 +62,7 @@ import HttpBackend from "i18next-http-backend"; import { InferenceJobs, - Session as SessionProvider, + SessionProvider, } from "components/providers"; // NB: We're transitioning over to this instance of i18n-next that loads translations over HTTP from Json Files. diff --git a/packages/fakeyou.com/src/components/providers/Session/Session.tsx b/packages/fakeyou.com/src/components/providers/Session/Session.tsx deleted file mode 100644 index 82cb03a39a..0000000000 --- a/packages/fakeyou.com/src/components/providers/Session/Session.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { SessionContext } from 'context'; - -interface Props { - children?: any; - querySession: any; - querySubscriptions: any; - sessionFetched: boolean; - sessionWrapper?: any; -} - -export default function Session({ children, querySession, querySubscriptions, sessionFetched, sessionWrapper }: Props) { - return - { children } - -}; \ No newline at end of file diff --git a/packages/fakeyou.com/src/components/providers/Session/index.ts b/packages/fakeyou.com/src/components/providers/Session/index.ts deleted file mode 100644 index 69cdd4d58f..0000000000 --- a/packages/fakeyou.com/src/components/providers/Session/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Session'; \ No newline at end of file diff --git a/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx b/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx new file mode 100644 index 0000000000..7c976d1b87 --- /dev/null +++ b/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx @@ -0,0 +1,52 @@ +import React, { useState } from "react"; +import { SessionContext } from "context"; +import { Modal } from "components/common"; +import AccountModal from "components/layout/AccountModal"; +import { ModalView } from "context/SessionContext"; + +interface Props { + children?: any; + querySession: any; + querySubscriptions: any; + sessionFetched: boolean; + sessionWrapper?: any; +} + +export default function SessionProvider({ children, querySession, querySubscriptions, sessionFetched, sessionWrapper }: Props) { + const { logged_in: loggedIn, user } = sessionWrapper?.sessionStateResponse || { logged_in: false }; + const [view,viewSet] = useState(ModalView.Closed); + const open = () => viewSet(ModalView.Signup); + const close = () => { viewSet(ModalView.Closed); console.log("🍏",);}; + const viewSwitch = () => view === ModalView.Signup ? viewSet(ModalView.Login) : viewSet(ModalView.Signup); + const check = () => { + if (user) { + return true; + } else { + open(); + return false; + } + }; + + return + { children } + { + 0, + showButtons: false, + // title: "You need to login", + }}/> + } + +}; \ No newline at end of file diff --git a/packages/fakeyou.com/src/components/providers/SessionProvider/index.ts b/packages/fakeyou.com/src/components/providers/SessionProvider/index.ts new file mode 100644 index 0000000000..7ab33c4374 --- /dev/null +++ b/packages/fakeyou.com/src/components/providers/SessionProvider/index.ts @@ -0,0 +1 @@ +export { default } from "./SessionProvider"; \ No newline at end of file diff --git a/packages/fakeyou.com/src/components/providers/index.ts b/packages/fakeyou.com/src/components/providers/index.ts index 6d69b229f3..96d1a54039 100644 --- a/packages/fakeyou.com/src/components/providers/index.ts +++ b/packages/fakeyou.com/src/components/providers/index.ts @@ -1,5 +1,5 @@ import AccountModalProvider from "./AccountModalProvider"; import InferenceJobs from "./InferenceJobs"; -import Session from "./Session"; +import SessionProvider from "./SessionProvider"; -export { AccountModalProvider, InferenceJobs, Session }; \ No newline at end of file +export { AccountModalProvider, InferenceJobs, SessionProvider }; \ No newline at end of file diff --git a/packages/fakeyou.com/src/context/SessionContext.tsx b/packages/fakeyou.com/src/context/SessionContext.tsx index 8f2db81151..da5ec3ec40 100644 --- a/packages/fakeyou.com/src/context/SessionContext.tsx +++ b/packages/fakeyou.com/src/context/SessionContext.tsx @@ -1,12 +1,34 @@ import { createContext } from "react"; +export enum ModalView { + Closed, + Signup, + Login +} + +interface ModalProps { + close: () => void, + open: () => void, + view: ModalView +} + interface SessionContextType { - querySession?: any, - querySubscriptions?: any, - sessionFetched: boolean, - sessionWrapper?: any + check: () => boolean, + loggedIn: boolean, + modal: ModalProps, + querySession?: any, + querySubscriptions?: any, + sessionFetched: boolean, + user?: any } export default createContext({ - sessionFetched: false + check: () => false, + loggedIn: false, + sessionFetched: false, + modal: { + close: () => {}, + open: () => {}, + view: ModalView.Closed, + } }); \ No newline at end of file diff --git a/packages/fakeyou.com/src/hooks/index.tsx b/packages/fakeyou.com/src/hooks/index.tsx index 45d68b5e6a..bdccde3deb 100644 --- a/packages/fakeyou.com/src/hooks/index.tsx +++ b/packages/fakeyou.com/src/hooks/index.tsx @@ -11,7 +11,6 @@ import useInterval from './useInterval'; import useLazyLists from './useLazyLists'; import useListContent from './useListContent'; import useLocalize from './useLocalize'; -import useLoginModal from "./useLoginModal"; import useMedia from './useMedia'; import useRatings from './useRatings'; import useSdUpload from './useSdUpload'; @@ -33,7 +32,6 @@ export { useLazyLists, useListContent, useLocalize, - useLoginModal, useMedia, useRatings, useSdUpload, diff --git a/packages/fakeyou.com/src/hooks/useBatchContent/useBatchContent.tsx b/packages/fakeyou.com/src/hooks/useBatchContent/useBatchContent.tsx index e5652f26b5..f5b781e0e9 100644 --- a/packages/fakeyou.com/src/hooks/useBatchContent/useBatchContent.tsx +++ b/packages/fakeyou.com/src/hooks/useBatchContent/useBatchContent.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; import { FetchStatus } from "@storyteller/components/src/api/_common/SharedFetchTypes"; -import { useLoginModal, useSession } from "hooks"; +import { useSession } from "hooks"; interface Props { checker: any, @@ -32,8 +32,7 @@ export default function useBatchContent({ resultsKey, toggleCheck }: Props) { - const { user } = useSession(); - const login = useLoginModal(); + const session = useSession(); const [library, librarySet] = useState({}); const [busyList, busyListSet] = useState({}); const [status, statusSet] = useState(FetchStatus.ready); @@ -73,7 +72,7 @@ export default function useBatchContent({ }); const toggle = (entity_token: string, entity_type: string) => { - if (login.sessionCheck()) { + if (session.check()) { let inLibrary = library[entity_token]; statusSet(FetchStatus.in_progress); busyAdd(entity_token); diff --git a/packages/fakeyou.com/src/hooks/useChanger/useChanger.tsx b/packages/fakeyou.com/src/hooks/useChanger/useChanger.tsx index 826031484e..7dcdd62d74 100644 --- a/packages/fakeyou.com/src/hooks/useChanger/useChanger.tsx +++ b/packages/fakeyou.com/src/hooks/useChanger/useChanger.tsx @@ -1,12 +1,6 @@ import { useState } from "react"; import { InputValidation, InputStateLibrary, ValidatorCallbacks } from "common/InputValidation"; -// interface Props { -// errorStrings: { [key:string]: { [error:string]: string } }, -// state: { [key:string]: any }, -// validators: { [key: string]: (value:any) => any } -// } - interface InputInput { errorText?: { [key: string]: string }, validator?: (value: ValidatorCallbacks) => ValidatorOutput, @@ -49,7 +43,6 @@ export default function useChanger(input: Props) { const config = input[name]; const current = state[name]; if (config && current) { - console.log("🍇",config.errorText,current); return { name, value: current.value, diff --git a/packages/fakeyou.com/src/hooks/useLoginModal/index.ts b/packages/fakeyou.com/src/hooks/useLoginModal/index.ts deleted file mode 100644 index a1dcfee511..0000000000 --- a/packages/fakeyou.com/src/hooks/useLoginModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./useLoginModal"; \ No newline at end of file diff --git a/packages/fakeyou.com/src/hooks/useLoginModal/useLoginModal.tsx b/packages/fakeyou.com/src/hooks/useLoginModal/useLoginModal.tsx deleted file mode 100644 index 86141a5155..0000000000 --- a/packages/fakeyou.com/src/hooks/useLoginModal/useLoginModal.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { useContext } from "react"; -import { AccountModalContext } from "context"; - -export default function useLoginModal() { - const login = useContext(AccountModalContext) - - return login; -}; \ No newline at end of file diff --git a/packages/fakeyou.com/src/hooks/useSession/useSession.tsx b/packages/fakeyou.com/src/hooks/useSession/useSession.tsx index 6ea4e554ce..a0ea91aa67 100644 --- a/packages/fakeyou.com/src/hooks/useSession/useSession.tsx +++ b/packages/fakeyou.com/src/hooks/useSession/useSession.tsx @@ -2,14 +2,15 @@ import { useContext } from 'react'; import { SessionContext } from 'context'; export default function useInferenceJobs() { - const { querySession, querySubscriptions, sessionFetched, sessionWrapper } = useContext(SessionContext); - const { logged_in: loggedIn, user } = sessionWrapper?.sessionStateResponse || { logged_in: false }; + return useContext(SessionContext); + // const { querySession, querySubscriptions, sessionFetched, sessionWrapper } = useContext(SessionContext); + // const { logged_in: loggedIn, user } = sessionWrapper?.sessionStateResponse || { logged_in: false }; - return { - loggedIn, - querySession, - querySubscriptions, - sessionFetched, - user - }; + // return { + // loggedIn, + // querySession, + // querySubscriptions, + // sessionFetched, + // user + // }; }; \ No newline at end of file diff --git a/packages/fakeyou.com/src/v2/view/PageContainer.tsx b/packages/fakeyou.com/src/v2/view/PageContainer.tsx index 22d737512d..4b324ecc40 100644 --- a/packages/fakeyou.com/src/v2/view/PageContainer.tsx +++ b/packages/fakeyou.com/src/v2/view/PageContainer.tsx @@ -102,7 +102,6 @@ import WeightPage from "./pages/weight/WeightPage"; import ExplorePage from "./pages/explore/ExplorePage"; import SearchPage from "./search/SearchPage"; import { SearchProvider } from "context/SearchContext"; -import { AccountModalProvider } from "components/providers"; import WeightEditPage from "./pages/weight/WeightEditPage"; import UploadSdWeightPage from "./pages/upload/UploadSdWeightPage"; @@ -214,7 +213,6 @@ class PageContainer extends React.Component< public render() { return ( -
@@ -883,7 +881,6 @@ class PageContainer extends React.Component<
-
); } }