mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-05-12 14:10:55 +00:00
move to context
This commit is contained in:
parent
30a4ddc054
commit
da49ca0cf6
4 changed files with 25 additions and 44 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { db } from '@/server/db';
|
||||
import { db } from "@/server/db";
|
||||
import {
|
||||
contentToSpace,
|
||||
sessions,
|
||||
|
|
@ -6,42 +6,37 @@ import {
|
|||
StoredContent,
|
||||
storedContent,
|
||||
users,
|
||||
} from '@/server/db/schema';
|
||||
import { eq, inArray } from 'drizzle-orm';
|
||||
import { cookies, headers } from 'next/headers';
|
||||
import { redirect } from 'next/navigation';
|
||||
import Sidebar from '@/components/Sidebar/index';
|
||||
import Main from '@/components/Main';
|
||||
import MessagePoster from './MessagePoster';
|
||||
import { transformContent } from '../../types/memory';
|
||||
} from "@/server/db/schema";
|
||||
import { eq, inArray } from "drizzle-orm";
|
||||
import { cookies, headers } from "next/headers";
|
||||
import { redirect } from "next/navigation";
|
||||
import Sidebar from "@/components/Sidebar/index";
|
||||
import Main from "@/components/Main";
|
||||
import MessagePoster from "./MessagePoster";
|
||||
import { transformContent } from "../../types/memory";
|
||||
import { MemoryProvider } from "@/contexts/MemoryContext";
|
||||
import Content from "./content";
|
||||
|
||||
export const runtime = 'edge';
|
||||
export const runtime = "edge";
|
||||
|
||||
export default async function Home() {
|
||||
const token =
|
||||
cookies().get('next-auth.session-token')?.value ??
|
||||
cookies().get('__Secure-authjs.session-token')?.value ??
|
||||
cookies().get('authjs.session-token')?.value ??
|
||||
headers().get('Authorization')?.replace('Bearer ', '');
|
||||
cookies().get("next-auth.session-token")?.value ??
|
||||
cookies().get("__Secure-authjs.session-token")?.value ??
|
||||
cookies().get("authjs.session-token")?.value ??
|
||||
headers().get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
if (!token) {
|
||||
return redirect('/api/auth/signin');
|
||||
return redirect("/api/auth/signin");
|
||||
}
|
||||
|
||||
const selectedItem = cookies().get('selectedItem')?.value;
|
||||
|
||||
const setSelectedItem = async (selectedItem: string | null) => {
|
||||
'use server';
|
||||
cookies().set('selectedItem', selectedItem!);
|
||||
};
|
||||
|
||||
const session = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
.where(eq(sessions.sessionToken, token!));
|
||||
|
||||
if (!session || session.length === 0) {
|
||||
return redirect('/api/auth/signin');
|
||||
return redirect("/api/auth/signin");
|
||||
}
|
||||
|
||||
const [userData] = await db
|
||||
|
|
@ -51,7 +46,7 @@ export default async function Home() {
|
|||
.limit(1);
|
||||
|
||||
if (!userData) {
|
||||
return redirect('/api/auth/signin');
|
||||
return redirect("/api/auth/signin");
|
||||
}
|
||||
|
||||
// Fetch all content for the user
|
||||
|
|
@ -65,10 +60,8 @@ export default async function Home() {
|
|||
contents.length > 0 ? await transformContent(contents) : [];
|
||||
|
||||
return (
|
||||
<div className="flex w-screen">
|
||||
<Sidebar selectChange={setSelectedItem} spaces={collectedSpaces} />
|
||||
<Main sidebarOpen={selectedItem !== null} />
|
||||
<MessagePoster jwt={token} />
|
||||
</div>
|
||||
<MemoryProvider spaces={collectedSpaces}>
|
||||
<Content />
|
||||
</MemoryProvider>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,3 @@
|
|||
import { MemoryProvider } from "@/contexts/MemoryContext";
|
||||
import Content from "./content";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<MemoryProvider spaces={[]}>
|
||||
<Content />
|
||||
</MemoryProvider>
|
||||
);
|
||||
return <></>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,19 +28,14 @@ const menuItemsBottom: Array<MenuItem> = [
|
|||
|
||||
export default function Sidebar({
|
||||
selectChange,
|
||||
spaces
|
||||
}: {
|
||||
selectChange?: (selectedItem: string | null) => void;
|
||||
spaces: CollectedSpaces[];
|
||||
}) {
|
||||
// TODO: @yxshv, put spaces in context here
|
||||
// const { spaces } = useMemory();
|
||||
|
||||
const menuItemsTop: Array<MenuItem> = [
|
||||
{
|
||||
icon: <MemoryIcon className="h-10 w-10" />,
|
||||
label: "Memories",
|
||||
content: <MemoriesBar spaces={spaces} />,
|
||||
content: <MemoriesBar />,
|
||||
},
|
||||
];
|
||||
const menuItems = [...menuItemsTop, ...menuItemsBottom];
|
||||
|
|
@ -62,7 +57,7 @@ export default function Sidebar({
|
|||
item={{
|
||||
label: "Memories",
|
||||
icon: <MemoryIcon className="h-10 w-10" />,
|
||||
content: <MemoriesBar spaces={spaces} />,
|
||||
content: <MemoriesBar />,
|
||||
}}
|
||||
selectedItem={selectedItem}
|
||||
setSelectedItem={setSelectedItem}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue