diff --git a/.gitignore b/.gitignore index 4011990..9ba6742 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ node_modules .env .turbo -*.tsbuildinfo build/** **/dist/** .next/** @@ -27,7 +26,3 @@ signald-state/* baileys-state signald-state project.org -**/.openapi-generator/ -apps/bridge-worker/scripts/* -ENVIRONMENT_VARIABLES_MIGRATION.md -local-scripts/* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8fcd82b..6f80211 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: node:22-bookworm-slim +image: node:20-bookworm-slim stages: - build @@ -8,44 +8,37 @@ stages: build-all: stage: build variables: - TURBO_TOKEN: ${TURBO_TOKEN} - TURBO_TEAM: ${TURBO_TEAM} - ZAMMAD_URL: ${ZAMMAD_URL} - PNPM_HOME: "/pnpm" + TURBO_TOKEN: $TURBO_TOKEN + TURBO_TEAM: $TURBO_TEAM script: - - export PATH="$PNPM_HOME:$PATH" - - corepack enable && corepack prepare pnpm@9.15.4 --activate - - pnpm add -g turbo - - pnpm install --frozen-lockfile + - npm install npm@latest -g + - npm install -g turbo + - npm ci - turbo build .docker-build: - image: registry.gitlab.com/digiresilience/link/link-stack/buildx:main + image: registry.gitlab.com/digiresilience/link/link-stack/buildx:${CI_COMMIT_REF_NAME} services: - docker:dind stage: docker-build variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} - BUILD_CONTEXT: . + DOCKER_CONTEXT: . only: - main - develop - tags script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} .docker-release: - image: registry.gitlab.com/digiresilience/link/link-stack/buildx:main + image: registry.gitlab.com/digiresilience/link/link-stack/buildx:${CI_COMMIT_REF_NAME} services: - docker:dind stage: docker-release variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} DOCKER_TAG_NEW: ${CI_COMMIT_REF_NAME} only: @@ -80,49 +73,49 @@ link-docker-release: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/link -bridge-frontend-docker-build: +leafcutter-docker-build: extends: .docker-build variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-frontend - DOCKERFILE_PATH: ./apps/bridge-frontend/Dockerfile + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/leafcutter + DOCKERFILE_PATH: ./apps/leafcutter/Dockerfile -bridge-frontend-docker-release: +leafcutter-docker-release: extends: .docker-release variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-frontend + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/leafcutter -bridge-worker-docker-build: +bridge-docker-build: extends: .docker-build variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-worker - DOCKERFILE_PATH: ./apps/bridge-worker/Dockerfile + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge + DOCKERFILE_PATH: ./apps/bridge-cli/Dockerfile -bridge-worker-docker-release: +bridge-docker-release: extends: .docker-release variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-worker + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge -bridge-whatsapp-docker-build: +elasticsearch-docker-build: extends: .docker-build variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-whatsapp - DOCKERFILE_PATH: ./apps/bridge-whatsapp/Dockerfile + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/elasticsearch + DOCKERFILE_PATH: ./docker/elasticsearch/Dockerfile -bridge-whatsapp-docker-release: +elasticsearch-docker-release: extends: .docker-release variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/bridge-whatsapp + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/elasticsearch -signal-cli-rest-api-docker-build: +label-studio-docker-build: extends: .docker-build variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/signal-cli-rest-api - DOCKERFILE_PATH: ./docker/signal-cli-rest-api/Dockerfile + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/label-studio + DOCKERFILE_PATH: ./docker/label-studio/Dockerfile -signal-cli-rest-api-docker-release: +label-studio-docker-release: extends: .docker-release variables: - DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/signal-cli-rest-api + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/label-studio memcached-docker-build: extends: .docker-build @@ -190,22 +183,32 @@ redis-docker-release: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/redis +signald-docker-build: + extends: .docker-build + variables: + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/signald + DOCKERFILE_PATH: ./docker/signald/Dockerfile + +signald-docker-release: + extends: .docker-release + variables: + DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/signald + zammad-docker-build: extends: .docker-build variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/zammad DOCKERFILE_PATH: ./docker/zammad/Dockerfile - BUILD_CONTEXT: ./docker/zammad - PNPM_HOME: "/pnpm" + DOCKER_CONTEXT: ./docker/zammad before_script: - - export PATH="$PNPM_HOME:$PATH" - - corepack enable && corepack prepare pnpm@9.15.4 --activate + - apk --update add nodejs npm script: - - pnpm add -g turbo - - pnpm install --frozen-lockfile - - turbo build --force --filter @link-stack/zammad-addon-* + - npm install npm@latest -g + - npm install -g turbo + - npm ci + - turbo build --force --filter zammad-addon-* - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --build-arg EMBEDDED=true --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --build-arg EMBEDDED=true --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} zammad-docker-release: @@ -218,17 +221,16 @@ zammad-standalone-docker-build: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/zammad-standalone DOCKERFILE_PATH: ./docker/zammad/Dockerfile - BUILD_CONTEXT: ./docker/zammad - PNPM_HOME: "/pnpm" + DOCKER_CONTEXT: ./docker/zammad before_script: - - export PATH="$PNPM_HOME:$PATH" - - corepack enable && corepack prepare pnpm@9.15.4 --activate + - apk --update add nodejs npm script: - - pnpm add -g turbo - - pnpm install --frozen-lockfile - - turbo build --force --filter @link-stack/zammad-addon-* + - npm install npm@latest -g + - npm install -g turbo + - npm ci + - turbo build --force --filter zammad-addon-* - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} zammad-standalone-docker-release: diff --git a/.nvmrc b/.nvmrc index 32cfab6..6ed5da9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v22.18.0 +v20.2.0 diff --git a/README.md b/README.md index 155729c..964bee8 100644 --- a/README.md +++ b/README.md @@ -1,23 +1 @@ -# CDR Link - -CDR Link is a simple & streamlined helpdesk that lets you tag, assign and respond to your tickets. It is developed by the [Center for Digital Resilience](https://digiresilience.org) and powered by [Zammad](https://zammad.org). - -Key differences between CDR Link and a standard Zammad installation: - -- In addition to the full Zammad interface, CDR Link also provides a simplified 'shell' interface that focuses on the most-commonly-used functionality. -- Additional channels to communicate with users, including Signal, Whatsapp & Twilio voice messaging. -- More stringent privacy defaults: ticket data is never sent over email and calls to third-party services are restricted. - -## Developing - -This is a monorepo that contains CDR Link and several supporting applications and libraries. It also includes Dockerfiles to build all of the other containers required for an installation. By tagging our own versions of these dependencies, we can make sure that different versions of the supporting containers all work together and are updated in sync. - -We use [Turborepo](https://turbo.build) to manage development and building of the packages. To get started: - -- `npm install` in the root directory -- `turbo build` to build all packages - -To run a single package: - -- `turbo dev --filter @link-stack/link` - +# TK diff --git a/apps/bridge-frontend/Dockerfile b/apps/bridge-frontend/Dockerfile index 75a19ce..44f5b57 100644 --- a/apps/bridge-frontend/Dockerfile +++ b/apps/bridge-frontend/Dockerfile @@ -1,30 +1,24 @@ -FROM node:22-bookworm-slim AS base +FROM node:20-bookworm AS base FROM base AS builder ARG APP_DIR=/opt/bridge-frontend -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" RUN mkdir -p ${APP_DIR}/ -RUN corepack enable && corepack prepare pnpm@9.15.4 --activate -RUN pnpm add -g turbo +RUN npm i -g turbo WORKDIR ${APP_DIR} COPY . . -RUN turbo prune --scope=@link-stack/bridge-frontend --scope=@link-stack/bridge-migrations --docker +RUN turbo prune --scope=bridge-frontend --docker FROM base AS installer ARG APP_DIR=/opt/bridge-frontend -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" WORKDIR ${APP_DIR} -RUN corepack enable && corepack prepare pnpm@9.15.4 --activate COPY --from=builder ${APP_DIR}/.gitignore .gitignore COPY --from=builder ${APP_DIR}/out/json/ . -COPY --from=builder ${APP_DIR}/out/pnpm-lock.yaml ./pnpm-lock.yaml -RUN pnpm install --frozen-lockfile +COPY --from=builder ${APP_DIR}/out/package-lock.json ./package-lock.json +RUN npm ci COPY --from=builder ${APP_DIR}/out/full/ . -RUN pnpm add -g turbo -RUN turbo run build --filter=@link-stack/bridge-frontend --filter=@link-stack/bridge-migrations +RUN npm i -g turbo +RUN turbo run build --filter=bridge-frontend FROM base AS runner ARG APP_DIR=/opt/bridge-frontend @@ -35,20 +29,22 @@ LABEL maintainer="Darren Clarke " LABEL org.label-schema.build-date=$BUILD_DATE LABEL org.label-schema.version=$VERSION ENV APP_DIR ${APP_DIR} -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable && corepack prepare pnpm@9.15.4 --activate RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ apt-get install -y --no-install-recommends \ dumb-init RUN mkdir -p ${APP_DIR} +RUN chown -R node ${APP_DIR}/ + +USER node WORKDIR ${APP_DIR} -COPY --from=installer ${APP_DIR} ./ -RUN chown -R node:node ${APP_DIR}/ +COPY --from=installer ${APP_DIR}/node_modules/ ./node_modules/ +COPY --from=installer ${APP_DIR}/apps/bridge-frontend/ ./apps/bridge-frontend/ +COPY --from=installer ${APP_DIR}/package.json ./package.json +USER root WORKDIR ${APP_DIR}/apps/bridge-frontend/ RUN chmod +x docker-entrypoint.sh USER node EXPOSE 3000 ENV PORT 3000 ENV NODE_ENV production -ENTRYPOINT ["/opt/bridge-frontend/apps/bridge-frontend/docker-entrypoint.sh"] +ENTRYPOINT ["/opt/link/apps/bridge-frontend/docker-entrypoint.sh"] diff --git a/apps/bridge-frontend/README.md b/apps/bridge-frontend/README.md index ebec248..c403366 100644 --- a/apps/bridge-frontend/README.md +++ b/apps/bridge-frontend/README.md @@ -1,133 +1,36 @@ -# Bridge Frontend +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). -Frontend application for managing communication bridges between various messaging platforms and the CDR Link system. +## Getting Started -## Overview - -Bridge Frontend provides a web interface for configuring and managing communication channels including Signal, WhatsApp, Facebook, and Voice integrations. It handles bot registration, webhook configuration, and channel settings. - -## Features - -- **Channel Management**: Configure Signal, WhatsApp, Facebook, and Voice channels -- **Bot Registration**: Register and manage bots for each communication platform -- **Webhook Configuration**: Set up webhooks for message routing -- **Settings Management**: Configure channel-specific settings and behaviors -- **User Authentication**: Secure access with NextAuth.js - -## Development - -### Prerequisites - -- Node.js >= 20 -- npm >= 10 -- PostgreSQL database -- Running bridge-worker service - -### Setup +First, run the development server: ```bash -# Install dependencies -npm install - -# Run database migrations -npm run migrate:latest - -# Run development server npm run dev - -# Build for production -npm run build - -# Start production server -npm run start +# or +yarn dev +# or +pnpm dev +# or +bun dev ``` -### Environment Variables +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. -Required environment variables: +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. -- `DATABASE_URL` - PostgreSQL connection string -- `DATABASE_HOST` - Database host -- `DATABASE_NAME` - Database name -- `DATABASE_USER` - Database username -- `DATABASE_PASSWORD` - Database password -- `NEXTAUTH_URL` - Application URL -- `NEXTAUTH_SECRET` - NextAuth.js secret -- `GOOGLE_CLIENT_ID` - Google OAuth client ID -- `GOOGLE_CLIENT_SECRET` - Google OAuth client secret +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. -### Available Scripts +## Learn More -- `npm run dev` - Start development server -- `npm run build` - Build for production -- `npm run start` - Start production server -- `npm run lint` - Run ESLint -- `npm run migrate:latest` - Run all pending migrations -- `npm run migrate:down` - Rollback last migration -- `npm run migrate:up` - Run next migration -- `npm run migrate:make` - Create new migration +To learn more about Next.js, take a look at the following resources: -## Architecture +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. -### Database Schema +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! -The application manages the following main entities: +## Deploy on Vercel -- **Bots**: Communication channel bot configurations -- **Webhooks**: Webhook endpoints for external integrations -- **Settings**: Channel-specific configuration settings -- **Users**: User accounts with role-based permissions +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. -### API Routes - -- `/api/auth` - Authentication endpoints -- `/api/[service]/bots` - Bot management for each service -- `/api/[service]/webhooks` - Webhook configuration - -### Page Structure - -- `/` - Dashboard/home page -- `/login` - Authentication page -- `/[...segment]` - Dynamic routing for CRUD operations - - `@create` - Create new entities - - `@detail` - View entity details - - `@edit` - Edit existing entities - -## Integration - -### Database Access - -Uses Kysely ORM for type-safe database queries: - -```typescript -import { db } from '@link-stack/database' - -const bots = await db - .selectFrom('bots') - .selectAll() - .execute() -``` - -### Authentication - -Integrated with NextAuth.js using database adapter: - -```typescript -import { authOptions } from '@link-stack/auth' -``` - -## Docker Support - -```bash -# Build image -docker build -t link-stack/bridge-frontend . - -# Run with docker-compose -docker-compose -f docker/compose/bridge.yml up -``` - -## Related Services - -- **bridge-worker**: Processes messages from configured channels -- **bridge-whatsapp**: WhatsApp-specific integration service -- **bridge-migrations**: Database schema management \ No newline at end of file +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/bridge-frontend/app/(main)/[...segment]/@create/page.tsx b/apps/bridge-frontend/app/(main)/[...segment]/@create/page.tsx index bc5b6b8..6b1def5 100644 --- a/apps/bridge-frontend/app/(main)/[...segment]/@create/page.tsx +++ b/apps/bridge-frontend/app/(main)/[...segment]/@create/page.tsx @@ -1,11 +1,10 @@ -import { Create } from "@link-stack/bridge-ui"; +import { Create } from "bridge-ui"; type PageProps = { - params: Promise<{ segment: string[] }>; + params: { segment: string[] }; }; -export default async function Page({ params }: PageProps) { - const { segment } = await params; +export default function Page({ params: { segment } }: PageProps) { const service = segment[0]; return ; diff --git a/apps/bridge-frontend/app/(main)/[...segment]/@detail/page.tsx b/apps/bridge-frontend/app/(main)/[...segment]/@detail/page.tsx index e857b7d..66d9c09 100644 --- a/apps/bridge-frontend/app/(main)/[...segment]/@detail/page.tsx +++ b/apps/bridge-frontend/app/(main)/[...segment]/@detail/page.tsx @@ -1,12 +1,11 @@ -import { db } from "@link-stack/bridge-common"; -import { serviceConfig, Detail } from "@link-stack/bridge-ui"; +import { db } from "bridge-common"; +import { serviceConfig, Detail } from "bridge-ui"; -type PageProps = { - params: Promise<{ segment: string[] }>; +type Props = { + params: { segment: string[] }; }; -export default async function Page({ params }: PageProps) { - const { segment } = await params; +export default async function Page({ params: { segment } }: Props) { const service = segment[0]; const id = segment?.[1]; diff --git a/apps/bridge-frontend/app/(main)/[...segment]/@edit/page.tsx b/apps/bridge-frontend/app/(main)/[...segment]/@edit/page.tsx index 82c8052..f028400 100644 --- a/apps/bridge-frontend/app/(main)/[...segment]/@edit/page.tsx +++ b/apps/bridge-frontend/app/(main)/[...segment]/@edit/page.tsx @@ -1,12 +1,11 @@ -import { db } from "@link-stack/bridge-common"; -import { serviceConfig, Edit } from "@link-stack/bridge-ui"; +import { db } from "bridge-common"; +import { serviceConfig, Edit } from "bridge-ui"; type PageProps = { - params: Promise<{ segment: string[] }>; + params: { segment: string[] }; }; -export default async function Page({ params }: PageProps) { - const { segment } = await params; +export default async function Page({ params: { segment } }: PageProps) { const service = segment[0]; const id = segment?.[1]; diff --git a/apps/bridge-frontend/app/(main)/[...segment]/layout.tsx b/apps/bridge-frontend/app/(main)/[...segment]/layout.tsx index c360a57..773d96c 100644 --- a/apps/bridge-frontend/app/(main)/[...segment]/layout.tsx +++ b/apps/bridge-frontend/app/(main)/[...segment]/layout.tsx @@ -1,3 +1,3 @@ -import { ServiceLayout } from "@link-stack/bridge-ui"; +import { ServiceLayout } from "bridge-ui"; export default ServiceLayout; diff --git a/apps/bridge-frontend/app/(main)/[...segment]/page.tsx b/apps/bridge-frontend/app/(main)/[...segment]/page.tsx index 7b4fc03..6da1c45 100644 --- a/apps/bridge-frontend/app/(main)/[...segment]/page.tsx +++ b/apps/bridge-frontend/app/(main)/[...segment]/page.tsx @@ -1,14 +1,13 @@ -import { db } from "@link-stack/bridge-common"; -import { serviceConfig, List } from "@link-stack/bridge-ui"; +import { db } from "bridge-common"; +import { serviceConfig, List } from "bridge-ui"; type PageProps = { - params: Promise<{ + params: { segment: string[]; - }>; + }; }; -export default async function Page({ params }: PageProps) { - const { segment } = await params; +export default async function Page({ params: { segment } }: PageProps) { const service = segment[0]; if (!service) return null; diff --git a/apps/bridge-frontend/app/(main)/page.tsx b/apps/bridge-frontend/app/(main)/page.tsx index e01be47..d8a8d6c 100644 --- a/apps/bridge-frontend/app/(main)/page.tsx +++ b/apps/bridge-frontend/app/(main)/page.tsx @@ -1,4 +1,4 @@ -import { Home } from "@link-stack/bridge-ui"; +import { Home } from "bridge-ui"; export default function Page() { return ; diff --git a/apps/bridge-frontend/app/_components/InternalLayout.tsx b/apps/bridge-frontend/app/_components/InternalLayout.tsx index 72985ad..976719c 100644 --- a/apps/bridge-frontend/app/_components/InternalLayout.tsx +++ b/apps/bridge-frontend/app/_components/InternalLayout.tsx @@ -3,27 +3,33 @@ import { FC, PropsWithChildren, useState } from "react"; import { Grid } from "@mui/material"; import { CssBaseline } from "@mui/material"; -import { AppRouterCacheProvider } from "@mui/material-nextjs/v14-appRouter"; import { SessionProvider } from "next-auth/react"; +import { css, Global } from "@emotion/react"; +import { fonts } from "ui"; import { Sidebar } from "./Sidebar"; export const InternalLayout: FC = ({ children }) => { const [open, setOpen] = useState(true); + const { roboto } = fonts; + const globalCSS = css` + * { + font-family: ${roboto.style.fontFamily}; + } + `; return ( - - - - - - - {children as any} - + + + + + + + {children as any} - - + + ); }; diff --git a/apps/bridge-frontend/app/_components/Login.tsx b/apps/bridge-frontend/app/_components/Login.tsx index 8e40129..9282b19 100644 --- a/apps/bridge-frontend/app/_components/Login.tsx +++ b/apps/bridge-frontend/app/_components/Login.tsx @@ -17,7 +17,7 @@ import { import { signIn } from "next-auth/react"; import Image from "next/image"; import LinkLogo from "@/app/_images/link-logo-small.png"; -import { colors, fonts } from "@link-stack/ui"; +import { colors, fonts } from "ui"; import { useSearchParams } from "next/navigation"; type LoginProps = { diff --git a/apps/bridge-frontend/app/_components/Sidebar.tsx b/apps/bridge-frontend/app/_components/Sidebar.tsx index 31aaaaa..60355c2 100644 --- a/apps/bridge-frontend/app/_components/Sidebar.tsx +++ b/apps/bridge-frontend/app/_components/Sidebar.tsx @@ -20,12 +20,11 @@ import { WhatsApp as WhatsAppIcon, Facebook as FacebookIcon, AirlineStops as AirlineStopsIcon, - Logout as LogoutIcon, } from "@mui/icons-material"; import { usePathname } from "next/navigation"; import Link from "next/link"; import Image from "next/image"; -import { typography, fonts, Button } from "@link-stack/ui"; +import { typography, fonts } from "ui"; import LinkLogo from "@/app/_images/link-logo-small.png"; import { useSession, signOut } from "next-auth/react"; @@ -162,9 +161,9 @@ export const Sidebar: FC = ({ open, setOpen }) => { const { data: session } = useSession(); const user = session?.user; - const logout = () => { - signOut({ callbackUrl: "/login" }); - }; + // const logout = () => { + // signOut({ callbackUrl: "/login" }); + // }; return ( = ({ open, setOpen }) => { )} - - - - {user?.email} - - - -