mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
fix: doesn't crash
This commit is contained in:
@@ -63,6 +63,8 @@ const meta = {
|
||||
argTypes: {
|
||||
links: { control: "object" },
|
||||
menuItemGroups: { control: "object" },
|
||||
mockUser: { control: "object" },
|
||||
mockClientProps: { control: "object" },
|
||||
},
|
||||
} satisfies Meta<typeof Navbar>;
|
||||
|
||||
@@ -73,6 +75,22 @@ export const Default: Story = {
|
||||
args: {
|
||||
links: defaultLinks,
|
||||
menuItemGroups: defaultMenuItemGroups,
|
||||
mockUser: {
|
||||
id: "123",
|
||||
email: "test@test.com",
|
||||
user_metadata: {
|
||||
name: "Test User",
|
||||
},
|
||||
app_metadata: {
|
||||
provider: "email",
|
||||
},
|
||||
aud: "test",
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
mockClientProps: {
|
||||
credits: 1500,
|
||||
profile: mockProfileData,
|
||||
},
|
||||
},
|
||||
parameters: {
|
||||
mockBackend: {
|
||||
|
||||
@@ -9,6 +9,8 @@ import { ProfileDetails } from "@/lib/autogpt-server-api/types";
|
||||
import { NavbarLink } from "./NavbarLink";
|
||||
import getServerUser from "@/lib/supabase/getServerUser";
|
||||
import BackendAPI from "@/lib/autogpt-server-api";
|
||||
import { User } from "@supabase/supabase-js";
|
||||
import MockClient, { MockClientProps } from "@/lib/autogpt-server-api/mock_client";
|
||||
|
||||
// Disable theme toggle for now
|
||||
// import { ThemeToggle } from "./ThemeToggle";
|
||||
@@ -29,21 +31,34 @@ interface NavbarProps {
|
||||
onClick?: () => void;
|
||||
}[];
|
||||
}[];
|
||||
mockUser: User
|
||||
mockClientProps?: MockClientProps;
|
||||
|
||||
}
|
||||
|
||||
async function getProfileData() {
|
||||
async function getProfileData(mockClientProps?: MockClientProps) {
|
||||
if (mockClientProps) {
|
||||
const api = new MockClient(mockClientProps);
|
||||
const profile = await Promise.resolve(api.getStoreProfile("navbar"));
|
||||
return profile;
|
||||
}
|
||||
const api = new BackendAPI();
|
||||
const profile = await Promise.resolve(api.getStoreProfile("navbar"));
|
||||
|
||||
return profile;
|
||||
}
|
||||
|
||||
export const Navbar = async ({ links, menuItemGroups }: NavbarProps) => {
|
||||
const { user } = await getServerUser();
|
||||
export const Navbar = async ({
|
||||
links,
|
||||
menuItemGroups,
|
||||
mockUser,
|
||||
mockClientProps,
|
||||
}: NavbarProps) => {
|
||||
const { user } = await getServerUser(mockUser);
|
||||
const isLoggedIn = user !== null;
|
||||
let profile: ProfileDetails | null = null;
|
||||
if (isLoggedIn) {
|
||||
profile = await getProfileData();
|
||||
profile = await getProfileData(mockClientProps);
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import { User } from "@supabase/supabase-js";
|
||||
import getServerSupabase from "./getServerSupabase";
|
||||
|
||||
const getServerUser = async () => {
|
||||
const getServerUser = async (mockUser?: User) => {
|
||||
if (mockUser) {
|
||||
return { user: mockUser, role: "admin", error: null };
|
||||
}
|
||||
const supabase = getServerSupabase();
|
||||
|
||||
if (!supabase) {
|
||||
|
||||
Reference in New Issue
Block a user