Skip to content

Commit ba0ab63

Browse files
committed
fix: login state
1 parent e1434e2 commit ba0ab63

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

components/Editor/adapters/AdapterContext.tsx

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,24 @@ const AdapterContext = createContext<IAdapter>(memoryAdapter);
99
export type PropsType = {
1010
adapter?: IAdapter;
1111
};
12+
export function getParameterByName(name: string, url?: string): string | null {
13+
if (!url) url = window.location.href;
14+
name = name.replace(/[\[\]]/g, "\\$&");
15+
var regex = new RegExp("[?&#]" + name + "(=([^&#]*)|&|#|$)"),
16+
results = regex.exec(url);
17+
if (!results) return null;
18+
if (!results[2]) return "";
19+
return decodeURIComponent(results[2].replace(/\+/g, " "));
20+
}
21+
1222
export const AdapterProvider: React.FC<PropsType> = ({ children, adapter }) => {
1323
if (!adapter) {
1424
if (hasSupabase) {
25+
const access_token =
26+
typeof window !== "undefined" && getParameterByName("access_token");
27+
if (access_token) {
28+
supabase.auth.setAuth(access_token);
29+
}
1530
const session = supabase.auth.session();
1631
console.log(session, Boolean(session));
1732
adapter = Boolean(session) ? supbaseAdapter : memoryAdapter;
@@ -24,10 +39,10 @@ export const AdapterProvider: React.FC<PropsType> = ({ children, adapter }) => {
2439
useEffect(() => {
2540
if (hasSupabase) {
2641
const session = supabase.auth.session();
27-
28-
setAdapterState(Boolean(session) ? supbaseAdapter : memoryAdapter);
42+
const adapter = Boolean(session) ? supbaseAdapter : memoryAdapter;
43+
setAdapterState(adapter);
2944
}
30-
}, []);
45+
});
3146
return (
3247
<AdapterContext.Provider value={adapterState}>
3348
{children}

components/Editor/adapters/memory.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ const gotoPageAtom = atom<null, todayPageUpdate>(null, (get, set, update) => {
314314
});
315315

316316
export const memoryAdapter = {
317+
$$type: "memory" as "memory" | "supabase",
317318
pageFamily,
318319
pageIdAtom,
319320
pagesAtom,

components/Editor/adapters/supabase.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ const gotoPageAtom = atom<null, todayPageUpdate>(
404404
);
405405

406406
export const supbaseAdapter: TSupabaseAdapter = {
407+
$$type: "supabase",
407408
isStaleAtom,
408409
newPageAtom,
409410
newBlockAtom,

components/LeftAside/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import { ToolButton } from "./ToolButton";
99
import { DotFlashing } from "../Loading";
1010
import { hasSupabase, supabase } from "../../db";
1111
import clsx from "clsx";
12-
import { useMountEffect, useToggle } from "@react-hookz/web";
12+
import { useToggle } from "@react-hookz/web";
13+
1314
export const LeftAside: React.FC = () => {
1415
const router = useRouter();
1516
const { gotoPageAtom, loadNotesAtom, saveNotesAtom } = useAdapter();
@@ -92,7 +93,7 @@ export const LeftAside: React.FC = () => {
9293
imgHeight={24}
9394
onClick={async () => {
9495
await supabase.auth.signOut();
95-
router.reload();
96+
setTimeout(router.reload, 0);
9697
}}
9798
/>
9899
) : (

0 commit comments

Comments
 (0)