diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..4183c4a
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "prettier.prettierPath": ""
+}
diff --git a/apps/leafcutter/app/(main)/layout.tsx b/apps/leafcutter/app/(main)/layout.tsx
index c9a7d3b..d272093 100644
--- a/apps/leafcutter/app/(main)/layout.tsx
+++ b/apps/leafcutter/app/(main)/layout.tsx
@@ -17,6 +17,6 @@ type LayoutProps = {
export default function Layout({ children }: LayoutProps) {
const allHeaders = headers();
const embedded = Boolean(allHeaders.get('x-leafcutter-embedded'));
-console.log({embedded})
+
return {children};
}
diff --git a/apps/leafcutter/app/(main)/preview/[...visualizationID]/_components/Preview.tsx b/apps/leafcutter/app/(main)/preview/[...visualizationID]/_components/Preview.tsx
index eb0eab3..88e0cad 100644
--- a/apps/leafcutter/app/(main)/preview/[...visualizationID]/_components/Preview.tsx
+++ b/apps/leafcutter/app/(main)/preview/[...visualizationID]/_components/Preview.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC } from "react";
/* eslint-disable no-underscore-dangle */
import { RawDataViewer } from "@/app/_components/RawDataViewer";
diff --git a/apps/leafcutter/app/page.tsx b/apps/leafcutter/app/page.tsx
index 140f4b8..dd2c45d 100644
--- a/apps/leafcutter/app/page.tsx
+++ b/apps/leafcutter/app/page.tsx
@@ -1,12 +1,13 @@
-import { getSession } from "next-auth/react";
+import { getServerSession } from "next-auth";
+import { authOptions } from "app/_lib/auth";
import { getUserVisualizations } from "@/app/_lib/opensearch";
import { Home } from "@/app/_components/Home";
export default async function Page() {
- const context = undefined;
- const session = (await getSession(context)) ?? null;
+ const session = await getServerSession(authOptions);
+ const { user: { email } }: any = session;
const visualizations = await getUserVisualizations(
- session?.user?.email ?? "none",
+ email ?? "none",
20
);
diff --git a/apps/metamigo-frontend/components/AdminLogin.tsx b/apps/metamigo-frontend/app/_components/AdminLogin.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/AdminLogin.tsx
rename to apps/metamigo-frontend/app/_components/AdminLogin.tsx
index 0e05efa..7621b25 100644
--- a/apps/metamigo-frontend/components/AdminLogin.tsx
+++ b/apps/metamigo-frontend/app/_components/AdminLogin.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC, useEffect } from "react";
import { CircularProgress, Typography, Grid } from "@mui/material";
import { signIn, signOut, getSession } from "next-auth/react";
diff --git a/apps/metamigo-frontend/components/Auth.tsx b/apps/metamigo-frontend/app/_components/Auth.tsx
similarity index 89%
rename from apps/metamigo-frontend/components/Auth.tsx
rename to apps/metamigo-frontend/app/_components/Auth.tsx
index 336a43e..af8cde6 100644
--- a/apps/metamigo-frontend/components/Auth.tsx
+++ b/apps/metamigo-frontend/app/_components/Auth.tsx
@@ -1,7 +1,9 @@
+"use client";
+
import { FC, PropsWithChildren, useEffect } from "react";
import { CircularProgress } from "@mui/material";
import { useSession } from "next-auth/react";
-import { useRouter } from "next/router";
+import { useRouter } from "next/navigation";
export const Auth: FC = ({ children }) => {
const router = useRouter();
diff --git a/apps/metamigo-frontend/components/DigitInput/DigitInput.module.css b/apps/metamigo-frontend/app/_components/DigitInput/DigitInput.module.css
similarity index 100%
rename from apps/metamigo-frontend/components/DigitInput/DigitInput.module.css
rename to apps/metamigo-frontend/app/_components/DigitInput/DigitInput.module.css
diff --git a/apps/metamigo-frontend/components/DigitInput/index.tsx b/apps/metamigo-frontend/app/_components/DigitInput/index.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/DigitInput/index.tsx
rename to apps/metamigo-frontend/app/_components/DigitInput/index.tsx
index 8bd605a..1fe03d8 100644
--- a/apps/metamigo-frontend/components/DigitInput/index.tsx
+++ b/apps/metamigo-frontend/app/_components/DigitInput/index.tsx
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable react/display-name */
import { forwardRef } from "react";
import useDigitInput, { InputAttributes } from "react-digit-input";
diff --git a/apps/metamigo-frontend/components/MetamigoAdmin.tsx b/apps/metamigo-frontend/app/_components/MetamigoAdmin.tsx
similarity index 94%
rename from apps/metamigo-frontend/components/MetamigoAdmin.tsx
rename to apps/metamigo-frontend/app/_components/MetamigoAdmin.tsx
index d04ea97..a16249b 100644
--- a/apps/metamigo-frontend/components/MetamigoAdmin.tsx
+++ b/apps/metamigo-frontend/app/_components/MetamigoAdmin.tsx
@@ -1,12 +1,14 @@
+"use client";
+
import { FC, useEffect, useState } from "react";
import { Admin, Resource } from "react-admin";
import { useApolloClient } from "@apollo/client";
import polyglotI18nProvider from "ra-i18n-polyglot";
import { ThemeProvider, createTheme } from "@mui/material";
-import { metamigoDataProvider } from "../lib/dataprovider";
+import { metamigoDataProvider } from "../_lib/dataprovider";
import { theme } from "./layout/themes";
import { Layout } from "./layout";
-import englishMessages from "../i18n/en";
+import englishMessages from "../_i18n/en";
import users from "./users";
import accounts from "./accounts";
import whatsappBots from "./whatsapp/bots";
diff --git a/apps/metamigo-frontend/app/_components/MultiProvider.tsx b/apps/metamigo-frontend/app/_components/MultiProvider.tsx
new file mode 100644
index 0000000..00aab73
--- /dev/null
+++ b/apps/metamigo-frontend/app/_components/MultiProvider.tsx
@@ -0,0 +1,8 @@
+"use client";
+
+import { FC, PropsWithChildren } from "react";
+import { SessionProvider } from "next-auth/react";
+
+export const MultiProvider: FC = ({ children }) => (
+ {children}
+);
diff --git a/apps/metamigo-frontend/components/accounts/AccountEdit.tsx b/apps/metamigo-frontend/app/_components/accounts/AccountEdit.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/accounts/AccountEdit.tsx
rename to apps/metamigo-frontend/app/_components/accounts/AccountEdit.tsx
index a05f737..0dd30e2 100644
--- a/apps/metamigo-frontend/components/accounts/AccountEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/accounts/AccountEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC } from "react";
import { makeStyles } from "@mui/styles";
import {
diff --git a/apps/metamigo-frontend/components/accounts/AccountList.tsx b/apps/metamigo-frontend/app/_components/accounts/AccountList.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/accounts/AccountList.tsx
rename to apps/metamigo-frontend/app/_components/accounts/AccountList.tsx
index 9bfec3c..b31d3da 100644
--- a/apps/metamigo-frontend/components/accounts/AccountList.tsx
+++ b/apps/metamigo-frontend/app/_components/accounts/AccountList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC } from "react";
import {
List,
diff --git a/apps/metamigo-frontend/components/accounts/index.ts b/apps/metamigo-frontend/app/_components/accounts/index.ts
similarity index 95%
rename from apps/metamigo-frontend/components/accounts/index.ts
rename to apps/metamigo-frontend/app/_components/accounts/index.ts
index 5633b61..08615d1 100644
--- a/apps/metamigo-frontend/components/accounts/index.ts
+++ b/apps/metamigo-frontend/app/_components/accounts/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable import/no-named-as-default */
/* eslint-disable import/no-anonymous-default-export */
import AccountIcon from "@mui/icons-material/AccountTree";
diff --git a/apps/metamigo-frontend/components/layout/AppBar.tsx b/apps/metamigo-frontend/app/_components/layout/AppBar.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/layout/AppBar.tsx
rename to apps/metamigo-frontend/app/_components/layout/AppBar.tsx
index 07cc0e3..34ec99b 100644
--- a/apps/metamigo-frontend/components/layout/AppBar.tsx
+++ b/apps/metamigo-frontend/app/_components/layout/AppBar.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { forwardRef } from "react";
import { AppBar, UserMenu, MenuItemLink, useTranslate } from "react-admin";
import Typography from "@mui/material/Typography";
diff --git a/apps/metamigo-frontend/components/layout/Layout.tsx b/apps/metamigo-frontend/app/_components/layout/Layout.tsx
similarity index 77%
rename from apps/metamigo-frontend/components/layout/Layout.tsx
rename to apps/metamigo-frontend/app/_components/layout/Layout.tsx
index d940684..d48fa73 100644
--- a/apps/metamigo-frontend/components/layout/Layout.tsx
+++ b/apps/metamigo-frontend/app/_components/layout/Layout.tsx
@@ -1,4 +1,5 @@
-/* eslint-disable import/no-named-as-default */
+"use client";
+
import { Layout as RaLayout, LayoutProps, Sidebar } from "react-admin";
import AppBar from "./AppBar";
import Menu from "./Menu";
@@ -6,7 +7,7 @@ import { theme } from "./themes";
const CustomSidebar = (props: any) => ;
-const Layout = (props: LayoutProps) => (
+export const Layout = (props: LayoutProps) => (
(
theme={theme}
/>
);
-
-export default Layout;
diff --git a/apps/metamigo-frontend/components/layout/Logo.tsx b/apps/metamigo-frontend/app/_components/layout/Logo.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/layout/Logo.tsx
rename to apps/metamigo-frontend/app/_components/layout/Logo.tsx
index 603f1a3..4e78d49 100644
--- a/apps/metamigo-frontend/components/layout/Logo.tsx
+++ b/apps/metamigo-frontend/app/_components/layout/Logo.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SVGProps } from "react";
const Logo = (props: SVGProps) => (
diff --git a/apps/metamigo-frontend/components/layout/Menu.tsx b/apps/metamigo-frontend/app/_components/layout/Menu.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/layout/Menu.tsx
rename to apps/metamigo-frontend/app/_components/layout/Menu.tsx
index 13526ca..f39d956 100644
--- a/apps/metamigo-frontend/components/layout/Menu.tsx
+++ b/apps/metamigo-frontend/app/_components/layout/Menu.tsx
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable camelcase */
import { FC, useState } from "react";
// import { useSelector } from "react-redux";
diff --git a/apps/metamigo-frontend/components/layout/SubMenu.tsx b/apps/metamigo-frontend/app/_components/layout/SubMenu.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/layout/SubMenu.tsx
rename to apps/metamigo-frontend/app/_components/layout/SubMenu.tsx
index f9feae7..669c549 100644
--- a/apps/metamigo-frontend/components/layout/SubMenu.tsx
+++ b/apps/metamigo-frontend/app/_components/layout/SubMenu.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC, PropsWithChildren, Fragment, ReactElement } from "react";
import ExpandMore from "@mui/icons-material/ExpandMore";
import List from "@mui/material/List";
diff --git a/apps/metamigo-frontend/components/layout/index.ts b/apps/metamigo-frontend/app/_components/layout/index.ts
similarity index 63%
rename from apps/metamigo-frontend/components/layout/index.ts
rename to apps/metamigo-frontend/app/_components/layout/index.ts
index a49f09d..bdb5be0 100644
--- a/apps/metamigo-frontend/components/layout/index.ts
+++ b/apps/metamigo-frontend/app/_components/layout/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
export { default as AppBar } from "./AppBar";
-export { default as Layout } from "./Layout";
+export { Layout } from "./Layout";
export { default as Menu } from "./Menu";
diff --git a/apps/metamigo-frontend/components/layout/themes.ts b/apps/metamigo-frontend/app/_components/layout/themes.ts
similarity index 100%
rename from apps/metamigo-frontend/components/layout/themes.ts
rename to apps/metamigo-frontend/app/_components/layout/themes.ts
diff --git a/apps/metamigo-frontend/components/signal/bots/Digits.module.css b/apps/metamigo-frontend/app/_components/signal/bots/Digits.module.css
similarity index 100%
rename from apps/metamigo-frontend/components/signal/bots/Digits.module.css
rename to apps/metamigo-frontend/app/_components/signal/bots/Digits.module.css
diff --git a/apps/metamigo-frontend/components/signal/bots/SignalBotCreate.tsx b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotCreate.tsx
similarity index 89%
rename from apps/metamigo-frontend/components/signal/bots/SignalBotCreate.tsx
rename to apps/metamigo-frontend/app/_components/signal/bots/SignalBotCreate.tsx
index a1981d3..4e09fe7 100644
--- a/apps/metamigo-frontend/components/signal/bots/SignalBotCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotCreate.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
Create,
@@ -6,7 +8,7 @@ import {
CreateProps,
} from "react-admin";
import { useSession } from "next-auth/react";
-import { validateE164Number } from "../../../lib/phone-numbers";
+import { validateE164Number } from "../../../_lib/phone-numbers";
const SignalBotCreate = (props: CreateProps) => {
const { data: session } = useSession();
diff --git a/apps/metamigo-frontend/components/signal/bots/SignalBotEdit.tsx b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotEdit.tsx
similarity index 95%
rename from apps/metamigo-frontend/components/signal/bots/SignalBotEdit.tsx
rename to apps/metamigo-frontend/app/_components/signal/bots/SignalBotEdit.tsx
index 8ac33dd..97fed9b 100644
--- a/apps/metamigo-frontend/components/signal/bots/SignalBotEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SimpleForm, Edit, TextInput, required, EditProps } from "react-admin";
const SignalBotEdit = (props: EditProps) => (
diff --git a/apps/metamigo-frontend/components/signal/bots/SignalBotList.tsx b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/signal/bots/SignalBotList.tsx
rename to apps/metamigo-frontend/app/_components/signal/bots/SignalBotList.tsx
index f7b9e19..f15148f 100644
--- a/apps/metamigo-frontend/components/signal/bots/SignalBotList.tsx
+++ b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
List,
Datagrid,
diff --git a/apps/metamigo-frontend/components/signal/bots/SignalBotShow.tsx b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotShow.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/signal/bots/SignalBotShow.tsx
rename to apps/metamigo-frontend/app/_components/signal/bots/SignalBotShow.tsx
index e6687b3..f5c0456 100644
--- a/apps/metamigo-frontend/components/signal/bots/SignalBotShow.tsx
+++ b/apps/metamigo-frontend/app/_components/signal/bots/SignalBotShow.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import React, { useState } from "react";
import {
Show,
@@ -28,7 +30,7 @@ import { SixDigitInput } from "../../DigitInput";
import {
sanitizeE164Number,
isValidE164Number,
-} from "../../../lib/phone-numbers";
+} from "../../../_lib/phone-numbers";
const Sidebar = ({ record }: any) => {
const [phoneNumber, setPhoneNumber] = useState("");
diff --git a/apps/metamigo-frontend/components/signal/bots/index.ts b/apps/metamigo-frontend/app/_components/signal/bots/index.ts
similarity index 96%
rename from apps/metamigo-frontend/components/signal/bots/index.ts
rename to apps/metamigo-frontend/app/_components/signal/bots/index.ts
index d1d5f00..85dd098 100644
--- a/apps/metamigo-frontend/components/signal/bots/index.ts
+++ b/apps/metamigo-frontend/app/_components/signal/bots/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import SignalBotIcon from "@mui/icons-material/ChatOutlined";
import SignalBotList from "./SignalBotList";
import SignalBotEdit from "./SignalBotEdit";
diff --git a/apps/metamigo-frontend/components/signal/bots/shared.tsx b/apps/metamigo-frontend/app/_components/signal/bots/shared.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/signal/bots/shared.tsx
rename to apps/metamigo-frontend/app/_components/signal/bots/shared.tsx
index ad426af..4a23b15 100644
--- a/apps/metamigo-frontend/components/signal/bots/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/signal/bots/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable react/display-name */
import {
SelectInput,
diff --git a/apps/metamigo-frontend/components/users/UserCreate.tsx b/apps/metamigo-frontend/app/_components/users/UserCreate.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/users/UserCreate.tsx
rename to apps/metamigo-frontend/app/_components/users/UserCreate.tsx
index 1d8e38d..00a210b 100644
--- a/apps/metamigo-frontend/components/users/UserCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/users/UserCreate.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { FC } from "react";
import {
SimpleForm,
diff --git a/apps/metamigo-frontend/components/users/UserEdit.tsx b/apps/metamigo-frontend/app/_components/users/UserEdit.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/users/UserEdit.tsx
rename to apps/metamigo-frontend/app/_components/users/UserEdit.tsx
index d52e8ab..9b60776 100644
--- a/apps/metamigo-frontend/components/users/UserEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/users/UserEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { makeStyles } from "@mui/styles";
import {
SimpleForm,
diff --git a/apps/metamigo-frontend/components/users/UserList.tsx b/apps/metamigo-frontend/app/_components/users/UserList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/users/UserList.tsx
rename to apps/metamigo-frontend/app/_components/users/UserList.tsx
index 40d8a8d..a66ca6b 100644
--- a/apps/metamigo-frontend/components/users/UserList.tsx
+++ b/apps/metamigo-frontend/app/_components/users/UserList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
List,
Datagrid,
diff --git a/apps/metamigo-frontend/components/users/index.ts b/apps/metamigo-frontend/app/_components/users/index.ts
similarity index 95%
rename from apps/metamigo-frontend/components/users/index.ts
rename to apps/metamigo-frontend/app/_components/users/index.ts
index e48dea3..37b7add 100644
--- a/apps/metamigo-frontend/components/users/index.ts
+++ b/apps/metamigo-frontend/app/_components/users/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import UserIcon from "@mui/icons-material/People";
import UserList from "./UserList";
import UserEdit from "./UserEdit";
diff --git a/apps/metamigo-frontend/components/users/shared.tsx b/apps/metamigo-frontend/app/_components/users/shared.tsx
similarity index 96%
rename from apps/metamigo-frontend/components/users/shared.tsx
rename to apps/metamigo-frontend/app/_components/users/shared.tsx
index dabf6bd..1d841f4 100644
--- a/apps/metamigo-frontend/components/users/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/users/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SelectInput, useRecordContext } from "react-admin";
export const UserRoleInput = (props: any) => {
diff --git a/apps/metamigo-frontend/components/voice/providers/ProviderCreate.tsx b/apps/metamigo-frontend/app/_components/voice/providers/ProviderCreate.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/voice/providers/ProviderCreate.tsx
rename to apps/metamigo-frontend/app/_components/voice/providers/ProviderCreate.tsx
index 19aef0c..599ad26 100644
--- a/apps/metamigo-frontend/components/voice/providers/ProviderCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/providers/ProviderCreate.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
TextInput,
diff --git a/apps/metamigo-frontend/components/voice/providers/ProviderEdit.tsx b/apps/metamigo-frontend/app/_components/voice/providers/ProviderEdit.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/voice/providers/ProviderEdit.tsx
rename to apps/metamigo-frontend/app/_components/voice/providers/ProviderEdit.tsx
index 341ed6e..9cf238e 100644
--- a/apps/metamigo-frontend/components/voice/providers/ProviderEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/providers/ProviderEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
TextInput,
diff --git a/apps/metamigo-frontend/components/voice/providers/ProviderList.tsx b/apps/metamigo-frontend/app/_components/voice/providers/ProviderList.tsx
similarity index 96%
rename from apps/metamigo-frontend/components/voice/providers/ProviderList.tsx
rename to apps/metamigo-frontend/app/_components/voice/providers/ProviderList.tsx
index 00cd366..2839787 100644
--- a/apps/metamigo-frontend/components/voice/providers/ProviderList.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/providers/ProviderList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { List, Datagrid, DateField, TextField, ListProps } from "react-admin";
const ProviderList = (props: ListProps) => (
diff --git a/apps/metamigo-frontend/components/voice/providers/index.ts b/apps/metamigo-frontend/app/_components/voice/providers/index.ts
similarity index 95%
rename from apps/metamigo-frontend/components/voice/providers/index.ts
rename to apps/metamigo-frontend/app/_components/voice/providers/index.ts
index 95fbef4..3d9916f 100644
--- a/apps/metamigo-frontend/components/voice/providers/index.ts
+++ b/apps/metamigo-frontend/app/_components/voice/providers/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable import/no-anonymous-default-export */
import ProviderIcon from "@mui/icons-material/Business";
import ProviderList from "./ProviderList";
diff --git a/apps/metamigo-frontend/components/voice/providers/shared.tsx b/apps/metamigo-frontend/app/_components/voice/providers/shared.tsx
similarity index 93%
rename from apps/metamigo-frontend/components/voice/providers/shared.tsx
rename to apps/metamigo-frontend/app/_components/voice/providers/shared.tsx
index b261648..4b11221 100644
--- a/apps/metamigo-frontend/components/voice/providers/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/providers/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SelectInput } from "react-admin";
export const ProviderKindInput = (props: any) => (
diff --git a/apps/metamigo-frontend/components/voice/voicelines/MicInput.module.css b/apps/metamigo-frontend/app/_components/voice/voicelines/MicInput.module.css
similarity index 100%
rename from apps/metamigo-frontend/components/voice/voicelines/MicInput.module.css
rename to apps/metamigo-frontend/app/_components/voice/voicelines/MicInput.module.css
diff --git a/apps/metamigo-frontend/components/voice/voicelines/MicInput.tsx b/apps/metamigo-frontend/app/_components/voice/voicelines/MicInput.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/voice/voicelines/MicInput.tsx
rename to apps/metamigo-frontend/app/_components/voice/voicelines/MicInput.tsx
index a933506..d7532c2 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/MicInput.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/MicInput.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { useInput } from "react-admin";
import React, { useState } from "react";
import dynamic from "next/dynamic";
diff --git a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineCreate.tsx b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineCreate.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/voice/voicelines/VoiceLineCreate.tsx
rename to apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineCreate.tsx
index 2126f36..9c4b8dd 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineCreate.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
Create,
diff --git a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineEdit.tsx b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineEdit.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/voice/voicelines/VoiceLineEdit.tsx
rename to apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineEdit.tsx
index 8fce338..0223c8b 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
TextInput,
diff --git a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineList.tsx b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/voice/voicelines/VoiceLineList.tsx
rename to apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineList.tsx
index 316cb01..66cbc53 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/VoiceLineList.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/VoiceLineList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
List,
ListProps,
diff --git a/apps/metamigo-frontend/components/voice/voicelines/index.ts b/apps/metamigo-frontend/app/_components/voice/voicelines/index.ts
similarity index 96%
rename from apps/metamigo-frontend/components/voice/voicelines/index.ts
rename to apps/metamigo-frontend/app/_components/voice/voicelines/index.ts
index f071e47..e778f97 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/index.ts
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import VoiceLineIcon from "@mui/icons-material/PhoneCallback";
import VoiceLineList from "./VoiceLineList";
import VoiceLineEdit from "./VoiceLineEdit";
diff --git a/apps/metamigo-frontend/components/voice/voicelines/recorder.module.css b/apps/metamigo-frontend/app/_components/voice/voicelines/recorder.module.css
similarity index 100%
rename from apps/metamigo-frontend/components/voice/voicelines/recorder.module.css
rename to apps/metamigo-frontend/app/_components/voice/voicelines/recorder.module.css
diff --git a/apps/metamigo-frontend/components/voice/voicelines/shared.tsx b/apps/metamigo-frontend/app/_components/voice/voicelines/shared.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/voice/voicelines/shared.tsx
rename to apps/metamigo-frontend/app/_components/voice/voicelines/shared.tsx
index dfa5b4a..a574a6b 100644
--- a/apps/metamigo-frontend/components/voice/voicelines/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/voice/voicelines/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable react/display-name */
import React, { useState, useEffect } from "react";
import PlayIcon from "@mui/icons-material/PlayCircleFilled";
@@ -12,7 +14,7 @@ import {
TextField,
} from "react-admin";
import { IconButton, CircularProgress } from "@mui/material";
-import absoluteUrl from "../../../lib/absolute-url";
+import absoluteUrl from "../../../_lib/absolute-url";
import TwilioLanguages from "./twilio-languages";
type TTSProvider = (voice: any, language: any, prompt: any) => Promise;
diff --git a/apps/metamigo-frontend/components/voice/voicelines/twilio-languages.ts b/apps/metamigo-frontend/app/_components/voice/voicelines/twilio-languages.ts
similarity index 100%
rename from apps/metamigo-frontend/components/voice/voicelines/twilio-languages.ts
rename to apps/metamigo-frontend/app/_components/voice/voicelines/twilio-languages.ts
diff --git a/apps/metamigo-frontend/components/webhooks/WebhookCreate.tsx b/apps/metamigo-frontend/app/_components/webhooks/WebhookCreate.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/webhooks/WebhookCreate.tsx
rename to apps/metamigo-frontend/app/_components/webhooks/WebhookCreate.tsx
index 3971b15..d525f5a 100644
--- a/apps/metamigo-frontend/components/webhooks/WebhookCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/webhooks/WebhookCreate.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
FormDataConsumer,
diff --git a/apps/metamigo-frontend/components/webhooks/WebhookEdit.tsx b/apps/metamigo-frontend/app/_components/webhooks/WebhookEdit.tsx
similarity index 98%
rename from apps/metamigo-frontend/components/webhooks/WebhookEdit.tsx
rename to apps/metamigo-frontend/app/_components/webhooks/WebhookEdit.tsx
index 8def6a0..44818b7 100644
--- a/apps/metamigo-frontend/components/webhooks/WebhookEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/webhooks/WebhookEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
SimpleForm,
TextInput,
diff --git a/apps/metamigo-frontend/components/webhooks/WebhookList.tsx b/apps/metamigo-frontend/app/_components/webhooks/WebhookList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/webhooks/WebhookList.tsx
rename to apps/metamigo-frontend/app/_components/webhooks/WebhookList.tsx
index f16a967..22d244e 100644
--- a/apps/metamigo-frontend/components/webhooks/WebhookList.tsx
+++ b/apps/metamigo-frontend/app/_components/webhooks/WebhookList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { List, Datagrid, DateField, TextField, ListProps } from "react-admin";
import { BackendIdField } from "./shared";
diff --git a/apps/metamigo-frontend/components/webhooks/index.ts b/apps/metamigo-frontend/app/_components/webhooks/index.ts
similarity index 95%
rename from apps/metamigo-frontend/components/webhooks/index.ts
rename to apps/metamigo-frontend/app/_components/webhooks/index.ts
index c826691..302d3ee 100644
--- a/apps/metamigo-frontend/components/webhooks/index.ts
+++ b/apps/metamigo-frontend/app/_components/webhooks/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import WebhookIcon from "@mui/icons-material/Send";
import WebhookList from "./WebhookList";
import WebhookEdit from "./WebhookEdit";
diff --git a/apps/metamigo-frontend/components/webhooks/shared.tsx b/apps/metamigo-frontend/app/_components/webhooks/shared.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/webhooks/shared.tsx
rename to apps/metamigo-frontend/app/_components/webhooks/shared.tsx
index b0539bd..8e831be 100644
--- a/apps/metamigo-frontend/components/webhooks/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/webhooks/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SelectInput, required } from "react-admin";
import {
diff --git a/apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentList.tsx b/apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentList.tsx
similarity index 94%
rename from apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentList.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentList.tsx
index cb9d047..0c61ffc 100644
--- a/apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentList.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { List, Datagrid, TextField } from "react-admin";
const WhatsappAttachmentList = (props: any) => (
diff --git a/apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentShow.tsx b/apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentShow.tsx
similarity index 95%
rename from apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentShow.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentShow.tsx
index 670d8d9..7eeda88 100644
--- a/apps/metamigo-frontend/components/whatsapp/attachments/WhatsappAttachmentShow.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/attachments/WhatsappAttachmentShow.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { Show, ShowProps, SimpleShowLayout, TextField } from "react-admin";
const WhatsappAttachmentShow = (props: ShowProps) => (
diff --git a/apps/metamigo-frontend/components/whatsapp/attachments/index.ts b/apps/metamigo-frontend/app/_components/whatsapp/attachments/index.ts
similarity index 96%
rename from apps/metamigo-frontend/components/whatsapp/attachments/index.ts
rename to apps/metamigo-frontend/app/_components/whatsapp/attachments/index.ts
index 5f97734..5ee1843 100644
--- a/apps/metamigo-frontend/components/whatsapp/attachments/index.ts
+++ b/apps/metamigo-frontend/app/_components/whatsapp/attachments/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import WhatsappAttachmentIcon from "@mui/icons-material/AttachFile";
import WhatsappAttachmentList from "./WhatsappAttachmentList";
import WhatsappAttachmentShow from "./WhatsappAttachmentShow";
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotCreate.tsx b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotCreate.tsx
similarity index 92%
rename from apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotCreate.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotCreate.tsx
index 37061e3..51af84c 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotCreate.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotCreate.tsx
@@ -1,7 +1,9 @@
+"use client";
+
// import dynamic from "next/dynamic";
import { SimpleForm, Create, TextInput, required } from "react-admin";
import { useSession } from "next-auth/react";
-import { validateE164Number } from "../../../lib/phone-numbers";
+import { validateE164Number } from "../../../_lib/phone-numbers";
const WhatsappBotCreate = (props: any) => {
// const MuiPhoneNumber = dynamic(() => import("material-ui-phone-number"), {
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotEdit.tsx b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotEdit.tsx
similarity index 95%
rename from apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotEdit.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotEdit.tsx
index 9297290..e2f07cc 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotEdit.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotEdit.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { SimpleForm, Edit, TextInput, required, EditProps } from "react-admin";
const WhatsappBotEdit = (props: EditProps) => (
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotList.tsx b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotList.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotList.tsx
index a75b250..a7a40e9 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotList.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
List,
Datagrid,
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotShow.tsx b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotShow.tsx
similarity index 99%
rename from apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotShow.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotShow.tsx
index 5ab18da..c26f54a 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/WhatsappBotShow.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/WhatsappBotShow.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import React, { useEffect, useState } from "react";
import {
Card,
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/index.ts b/apps/metamigo-frontend/app/_components/whatsapp/bots/index.ts
similarity index 96%
rename from apps/metamigo-frontend/components/whatsapp/bots/index.ts
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/index.ts
index acf105f..ef7e1c3 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/index.ts
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import WhatsappBotIcon from "@mui/icons-material/WhatsApp";
import WhatsappBotList from "./WhatsappBotList";
import WhatsappBotEdit from "./WhatsappBotEdit";
diff --git a/apps/metamigo-frontend/components/whatsapp/bots/shared.tsx b/apps/metamigo-frontend/app/_components/whatsapp/bots/shared.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/whatsapp/bots/shared.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/bots/shared.tsx
index cf68011..84bade0 100644
--- a/apps/metamigo-frontend/components/whatsapp/bots/shared.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/bots/shared.tsx
@@ -1,3 +1,5 @@
+"use client";
+
/* eslint-disable react/display-name */
import {
SelectInput,
diff --git a/apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageList.tsx b/apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageList.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageList.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageList.tsx
index 3c3405b..09c45dc 100644
--- a/apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageList.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageList.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
List,
ListProps,
diff --git a/apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageShow.tsx b/apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageShow.tsx
similarity index 97%
rename from apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageShow.tsx
rename to apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageShow.tsx
index 56f94af..c768e6e 100644
--- a/apps/metamigo-frontend/components/whatsapp/messages/WhatsappMessageShow.tsx
+++ b/apps/metamigo-frontend/app/_components/whatsapp/messages/WhatsappMessageShow.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import {
Show,
ShowProps,
diff --git a/apps/metamigo-frontend/components/whatsapp/messages/index.ts b/apps/metamigo-frontend/app/_components/whatsapp/messages/index.ts
similarity index 95%
rename from apps/metamigo-frontend/components/whatsapp/messages/index.ts
rename to apps/metamigo-frontend/app/_components/whatsapp/messages/index.ts
index ff36493..20b93c7 100644
--- a/apps/metamigo-frontend/components/whatsapp/messages/index.ts
+++ b/apps/metamigo-frontend/app/_components/whatsapp/messages/index.ts
@@ -1,3 +1,5 @@
+"use client";
+
import WhatsappMessageIcon from "@mui/icons-material/Message";
import WhatsappMessageList from "./WhatsappMessageList";
import WhatsappMessageShow from "./WhatsappMessageShow";
diff --git a/apps/metamigo-frontend/i18n/en.ts b/apps/metamigo-frontend/app/_i18n/en.ts
similarity index 100%
rename from apps/metamigo-frontend/i18n/en.ts
rename to apps/metamigo-frontend/app/_i18n/en.ts
diff --git a/apps/metamigo-frontend/lib/absolute-url.ts b/apps/metamigo-frontend/app/_lib/absolute-url.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/absolute-url.ts
rename to apps/metamigo-frontend/app/_lib/absolute-url.ts
diff --git a/apps/metamigo-frontend/lib/apollo-client.ts b/apps/metamigo-frontend/app/_lib/apollo-client.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/apollo-client.ts
rename to apps/metamigo-frontend/app/_lib/apollo-client.ts
diff --git a/apps/metamigo-frontend/lib/cloudflare.ts b/apps/metamigo-frontend/app/_lib/cloudflare.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/cloudflare.ts
rename to apps/metamigo-frontend/app/_lib/cloudflare.ts
diff --git a/apps/metamigo-frontend/lib/dataprovider.ts b/apps/metamigo-frontend/app/_lib/dataprovider.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/dataprovider.ts
rename to apps/metamigo-frontend/app/_lib/dataprovider.ts
diff --git a/apps/metamigo-frontend/lib/graphql-schema.json b/apps/metamigo-frontend/app/_lib/graphql-schema.json
similarity index 100%
rename from apps/metamigo-frontend/lib/graphql-schema.json
rename to apps/metamigo-frontend/app/_lib/graphql-schema.json
diff --git a/apps/metamigo-frontend/lib/nextauth-adapter.ts b/apps/metamigo-frontend/app/_lib/nextauth-adapter.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/nextauth-adapter.ts
rename to apps/metamigo-frontend/app/_lib/nextauth-adapter.ts
diff --git a/apps/metamigo-frontend/lib/phone-numbers.ts b/apps/metamigo-frontend/app/_lib/phone-numbers.ts
similarity index 100%
rename from apps/metamigo-frontend/lib/phone-numbers.ts
rename to apps/metamigo-frontend/app/_lib/phone-numbers.ts
diff --git a/apps/metamigo-frontend/styles/Home.module.css b/apps/metamigo-frontend/app/_styles/Home.module.css
similarity index 100%
rename from apps/metamigo-frontend/styles/Home.module.css
rename to apps/metamigo-frontend/app/_styles/Home.module.css
diff --git a/apps/metamigo-frontend/styles/globals.css b/apps/metamigo-frontend/app/_styles/globals.css
similarity index 100%
rename from apps/metamigo-frontend/styles/globals.css
rename to apps/metamigo-frontend/app/_styles/globals.css
diff --git a/apps/metamigo-frontend/app/admin/_components/Admin.tsx b/apps/metamigo-frontend/app/admin/_components/Admin.tsx
new file mode 100644
index 0000000..408db0d
--- /dev/null
+++ b/apps/metamigo-frontend/app/admin/_components/Admin.tsx
@@ -0,0 +1,16 @@
+"use client";
+
+import { FC } from "react";
+import { ApolloProvider } from "@apollo/client";
+import { apolloClient } from "app/_lib/apollo-client";
+import dynamic from "next/dynamic";
+
+const MetamigoAdmin = dynamic(() => import("app/_components/MetamigoAdmin"), {
+ ssr: false,
+});
+
+export const Admin:FC = () => (
+
+
+
+ );
diff --git a/apps/metamigo-frontend/app/admin/page.tsx b/apps/metamigo-frontend/app/admin/page.tsx
new file mode 100644
index 0000000..2b99960
--- /dev/null
+++ b/apps/metamigo-frontend/app/admin/page.tsx
@@ -0,0 +1,5 @@
+import { Admin } from "./_components/Admin";
+
+export default function Home() {
+ return
+}
diff --git a/apps/metamigo-frontend/pages/api/auth/[...nextauth].ts b/apps/metamigo-frontend/app/api/auth/[...nextauth]/route.ts
similarity index 78%
rename from apps/metamigo-frontend/pages/api/auth/[...nextauth].ts
rename to apps/metamigo-frontend/app/api/auth/[...nextauth]/route.ts
index ec37bce..f1680d4 100644
--- a/apps/metamigo-frontend/pages/api/auth/[...nextauth].ts
+++ b/apps/metamigo-frontend/app/api/auth/[...nextauth]/route.ts
@@ -1,14 +1,14 @@
-import { NextApiRequest, NextApiResponse } from "next";
+import { NextRequest } from "next/server";
import NextAuth from "next-auth";
import Google from "next-auth/providers/google";
import GitHub from "next-auth/providers/github";
import GitLab from "next-auth/providers/gitlab";
import Cognito from "next-auth/providers/cognito";
import { loadConfig, IAppConfig } from "@digiresilience/metamigo-config";
-import { MetamigoAdapter } from "../../../lib/nextauth-adapter";
-import { CloudflareAccessProvider } from "../../../lib/cloudflare";
+import { MetamigoAdapter } from "app/_lib/nextauth-adapter";
+import { CloudflareAccessProvider } from "app/_lib/cloudflare";
-const nextAuthOptions = (config: IAppConfig, req: NextApiRequest) => {
+const nextAuthOptions = (config: IAppConfig, req: NextRequest) => {
const { nextAuth, cfaccess } = config;
const adapter = MetamigoAdapter(config);
const providers = [];
@@ -16,7 +16,7 @@ const nextAuthOptions = (config: IAppConfig, req: NextApiRequest) => {
const { audience, domain } = cfaccess;
const cloudflareAccessEnabled = audience && domain;
if (cloudflareAccessEnabled)
- providers.push(CloudflareAccessProvider(audience, domain, adapter, req));
+ providers.push(CloudflareAccessProvider(audience, domain, adapter, req as any));
else {
if (nextAuth.google?.id)
providers.push(
@@ -78,11 +78,11 @@ const nextAuthOptions = (config: IAppConfig, req: NextApiRequest) => {
};
};
-const nextAuth = async (
- req: NextApiRequest,
- res: NextApiResponse
-): Promise =>
- // @ts-expect-error: Type mismatch
- NextAuth(req, res, nextAuthOptions(await loadConfig(), req));
+const handler = async (req: NextRequest) => {
+ const config = await loadConfig();
+ const authOptions = nextAuthOptions(config, req);
+ // @ts-expect-error: non-existent property
+ return NextAuth(authOptions)(req);
+};
-export default nextAuth;
+export { handler as GET, handler as POST };
diff --git a/apps/metamigo-frontend/pages/api/graphql/[[...path]].ts b/apps/metamigo-frontend/app/api/graphql/[[...path]]/route.ts
similarity index 89%
rename from apps/metamigo-frontend/pages/api/graphql/[[...path]].ts
rename to apps/metamigo-frontend/app/api/graphql/[[...path]]/route.ts
index b2ddc6c..1225892 100644
--- a/apps/metamigo-frontend/pages/api/graphql/[[...path]].ts
+++ b/apps/metamigo-frontend/app/api/graphql/[[...path]]/route.ts
@@ -1,6 +1,6 @@
import { createProxyMiddleware } from "http-proxy-middleware";
-export default createProxyMiddleware({
+export const POST = createProxyMiddleware({
target:
process.env.NODE_ENV === "production"
? "http://metamigo-api:3001"
@@ -28,9 +28,3 @@ export default createProxyMiddleware({
}
},
});
-
-export const config = {
- api: {
- bodyParser: false,
- },
-};
diff --git a/apps/metamigo-frontend/pages/api/proxy/[[...path]].js b/apps/metamigo-frontend/app/api/proxy/[[...path]]/route.js
similarity index 89%
rename from apps/metamigo-frontend/pages/api/proxy/[[...path]].js
rename to apps/metamigo-frontend/app/api/proxy/[[...path]]/route.js
index 470164b..e9820d0 100644
--- a/apps/metamigo-frontend/pages/api/proxy/[[...path]].js
+++ b/apps/metamigo-frontend/app/api/proxy/[[...path]]/route.js
@@ -1,6 +1,6 @@
import { createProxyMiddleware } from "http-proxy-middleware";
-export default createProxyMiddleware({
+const handler = createProxyMiddleware({
target:
process.env.NODE_ENV === "production"
? "http://metamigo-api:3001"
@@ -30,8 +30,4 @@ export default createProxyMiddleware({
},
});
-export const config = {
- api: {
- bodyParser: false,
- },
-};
+export { handler as GET, handler as POST, handler as PUT, handler as DELETE};
diff --git a/apps/metamigo-frontend/app/layout.tsx b/apps/metamigo-frontend/app/layout.tsx
new file mode 100644
index 0000000..539d92a
--- /dev/null
+++ b/apps/metamigo-frontend/app/layout.tsx
@@ -0,0 +1,20 @@
+import { ReactNode } from "react";
+import "app/_styles/globals.css";
+import { MultiProvider } from "./_components/MultiProvider";
+
+type LayoutProps = {
+ children: ReactNode;
+}
+
+export default function Layout({ children }: LayoutProps) {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
+
diff --git a/apps/metamigo-frontend/pages/login.tsx b/apps/metamigo-frontend/app/login/_components/Login.tsx
similarity index 90%
rename from apps/metamigo-frontend/pages/login.tsx
rename to apps/metamigo-frontend/app/login/_components/Login.tsx
index bb3db39..14f6aea 100644
--- a/apps/metamigo-frontend/pages/login.tsx
+++ b/apps/metamigo-frontend/app/login/_components/Login.tsx
@@ -1,8 +1,10 @@
+"use client";
+
import { FC } from "react";
import { Button } from "@mui/material";
import { signIn, signOut, useSession } from "next-auth/react";
-const MyComponent: FC = () => {
+export const Login: FC = () => {
const { data: session } = useSession();
return (
@@ -26,5 +28,3 @@ const MyComponent: FC = () => {
>
);
};
-
-export default MyComponent;
diff --git a/apps/metamigo-frontend/app/login/page.tsx b/apps/metamigo-frontend/app/login/page.tsx
new file mode 100644
index 0000000..7bde599
--- /dev/null
+++ b/apps/metamigo-frontend/app/login/page.tsx
@@ -0,0 +1,5 @@
+import { Login } from "./_components/Login";
+
+export default function Page() {
+ return ;
+}
diff --git a/apps/metamigo-frontend/app/page.tsx b/apps/metamigo-frontend/app/page.tsx
new file mode 100644
index 0000000..67e0859
--- /dev/null
+++ b/apps/metamigo-frontend/app/page.tsx
@@ -0,0 +1,3 @@
+export default function Page() {
+ return null;
+}
diff --git a/apps/metamigo-frontend/pages/_app.tsx b/apps/metamigo-frontend/pages/_app.tsx
deleted file mode 100644
index d5aa97c..0000000
--- a/apps/metamigo-frontend/pages/_app.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import "../styles/globals.css";
-import { AppProps } from "next/app";
-import { SessionProvider } from "next-auth/react";
-
-function MetamigoStarter({ Component, pageProps }: AppProps) {
- return (
-
-
-
- );
-}
-
-export default MetamigoStarter;
diff --git a/apps/metamigo-frontend/pages/admin.tsx b/apps/metamigo-frontend/pages/admin.tsx
deleted file mode 100644
index 4492d6e..0000000
--- a/apps/metamigo-frontend/pages/admin.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { ApolloProvider } from "@apollo/client";
-import { apolloClient } from "../lib/apollo-client";
-import dynamic from "next/dynamic";
-
-const MetamigoAdmin = dynamic(() => import("../components/MetamigoAdmin"), {
- ssr: false,
-});
-
-export default function Home() {
- return (
-
-
-
- );
-}
diff --git a/apps/metamigo-frontend/pages/index.tsx b/apps/metamigo-frontend/pages/index.tsx
deleted file mode 100644
index 8488d1d..0000000
--- a/apps/metamigo-frontend/pages/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { NextPage } from "next";
-import { Typography, Box, Button, Grid, Link } from "@mui/material";
-import { FC, useEffect, PropsWithChildren } from "react";
-import { useRouter } from "next/router";
-
-export const RedirectToAdmin: FC = ({ children }) => {
- const router = useRouter();
- useEffect(() => {
- router.push("/admin");
- });
-
- return <>{children}>;
-};
-
-const Home: NextPage = () => (
-
- Metamigo
-
-
-
-
-
-
-
-
-
-);
-
-export default Home;
diff --git a/apps/metamigo-frontend/tsconfig.json b/apps/metamigo-frontend/tsconfig.json
index 34c0d52..ac093a5 100644
--- a/apps/metamigo-frontend/tsconfig.json
+++ b/apps/metamigo-frontend/tsconfig.json
@@ -2,7 +2,11 @@
"extends": "tsconfig-link",
"compilerOptions": {
"target": "es5",
- "lib": ["dom", "dom.iterable", "esnext"],
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
"allowJs": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
@@ -17,9 +21,24 @@
"strict": true,
"baseUrl": ".",
"paths": {
- "@/*": ["./*", "../../node_modules/*"]
- }
+ "@/*": [
+ "./*",
+ "../../node_modules/*"
+ ]
+ },
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ]
},
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
- "exclude": ["node_modules"]
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
}