import { EngineConfig, WidgetModule } from "@granity/engine";
import Home from "@granity/icons/Home";
import Logout from "@granity/icons/Logout";
import { signOut } from "next-auth/react";
let widgetsModules: WidgetModule[] = [];
const importWidgetsModules = (requireContext: any) => {
const modules = {};
requireContext.keys().forEach((key: string) => ((modules as any)[key] = requireContext(key)));
widgetsModules = Object.keys(modules).map((x) => (modules as any)[x].widget);
};
importWidgetsModules(
require.context("../../../../packages/widgets/src/Widgets", true, /\.widget\.tsx$/)
);
export const granityConfig: EngineConfig = {
widgetsModules,
physicsEnabled: true,
editorMainMenu: [
{
text: "Home",
onClick: () => (window.location.href = "/"),
icon: ,
},
{
text: "Logout",
onClick: () => signOut(),
icon: ,
},
],
endpoints: {
files: {
save: "/server/files",
get: "/server/files",
},
app: {
get: "/server/app",
save: "/server/app",
},
processes: {
generateJsxFromGlb: "/server/processes/",
},
},
};