diff --git a/apps/bridge-frontend/package.json b/apps/bridge-frontend/package.json index d82cb0c..5a56a05 100644 --- a/apps/bridge-frontend/package.json +++ b/apps/bridge-frontend/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-frontend", - "version": "0.1.0", + "version": "2.1.0", "type": "module", "scripts": { "dev": "next dev", @@ -18,7 +18,6 @@ "@emotion/react": "^11.13.0", "@emotion/styled": "^11.13.0", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", "@mui/x-data-grid-pro": "^7.12.0", diff --git a/apps/bridge-whatsapp/package.json b/apps/bridge-whatsapp/package.json index a4a8940..227abd4 100644 --- a/apps/bridge-whatsapp/package.json +++ b/apps/bridge-whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-whatsapp", - "version": "0.3.0", + "version": "2.1.0", "main": "build/main/index.js", "author": "Darren Clarke ", "license": "AGPL-3.0-or-later", diff --git a/apps/bridge-worker/crontab b/apps/bridge-worker/crontab index 17cc398..0db6c6b 100644 --- a/apps/bridge-worker/crontab +++ b/apps/bridge-worker/crontab @@ -1 +1 @@ -*/1 * * * * fetch-signal-messages +*/1 * * * * fetch-signal-messages ?max=1 diff --git a/apps/bridge-worker/package.json b/apps/bridge-worker/package.json index 0b8e247..8b754d0 100644 --- a/apps/bridge-worker/package.json +++ b/apps/bridge-worker/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-worker", - "version": "0.2.0", + "version": "2.1.0", "type": "module", "main": "build/main/index.js", "author": "Darren Clarke ", @@ -20,7 +20,7 @@ "jest": "^29.7.0", "kysely": "^0.27.3", "pg": "^8.12.0", - "remeda": "^2.7.1", + "remeda": "^2.10.0", "twilio": "^5.2.2" }, "devDependencies": { diff --git a/apps/leafcutter/app/_components/MultiProvider.tsx b/apps/leafcutter/app/_components/MultiProvider.tsx index 6e1f2df..67e12b5 100644 --- a/apps/leafcutter/app/_components/MultiProvider.tsx +++ b/apps/leafcutter/app/_components/MultiProvider.tsx @@ -9,7 +9,7 @@ import { I18n } from "react-polyglot"; import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3"; import { LocalizationProvider } from "@mui/x-date-pickers-pro"; import { LeafcutterProvider } from "@link-stack/leafcutter-ui/components/LeafcutterProvider"; -import { NextAppDirEmotionCacheProvider } from "tss-react/next/appDir"; +import { AppRouterCacheProvider } from "@mui/material-nextjs/v14-appRouter"; import en from "@link-stack/leafcutter-ui/locales/en.json"; import fr from "@link-stack/leafcutter-ui/locales/fr.json"; import { LicenseInfo } from "@mui/x-license"; @@ -25,7 +25,7 @@ export const MultiProvider: FC = ({ children }: any) => { const locale = "en"; return ( - + @@ -38,6 +38,6 @@ export const MultiProvider: FC = ({ children }: any) => { - + ); }; diff --git a/apps/leafcutter/package.json b/apps/leafcutter/package.json index 8065f10..e578e22 100644 --- a/apps/leafcutter/package.json +++ b/apps/leafcutter/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/leafcutter", - "version": "0.2.0", + "version": "2.1.0", "scripts": { "dev": "next dev -p 3001", "login": "aws sso login --sso-session cdr", @@ -17,22 +17,20 @@ "@emotion/react": "^11.13.0", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.13.0", + "@link-stack/leafcutter-ui": "*", + "@link-stack/opensearch-common": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", + "@mui/material-nextjs": "^5.16.6", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", "@opensearch-project/opensearch": "^2.11.0", "cryptr": "^6.3.0", "date-fns": "^3.6.0", "http-proxy-middleware": "^3.0.0", - "@link-stack/leafcutter-ui": "*", "material-ui-popup-state": "^5.1.2", "next": "14.2.5", "next-auth": "^4.24.7", - "next-http-proxy-middleware": "^1.2.6", - "@link-stack/opensearch-common": "*", - "nodemailer": "^6.9.14", "react": "18.3.1", "react-cookie": "^7.2.0", "react-cookie-consent": "^9.0.0", @@ -41,8 +39,6 @@ "react-markdown": "^9.0.1", "react-polyglot": "^0.7.2", "sharp": "^0.33.4", - "swr": "^2.2.5", - "tss-react": "^4.9.12", "uuid": "^10.0.0" }, "devDependencies": { diff --git a/apps/link/app/(login)/login/page.tsx b/apps/link/app/(login)/login/page.tsx index 0367882..7bafdbb 100644 --- a/apps/link/app/(login)/login/page.tsx +++ b/apps/link/app/(login)/login/page.tsx @@ -1,12 +1,18 @@ +import { Suspense } from "react"; import { Metadata } from "next"; import { getSession } from "next-auth/react"; import { Login } from "./_components/Login"; export const metadata: Metadata = { - title: "Login", + title: "CDR Link - Login", }; export default async function Page() { const session = await getSession(); - return ; + + return ( + Loading...}> + + + ); } diff --git a/apps/link/app/(main)/_components/InternalLayout.tsx b/apps/link/app/(main)/_components/InternalLayout.tsx index 4d5400a..e80b52a 100644 --- a/apps/link/app/(main)/_components/InternalLayout.tsx +++ b/apps/link/app/(main)/_components/InternalLayout.tsx @@ -7,11 +7,13 @@ import { SetupModeWarning } from "./SetupModeWarning"; interface InternalLayoutProps extends PropsWithChildren { setupModeActive: boolean; + leafcutterEnabled: boolean; } export const InternalLayout: FC = ({ children, setupModeActive, + leafcutterEnabled, }) => { const [open, setOpen] = useState(true); @@ -19,7 +21,11 @@ export const InternalLayout: FC = ({ - + void; + leafcutterEnabled?: boolean; } -export const Sidebar: FC = ({ open, setOpen }) => { +export const Sidebar: FC = ({ + open, + setOpen, + leafcutterEnabled = false, +}) => { const pathname = usePathname(); const { data: session } = useSession(); const [overviewCounts, setOverviewCounts] = useState(null); const { poppins } = fonts; - const username = session?.user?.name || "User"; + const username = session?.user?.name || ""; // @ts-ignore const roles = session?.user?.roles || []; - const leafcutterEnabled = false; useEffect(() => { const fetchCounts = async () => { @@ -205,12 +208,6 @@ export const Sidebar: FC = ({ open, setOpen }) => { return () => clearInterval(interval); }, []); - const recentCount = 0; - const assignedCount = overviewCounts?.["My Assigned Tickets"] ?? 0; - const openCount = overviewCounts?.["Open Tickets"] ?? 0; - const urgentCount = overviewCounts?.["Escalated Tickets"] ?? 0; - const unassignedCount = overviewCounts?.["Unassigned & Open Tickets"] ?? 0; - const logout = () => { signOut({ callbackUrl: "/login" }); }; @@ -439,7 +436,7 @@ export const Sidebar: FC = ({ open, setOpen }) => { Icon={FeaturedPlayListIcon} iconSize={0} selected={pathname.endsWith("/overview/recent")} - badge={recentCount} + badge={overviewCounts?.recent} open={open} /> = ({ open, setOpen }) => { Icon={FeaturedPlayListIcon} iconSize={0} selected={pathname.endsWith("/overview/open")} - badge={openCount} + badge={overviewCounts?.open} open={open} /> = ({ open, setOpen }) => { Icon={FeaturedPlayListIcon} iconSize={0} selected={pathname.endsWith("/overview/urgent")} - badge={urgentCount} + badge={overviewCounts?.urgent} open={open} /> = ({ open, setOpen }) => { Icon={FeaturedPlayListIcon} iconSize={0} selected={pathname.endsWith("/overview/assigned")} - badge={assignedCount} + badge={overviewCounts?.assigned} open={open} /> = ({ open, setOpen }) => { Icon={FeaturedPlayListIcon} iconSize={0} selected={pathname.endsWith("/overview/unassigned")} - badge={unassignedCount} + badge={overviewCounts?.unassigned} open={open} /> diff --git a/apps/link/app/(main)/layout.tsx b/apps/link/app/(main)/layout.tsx index 057a6fb..62c2cf9 100644 --- a/apps/link/app/(main)/layout.tsx +++ b/apps/link/app/(main)/layout.tsx @@ -12,9 +12,13 @@ type LayoutProps = { export default function Layout({ children }: LayoutProps) { const setupModeActive = process.env.SETUP_MODE === "true"; + const leafcutterEnabled = process.env.LEAFCUTTER_ENABLED === "true"; return ( - + {children} ); diff --git a/apps/link/app/(main)/page.tsx b/apps/link/app/(main)/page.tsx index 64d2fd8..3a74410 100644 --- a/apps/link/app/(main)/page.tsx +++ b/apps/link/app/(main)/page.tsx @@ -6,22 +6,26 @@ import { getUserVisualizations } from "@link-stack/opensearch-common"; import { LeafcutterWrapper } from "@link-stack/leafcutter-ui"; export const metadata: Metadata = { - title: "Link", + title: "CDR Link - Home", }; export default async function Page() { + const leafcutterEnabled = process.env.LEAFCUTTER_ENABLED === "true"; + + if (!leafcutterEnabled) { + redirect("/overview/recent"); + } + const session = await getServerSession(); const { user: { email }, }: any = session; - // const visualizations = await getUserVisualizations(email ?? "none", 20); - redirect("/overview/recent"); - /* + const visualizations = await getUserVisualizations(email ?? "none", 20); + return ( ); - */ } diff --git a/apps/link/app/_actions/overviews.ts b/apps/link/app/_actions/overviews.ts index d21cd23..2e796e6 100644 --- a/apps/link/app/_actions/overviews.ts +++ b/apps/link/app/_actions/overviews.ts @@ -4,15 +4,34 @@ import { executeGraphQL, executeREST } from "app/_lib/zammad"; import { getTicketOverviewCountsQuery } from "app/_graphql/getTicketOverviewCountsQuery"; import { getTicketsByOverviewQuery } from "app/_graphql/getTicketsByOverviewQuery"; +const overviewLookup = { + Assigned: "My Assigned Tickets", + Open: "Open Tickets", + Urgent: "Escalated Tickets", + Unassigned: "Unassigned & Open Tickets", + Recent: "Recent Tickets", + Pending: "Pending Reached Tickets", + MyPending: "My Pending Reached Tickets", + MySubscribed: "My Subscribed Tickets", +}; + export const getOverviewTicketCountsAction = async () => { + const recent = await executeREST({ path: "/api/v1/recent_view" }); const countResult = await executeGraphQL({ query: getTicketOverviewCountsQuery, }); - const overviews = countResult?.ticketOverviews?.edges; - const counts = overviews?.reduce((acc: any, overview: any) => { - acc[overview.node.name] = overview.node.ticketCount; + const overviews = countResult?.ticketOverviews?.edges ?? []; + const counts = overviews.reduce((acc: any, overview: any) => { + const name = overview.node.name; + const key = Object.keys(overviewLookup) + .find((k) => overviewLookup[k] === name) + ?.toLowerCase(); + if (key) { + acc[key] = overview.node.ticketCount ?? 0; + } return acc; - }); + }, {}); + counts.recent = recent.length; return counts; }; @@ -36,12 +55,6 @@ export const getOverviewTicketsAction = async (name: string) => { }); } } else { - const overviewLookup = { - Assigned: "My Assigned Tickets", - Open: "Open Tickets", - Urgent: "Escalated Tickets", - Unassigned: "Unassigned & Open Tickets", - }; const fullName = overviewLookup[name]; const countResult = await executeGraphQL({ query: getTicketOverviewCountsQuery, diff --git a/apps/link/app/_actions/tickets.ts b/apps/link/app/_actions/tickets.ts index 00ef9f3..eb6a008 100644 --- a/apps/link/app/_actions/tickets.ts +++ b/apps/link/app/_actions/tickets.ts @@ -162,14 +162,6 @@ export const getTicketStatesAction = async () => { path: "/api/v1/ticket_states", }); - return states; -}; - -export const getTicketTagsAction = async () => { - const states = await executeREST({ - path: "/api/v1/tags", - }); - const formattedStates = states?.map((state: any) => ({ value: state.id, @@ -179,6 +171,14 @@ export const getTicketTagsAction = async () => { return formattedStates; }; +export const getTicketTagsAction = async () => { + const tags = await executeREST({ + path: "/api/v1/tags", + }); + + return tags; +}; + export const getTicketPrioritiesAction = async () => { const priorities = await executeREST({ path: "/api/v1/ticket_priorities", diff --git a/apps/link/app/_components/MultiProvider.tsx b/apps/link/app/_components/MultiProvider.tsx index e1ef1e5..b526799 100644 --- a/apps/link/app/_components/MultiProvider.tsx +++ b/apps/link/app/_components/MultiProvider.tsx @@ -1,10 +1,9 @@ "use client"; -import { FC, PropsWithChildren, useState } from "react"; +import { FC, PropsWithChildren } from "react"; import { CssBaseline } from "@mui/material"; import { CookiesProvider } from "react-cookie"; import { SessionProvider } from "next-auth/react"; -import { NextAppDirEmotionCacheProvider } from "tss-react/next/appDir"; import { I18n } from "react-polyglot"; import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3"; import { LocalizationProvider } from "@mui/x-date-pickers-pro"; @@ -17,27 +16,21 @@ LicenseInfo.setLicenseKey( ); export const MultiProvider: FC = ({ children }) => { - const origin = - typeof window !== "undefined" && window.location.origin - ? window.location.origin - : null; const messages: any = { en: locales.en, fr: locales.fr }; const locale = "en"; return ( - + - - - - - - {children} - - - - - - + + + + + {children} + + + + + ); }; diff --git a/apps/link/app/_lib/authentication.ts b/apps/link/app/_lib/authentication.ts index bad0c6a..dc27e72 100644 --- a/apps/link/app/_lib/authentication.ts +++ b/apps/link/app/_lib/authentication.ts @@ -17,7 +17,6 @@ const fetchRoles = async () => { const url = `${process.env.ZAMMAD_URL}/api/v1/roles`; const res = await fetch(url, { headers }); const roles = await res.json(); - console.log({ roles }); const formattedRoles = roles.reduce((acc: any, role: any) => { acc[role.id] = role.name; return acc; @@ -26,13 +25,9 @@ const fetchRoles = async () => { }; const fetchUser = async (email: string) => { - console.log({ email }); const url = `${process.env.ZAMMAD_URL}/api/v1/users/search?query=login:${email}&limit=1`; - console.log({ url }); const res = await fetch(url, { headers }); - console.log({ res }); const users = await res.json(); - console.log({ users }); const user = users?.[0]; return user; @@ -41,9 +36,7 @@ const fetchUser = async (email: string) => { const getUserRoles = async (email: string) => { try { const user = await fetchUser(email); - console.log({ user }); const allRoles = await fetchRoles(); - console.log({ allRoles }); const roles = user.role_ids.map((roleID: number) => { const role = allRoles[roleID]; return role ? role.toLowerCase().replace(" ", "_") : null; @@ -57,7 +50,6 @@ const getUserRoles = async (email: string) => { const login = async (email: string, password: string) => { const url = `${process.env.ZAMMAD_URL}/api/v1/users/me`; - console.log({ url }); const authorization = "Basic " + Buffer.from(email + ":" + password).toString("base64"); const res = await fetch(url, { @@ -66,7 +58,6 @@ const login = async (email: string, password: string) => { }, }); const user = await res.json(); - console.log({ user }); if (user && !user.error && user.id) { return user; @@ -96,7 +87,7 @@ export const authOptions: NextAuthOptions = { email: { label: "Email", type: "text" }, password: { label: "Password", type: "password" }, }, - async authorize(credentials, req) { + async authorize(credentials) { const user = await login(credentials.email, credentials.password); if (user) { return user; @@ -108,7 +99,7 @@ export const authOptions: NextAuthOptions = { ], secret: process.env.NEXTAUTH_SECRET, callbacks: { - signIn: async ({ user, account, profile }) => { + signIn: async ({ user }) => { const roles = (await getUserRoles(user.email)) ?? []; return ( roles.includes("admin") || @@ -116,7 +107,7 @@ export const authOptions: NextAuthOptions = { process.env.SETUP_MODE === "true" ); }, - session: async ({ session, user, token }) => { + session: async ({ session, token }) => { // @ts-ignore session.user.roles = token.roles ?? []; // @ts-ignore @@ -126,7 +117,7 @@ export const authOptions: NextAuthOptions = { return session; }, - jwt: async ({ token, user, account, profile, trigger, session }) => { + jwt: async ({ token, user, trigger, session }) => { if (user) { token.roles = (await getUserRoles(user.email)) ?? []; } diff --git a/apps/link/app/layout.tsx b/apps/link/app/layout.tsx index f99795a..b61dab0 100644 --- a/apps/link/app/layout.tsx +++ b/apps/link/app/layout.tsx @@ -1,10 +1,11 @@ import { ReactNode } from "react"; import { Metadata } from "next"; -import "./_styles/global.css"; +import { AppRouterCacheProvider } from "@mui/material-nextjs/v14-appRouter"; import { MultiProvider } from "./_components/MultiProvider"; +import "./_styles/global.css"; export const metadata: Metadata = { - title: "Link", + title: "CDR Link", }; type LayoutProps = { @@ -15,7 +16,9 @@ export default function Layout({ children }: LayoutProps) { return ( - {children} + + {children} + ); diff --git a/apps/link/middleware.ts b/apps/link/middleware.ts index 12555c3..69e1cbe 100644 --- a/apps/link/middleware.ts +++ b/apps/link/middleware.ts @@ -61,7 +61,8 @@ export default withAuth(checkRewrites, { }, callbacks: { authorized: ({ token, req }) => { - if (req.nextUrl.pathname.startsWith("/api/v1/")) { + const path = req.nextUrl.pathname; + if (path.startsWith("/api/v1/")) { return true; } @@ -70,6 +71,11 @@ export default withAuth(checkRewrites, { } const roles: any = token?.roles ?? []; + + if (path.startsWith("/admin") && !roles.includes("admin")) { + return false; + } + if (roles.includes("admin") || roles.includes("agent")) { return true; } diff --git a/apps/link/next.config.js b/apps/link/next.config.js index ca00604..6bb553e 100644 --- a/apps/link/next.config.js +++ b/apps/link/next.config.js @@ -1,8 +1,5 @@ /** @type {import('next').NextConfig} */ const nextConfig = { - experimental: { - missingSuspenseWithCSRBailout: false, - }, transpilePackages: [ "@link-stack/leafcutter-ui", "@link-stack/opensearch-common", diff --git a/apps/link/package.json b/apps/link/package.json index d739752..5c2993a 100644 --- a/apps/link/package.json +++ b/apps/link/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/link", - "version": "0.0.1", + "version": "2.1.0", "type": "module", "scripts": { "dev": "next dev", @@ -16,32 +16,29 @@ "@emotion/react": "^11.13.0", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.13.0", - "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", - "@mui/material": "^5", - "@mui/x-data-grid-pro": "^7.12.0", - "@mui/x-date-pickers-pro": "^7.12.0", "@link-stack/bridge-common": "*", "@link-stack/bridge-ui": "*", + "@link-stack/leafcutter-ui": "*", + "@link-stack/opensearch-common": "*", + "@link-stack/ui": "*", + "@mui/icons-material": "^5", + "@mui/material": "^5", + "@mui/material-nextjs": "^5.16.6", + "@mui/x-data-grid-pro": "^7.12.0", + "@mui/x-date-pickers-pro": "^7.12.0", "date-fns": "^3.6.0", "graphql": "^16.9.0", "graphql-request": "^7.1.0", - "@link-stack/leafcutter-ui": "*", "material-ui-popup-state": "^5.1.2", "mui-chips-input": "^2.1.5", "next": "14.2.5", "next-auth": "^4.24.7", - "@link-stack/opensearch-common": "*", "react": "18.3.1", "react-cookie": "^7.2.0", "react-dom": "18.3.1", "react-iframe": "^1.8.5", "react-polyglot": "^0.7.2", - "sharp": "^0.33.4", - "swr": "^2.2.5", - "tss-react": "^4.9.12", - "twilio-client": "^1.15.1", - "@link-stack/ui": "*" + "sharp": "^0.33.4" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/package-lock.json b/package-lock.json index 59385da..5962825 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ }, "apps/bridge-frontend": { "name": "@link-stack/bridge-frontend", - "version": "0.1.0", + "version": "2.1.0", "dependencies": { "@auth/kysely-adapter": "^1.4.2", "@emotion/cache": "^11.13.1", @@ -35,7 +35,6 @@ "@link-stack/signal-api": "*", "@link-stack/ui": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/material-nextjs": "^5.16.6", "@mui/x-data-grid-pro": "^7.12.0", @@ -72,7 +71,7 @@ }, "apps/bridge-whatsapp": { "name": "@link-stack/bridge-whatsapp", - "version": "0.3.0", + "version": "2.1.0", "license": "AGPL-3.0-or-later", "dependencies": { "@adiwajshing/keyed-db": "0.2.4", @@ -179,7 +178,7 @@ }, "apps/bridge-worker": { "name": "@link-stack/bridge-worker", - "version": "0.2.0", + "version": "2.1.0", "license": "AGPL-3.0-or-later", "dependencies": { "@hapi/wreck": "^18.1.0", @@ -191,7 +190,7 @@ "jest": "^29.7.0", "kysely": "^0.27.3", "pg": "^8.12.0", - "remeda": "^2.7.1", + "remeda": "^2.10.0", "twilio": "^5.2.2" }, "devDependencies": { @@ -219,7 +218,7 @@ }, "apps/leafcutter": { "name": "@link-stack/leafcutter", - "version": "0.2.0", + "version": "2.1.0", "dependencies": { "@emotion/cache": "^11.13.1", "@emotion/react": "^11.13.0", @@ -228,8 +227,8 @@ "@link-stack/leafcutter-ui": "*", "@link-stack/opensearch-common": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", + "@mui/material-nextjs": "^5.16.6", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", "@opensearch-project/opensearch": "^2.11.0", @@ -239,8 +238,6 @@ "material-ui-popup-state": "^5.1.2", "next": "14.2.5", "next-auth": "^4.24.7", - "next-http-proxy-middleware": "^1.2.6", - "nodemailer": "^6.9.14", "react": "18.3.1", "react-cookie": "^7.2.0", "react-cookie-consent": "^9.0.0", @@ -249,8 +246,6 @@ "react-markdown": "^9.0.1", "react-polyglot": "^0.7.2", "sharp": "^0.33.4", - "swr": "^2.2.5", - "tss-react": "^4.9.12", "uuid": "^10.0.0" }, "devDependencies": { @@ -271,7 +266,7 @@ }, "apps/link": { "name": "@link-stack/link", - "version": "0.0.1", + "version": "2.1.0", "dependencies": { "@chatscope/chat-ui-kit-react": "^2.0.3", "@chatscope/chat-ui-kit-styles": "^1.4.0", @@ -285,8 +280,8 @@ "@link-stack/opensearch-common": "*", "@link-stack/ui": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", + "@mui/material-nextjs": "^5.16.6", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", "date-fns": "^3.6.0", @@ -301,10 +296,7 @@ "react-dom": "18.3.1", "react-iframe": "^1.8.5", "react-polyglot": "^0.7.2", - "sharp": "^0.33.4", - "swr": "^2.2.5", - "tss-react": "^4.9.12", - "twilio-client": "^1.15.1" + "sharp": "^0.33.4" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -3041,44 +3033,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@floating-ui/core": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.6.tgz", - "integrity": "sha512-Vkvsw6EcpMHjvZZdMkSY+djMGFbt7CRssW99Ne8tar2WLnZ/l3dbxeTShbLQj+/s35h+Qb4cmnob+EzwtjrXGQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.6" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.9.tgz", - "integrity": "sha512-zB1PcI350t4tkm3rvUhSRKa9sT7vH5CrAbQxW+VaPYJXKAO0gsg4CTueL+6Ajp7XzAQC8CW4Jj1Wgqc0sB6oUQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.6" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", - "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.6.tgz", - "integrity": "sha512-0KI3zGxIUs1KDR/pjQPdJH4Z8nGBm0yJ5WRoRfdw1Kzeh45jkIfA0rmD0kBF6fKHH+xaH7g8y4jIXyAV5MGK3g==", - "license": "MIT" - }, "node_modules/@fortawesome/fontawesome-common-types": { "version": "0.2.36", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", @@ -4717,38 +4671,6 @@ "ts-toolbelt": "^9.6.0" } }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", - "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/core-downloads-tracker": { "version": "5.16.6", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.6.tgz", @@ -4785,47 +4707,6 @@ } } }, - "node_modules/@mui/lab": { - "version": "5.0.0-alpha.173", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.173.tgz", - "integrity": "sha512-Gt5zopIWwxDgGy/MXcp6GueD84xFFugFai4hYiXY0zowJpTVnIrTQCQXV004Q7rejJ7aaCntX9hpPJqCrioshA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/system": "^5.16.5", - "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.5", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@mui/material": ">=5.15.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/material": { "version": "5.16.6", "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.6.tgz", @@ -5965,21 +5846,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/@twilio/audioplayer": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@twilio/audioplayer/-/audioplayer-1.0.6.tgz", - "integrity": "sha512-c9cjX/ifICgXqShtyAQdVMqfe7odnxougiuRMXBJtn3dZ320mFdt7kmuKedpNnc3ZJ6irOZ9M9MZi9/vuEqHiw==", - "license": "BSD-3-Clause", - "dependencies": { - "babel-runtime": "^6.26.0" - } - }, - "node_modules/@twilio/voice-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@twilio/voice-errors/-/voice-errors-1.0.1.tgz", - "integrity": "sha512-iXzCuiOhNMhrr8DVjRRzI14YwGUIBM83kWSWcDktxmXim0Tz9xoCth4QFAQcMkNL2h9DlfXlob6noH+3h2iA4A==", - "license": "BSD-3-Clause" - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -6120,9 +5986,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -6298,9 +6164,9 @@ "license": "MIT" }, "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -7490,34 +7356,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "license": "MIT", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "license": "MIT" - }, - "node_modules/backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", - "license": "MIT", - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/bail": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", @@ -7839,9 +7677,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001649", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz", - "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==", + "version": "1.0.30001650", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001650.tgz", + "integrity": "sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==", "funding": [ { "type": "opencollective", @@ -8377,14 +8215,6 @@ "node": ">= 0.6" } }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "license": "MIT" - }, "node_modules/core-js-compat": { "version": "3.38.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", @@ -9090,9 +8920,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", - "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", "license": "ISC" }, "node_modules/emittery": { @@ -9940,9 +9770,9 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.0.0.tgz", - "integrity": "sha512-wb1ECT+b90ndBdAujhIdAU8oQ3Vt5gKqP/t78KOmg0ifynrvc2jGR9f6ndbOVNFpKf6jLUBlBBDF3H3Wk0JICg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.1.0.tgz", + "integrity": "sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ==", "license": "ISC", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11611,6 +11441,18 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/https-proxy-agent": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", @@ -12210,12 +12052,12 @@ } }, "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -13652,19 +13494,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loglevel": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", - "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" - } - }, "node_modules/long": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", @@ -14762,28 +14591,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/next-http-proxy-middleware": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/next-http-proxy-middleware/-/next-http-proxy-middleware-1.2.6.tgz", - "integrity": "sha512-vHmtFLeO+HomU4Fx/CoA4MbLnXya1B17yR5qOmpYZqRjzGa17a9dgXh9ONvquSZdMrIn7bUfjoPLxMkYMtKj3Q==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "1.17.3", - "http-proxy": "^1.18.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/next-http-proxy-middleware/node_modules/@types/http-proxy": { - "version": "1.17.3", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.3.tgz", - "integrity": "sha512-wIPqXANye5BbORbuh74exbwNzj+UWCwWyeEFJzUQ7Fq3W2NSAy+7x7nX1fgbEypr2/TdKqpeuxLnXWgzN533/Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/node-abi": { "version": "3.65.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", @@ -14875,15 +14682,6 @@ "node": ">=4.4.0" } }, - "node_modules/nodemailer": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.14.tgz", - "integrity": "sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==", - "license": "MIT-0", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -16023,14 +15821,6 @@ "node": ">=6" } }, - "node_modules/precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -16864,9 +16654,9 @@ } }, "node_modules/remeda": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.7.1.tgz", - "integrity": "sha512-P+tm5rsatmF0GRh/EWq7vfoVyYyZbjO5Un/d08rZyEiznQWHXTtxhPu8cTntlQ8bHyPJBF3n2i5yFFmgaS3stA==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.10.0.tgz", + "integrity": "sha512-2RFz0VWckq8nb0nttzToa8BB5HgLsBHokWUKYiV5C8hnsZOTO1jcx0oXKvfS5khabhS6XkngMOLebQB+pm20IQ==", "license": "MIT", "dependencies": { "type-fest": "^4.23.0" @@ -17020,19 +16810,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rtcpeerconnection-shim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.8.tgz", - "integrity": "sha512-5Sx90FGru1sQw9aGOM+kHU4i6mbP8eJPgxliu2X3Syhg8qgDybx8dpDTxUwfJvPnubXFnZeRNl59DWr4AttJKQ==", - "license": "BSD-3-Clause", - "dependencies": { - "sdp": "^2.6.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.10.0" - } - }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -17219,12 +16996,6 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==", "license": "BSD-3-Clause" }, - "node_modules/sdp": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/sdp/-/sdp-2.12.0.tgz", - "integrity": "sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==", - "license": "MIT" - }, "node_modules/secure-json-parse": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", @@ -18012,19 +17783,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/swr": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", - "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", - "license": "MIT", - "dependencies": { - "client-only": "^0.0.1", - "use-sync-external-store": "^1.2.0" - }, - "peerDependencies": { - "react": "^16.11.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/synckit": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", @@ -18555,46 +18313,6 @@ "node": ">=14.0" } }, - "node_modules/twilio-client": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/twilio-client/-/twilio-client-1.15.1.tgz", - "integrity": "sha512-O2Cdq4THosTPLMIfFK0/xcS8SCCLUiv1hDB4i4sAisqtfHEVLXSuNoL332rPkDPC3jzgm3C5zzbEz/XyEXO+NQ==", - "deprecated": "Effective April 1, 2025, Twilio will end of life (EOL) our support for Twilio Voice JS SDK version 1.x. Please migrate to version 2.x https://www.twilio.com/docs/voice/sdks/javascript/migrating-to-js-voice-sdk-20", - "license": "Apache-2.0", - "dependencies": { - "@twilio/audioplayer": "1.0.6", - "@twilio/voice-errors": "1.0.1", - "backoff": "2.5.0", - "loglevel": "1.6.7", - "rtcpeerconnection-shim": "1.2.8", - "ws": "7.4.6", - "xmlhttprequest": "1.8.0" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/twilio-client/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/twilio/node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -18905,18 +18623,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/unist-util-is": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", @@ -19074,15 +18780,6 @@ "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", "license": "MIT" }, - "node_modules/use-sync-external-store": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -19522,15 +19219,6 @@ "node": ">=6.0" } }, - "node_modules/xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/xtend": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", @@ -19644,7 +19332,7 @@ }, "packages/bridge-common": { "name": "@link-stack/bridge-common", - "version": "1.0.0", + "version": "2.2.0", "license": "AGPL-3.0-or-later", "dependencies": { "@auth/kysely-adapter": "^1.4.2", @@ -19673,7 +19361,6 @@ "@emotion/styled": "^11.13.0", "@link-stack/signal-api": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", @@ -19725,7 +19412,7 @@ "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^28.7.0", - "eslint-plugin-promise": "^7.0.0", + "eslint-plugin-promise": "^7.1.0", "eslint-plugin-unicorn": "55.0.0" }, "devDependencies": { @@ -19760,7 +19447,6 @@ "@emotion/styled": "^11.13.0", "@link-stack/opensearch-common": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", @@ -19838,7 +19524,6 @@ "license": "ISC", "dependencies": { "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", diff --git a/packages/bridge-common/package.json b/packages/bridge-common/package.json index 325e985..e285091 100644 --- a/packages/bridge-common/package.json +++ b/packages/bridge-common/package.json @@ -1,6 +1,6 @@ { "name": "@link-stack/bridge-common", - "version": "1.0.0", + "version": "2.2.0", "main": "build/main/index.js", "type": "module", "author": "Darren Clarke ", diff --git a/packages/bridge-ui/lib/whatsapp.ts b/packages/bridge-ui/lib/whatsapp.ts index 59715b0..bf10faa 100644 --- a/packages/bridge-ui/lib/whatsapp.ts +++ b/packages/bridge-ui/lib/whatsapp.ts @@ -13,7 +13,6 @@ export class Whatsapp extends Service { const id = row.id; const url = `${process.env.BRIDGE_WHATSAPP_URL}/api/bots/${id}`; const result = await fetch(url, { cache: "no-store" }); - console.log({ result1: result }); const json = await result.json(); await db @@ -25,7 +24,6 @@ export class Whatsapp extends Service { if (!json.verified) { const url = `${process.env.BRIDGE_WHATSAPP_URL}/api/bots/${id}/register`; const result = await fetch(url, { method: "POST" }); - console.log({ result2: result }); } revalidatePath(`/whatsapp/${id}`); diff --git a/packages/bridge-ui/package.json b/packages/bridge-ui/package.json index 805aaae..1ca1909 100644 --- a/packages/bridge-ui/package.json +++ b/packages/bridge-ui/package.json @@ -12,7 +12,6 @@ "@emotion/styled": "^11.13.0", "@link-stack/signal-api": "*", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index a2a5d06..bb3d3a2 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -18,7 +18,7 @@ "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^28.7.0", - "eslint-plugin-promise": "^7.0.0", + "eslint-plugin-promise": "^7.1.0", "eslint-plugin-unicorn": "55.0.0", "@babel/eslint-parser": "7.25.1" }, diff --git a/packages/leafcutter-ui/package.json b/packages/leafcutter-ui/package.json index be2c393..efccb9a 100644 --- a/packages/leafcutter-ui/package.json +++ b/packages/leafcutter-ui/package.json @@ -10,7 +10,6 @@ "@emotion/server": "^11.11.0", "@emotion/styled": "^11.13.0", "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0", diff --git a/packages/ui/components/Button.tsx b/packages/ui/components/Button.tsx index 0527baf..926dd0d 100644 --- a/packages/ui/components/Button.tsx +++ b/packages/ui/components/Button.tsx @@ -1,5 +1,3 @@ -"use client"; - import { FC } from "react"; import Link from "next/link"; import { Button as MUIButton } from "@mui/material"; diff --git a/packages/ui/package.json b/packages/ui/package.json index d014db9..ccb543a 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -9,7 +9,6 @@ "license": "ISC", "dependencies": { "@mui/icons-material": "^5", - "@mui/lab": "^5.0.0-alpha.173", "@mui/material": "^5", "@mui/x-data-grid-pro": "^7.12.0", "@mui/x-date-pickers-pro": "^7.12.0",