mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
Remove domain segment
This commit is contained in:
@@ -35,7 +35,7 @@ import { Container } from "@chakra-ui/react";
|
|||||||
import { FaEllipsisVertical, FaTrash, FaPencil } from "react-icons/fa6";
|
import { FaEllipsisVertical, FaTrash, FaPencil } from "react-icons/fa6";
|
||||||
import useApi from "../../lib/useApi";
|
import useApi from "../../lib/useApi";
|
||||||
import useRoomList from "./useRoomList";
|
import useRoomList from "./useRoomList";
|
||||||
import { DomainContext } from "../domainContext";
|
import { DomainContext } from "../../domainContext";
|
||||||
import { Select, Options, OptionBase } from "chakra-react-select";
|
import { Select, Options, OptionBase } from "chakra-react-select";
|
||||||
|
|
||||||
interface Stream {
|
interface Stream {
|
||||||
@@ -3,7 +3,7 @@ import SelectSearch from "react-select-search";
|
|||||||
import { getZulipMessage, sendZulipMessage } from "../../../lib/zulip";
|
import { getZulipMessage, sendZulipMessage } from "../../../lib/zulip";
|
||||||
import { GetTranscript, GetTranscriptTopic } from "../../../api";
|
import { GetTranscript, GetTranscriptTopic } from "../../../api";
|
||||||
import "react-select-search/style.css";
|
import "react-select-search/style.css";
|
||||||
import { DomainContext } from "../../domainContext";
|
import { DomainContext } from "../../../domainContext";
|
||||||
|
|
||||||
type ShareModal = {
|
type ShareModal = {
|
||||||
show: boolean;
|
show: boolean;
|
||||||
@@ -11,7 +11,7 @@ import useCreateTranscript from "../createTranscript";
|
|||||||
import SelectSearch from "react-select-search";
|
import SelectSearch from "react-select-search";
|
||||||
import { supportedLanguages } from "../../../supportedLanguages";
|
import { supportedLanguages } from "../../../supportedLanguages";
|
||||||
import { useFiefIsAuthenticated } from "@fief/fief/nextjs/react";
|
import { useFiefIsAuthenticated } from "@fief/fief/nextjs/react";
|
||||||
import { featureEnabled } from "../../domainContext";
|
import { featureEnabled } from "../../../domainContext";
|
||||||
import { Button, Text } from "@chakra-ui/react";
|
import { Button, Text } from "@chakra-ui/react";
|
||||||
const TranscriptCreate = () => {
|
const TranscriptCreate = () => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { featureEnabled } from "../domainContext";
|
import { featureEnabled } from "../../domainContext";
|
||||||
|
|
||||||
import { ShareMode, toShareMode } from "../../lib/shareMode";
|
import { ShareMode, toShareMode } from "../../lib/shareMode";
|
||||||
import { GetTranscript, GetTranscriptTopic, UpdateTranscript } from "../../api";
|
import { GetTranscript, GetTranscriptTopic, UpdateTranscript } from "../../api";
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useState, useRef, useEffect, use } from "react";
|
import React, { useState, useRef, useEffect, use } from "react";
|
||||||
import { featureEnabled } from "../domainContext";
|
import { featureEnabled } from "../../domainContext";
|
||||||
import { Button, Flex, Input, Text } from "@chakra-ui/react";
|
import { Button, Flex, Input, Text } from "@chakra-ui/react";
|
||||||
import QRCode from "react-qr-code";
|
import QRCode from "react-qr-code";
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { featureEnabled } from "../domainContext";
|
import { featureEnabled } from "../../domainContext";
|
||||||
import ShareModal from "./[transcriptId]/shareModal";
|
import ShareModal from "./[transcriptId]/shareModal";
|
||||||
import { GetTranscript, GetTranscriptTopic } from "../../api";
|
import { GetTranscript, GetTranscriptTopic } from "../../api";
|
||||||
import { BoxProps, Button } from "@chakra-ui/react";
|
import { BoxProps, Button } from "@chakra-ui/react";
|
||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
Flex,
|
Flex,
|
||||||
Text,
|
Text,
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import { featureEnabled } from "../domainContext";
|
import { featureEnabled } from "../../domainContext";
|
||||||
|
|
||||||
type TopicListProps = {
|
type TopicListProps = {
|
||||||
topics: Topic[];
|
topics: Topic[];
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useState } from "react";
|
||||||
import { DomainContext } from "../domainContext";
|
import { DomainContext } from "../../domainContext";
|
||||||
import getApi from "../../lib/useApi";
|
import getApi from "../../lib/useApi";
|
||||||
import { useFiefAccessTokenInfo } from "@fief/fief/build/esm/nextjs/react";
|
import { useFiefAccessTokenInfo } from "@fief/fief/build/esm/nextjs/react";
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useState } from "react";
|
||||||
import { Topic, FinalSummary, Status } from "./webSocketTypes";
|
import { Topic, FinalSummary, Status } from "./webSocketTypes";
|
||||||
import { useError } from "../../(errors)/errorContext";
|
import { useError } from "../../(errors)/errorContext";
|
||||||
import { DomainContext } from "../domainContext";
|
import { DomainContext } from "../../domainContext";
|
||||||
import { AudioWaveform, GetTranscriptSegmentTopic } from "../../api";
|
import { AudioWaveform, GetTranscriptSegmentTopic } from "../../api";
|
||||||
import useApi from "../../lib/useApi";
|
import useApi from "../../lib/useApi";
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useError } from "../../(errors)/errorContext";
|
import { useError } from "../(errors)/errorContext";
|
||||||
import { Meeting } from "../../api";
|
import { Meeting } from "../api";
|
||||||
import { shouldShowError } from "../../lib/errorUtils";
|
import { shouldShowError } from "../lib/errorUtils";
|
||||||
import useApi from "../../lib/useApi";
|
import useApi from "../lib/useApi";
|
||||||
|
|
||||||
type ErrorMeeting = {
|
type ErrorMeeting = {
|
||||||
error: Error;
|
error: Error;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { createContext, useContext, useEffect, useState } from "react";
|
import { createContext, useContext, useEffect, useState } from "react";
|
||||||
import { DomainConfig } from "../lib/edgeConfig";
|
import { DomainConfig } from "./lib/edgeConfig";
|
||||||
|
|
||||||
type DomainContextType = Omit<DomainConfig, "auth_callback_url">;
|
type DomainContextType = Omit<DomainConfig, "auth_callback_url">;
|
||||||
|
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
import "../styles/globals.scss";
|
import "./styles/globals.scss";
|
||||||
import { Poppins } from "next/font/google";
|
import { Poppins } from "next/font/google";
|
||||||
import { Metadata, Viewport } from "next";
|
import { Metadata, Viewport } from "next";
|
||||||
import FiefWrapper from "../(auth)/fiefWrapper";
|
import FiefWrapper from "./(auth)/fiefWrapper";
|
||||||
import UserInfo from "../(auth)/userInfo";
|
import UserInfo from "./(auth)/userInfo";
|
||||||
import { ErrorProvider } from "../(errors)/errorContext";
|
import { ErrorProvider } from "./(errors)/errorContext";
|
||||||
import ErrorMessage from "../(errors)/errorMessage";
|
import ErrorMessage from "./(errors)/errorMessage";
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
import About from "../(aboutAndPrivacy)/about";
|
import About from "./(aboutAndPrivacy)/about";
|
||||||
import Privacy from "../(aboutAndPrivacy)/privacy";
|
import Privacy from "./(aboutAndPrivacy)/privacy";
|
||||||
import { DomainContextProvider } from "./domainContext";
|
import { DomainContextProvider } from "./domainContext";
|
||||||
import { getConfig } from "../lib/edgeConfig";
|
import { getConfig } from "./lib/edgeConfig";
|
||||||
import { ErrorBoundary } from "@sentry/nextjs";
|
import { ErrorBoundary } from "@sentry/nextjs";
|
||||||
import { cookies } from "next/dist/client/components/headers";
|
import { cookies } from "next/dist/client/components/headers";
|
||||||
import { SESSION_COOKIE_NAME } from "../lib/fief";
|
import { SESSION_COOKIE_NAME } from "./lib/fief";
|
||||||
import { Providers } from "../providers";
|
import { Providers } from "./providers";
|
||||||
import NextLink from "next/link";
|
import NextLink from "next/link";
|
||||||
import { Container, Flex, Link } from "@chakra-ui/react";
|
import { Container, Flex, Link } from "@chakra-ui/react";
|
||||||
|
|
||||||
@@ -67,15 +67,13 @@ export const metadata: Metadata = {
|
|||||||
robots: { index: false, follow: false, noarchive: true, noimageindex: true },
|
robots: { index: false, follow: false, noarchive: true, noimageindex: true },
|
||||||
};
|
};
|
||||||
|
|
||||||
type LayoutProps = {
|
export default async function RootLayout({
|
||||||
params: {
|
children,
|
||||||
domain: string;
|
}: {
|
||||||
};
|
children: React.ReactNode;
|
||||||
children: any;
|
}) {
|
||||||
};
|
const hostname = new URL(process.env.NEXT_PUBLIC_SITE_URL!).hostname;
|
||||||
|
const config = await getConfig(hostname);
|
||||||
export default async function RootLayout({ children, params }: LayoutProps) {
|
|
||||||
const config = await getConfig(params.domain);
|
|
||||||
const { requireLogin, privacy, browse, rooms } = config.features;
|
const { requireLogin, privacy, browse, rooms } = config.features;
|
||||||
const hasAuthCookie = !!cookies().get(SESSION_COOKIE_NAME);
|
const hasAuthCookie = !!cookies().get(SESSION_COOKIE_NAME);
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useFiefAccessTokenInfo } from "@fief/fief/nextjs/react";
|
import { useFiefAccessTokenInfo } from "@fief/fief/nextjs/react";
|
||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useState } from "react";
|
||||||
import { DomainContext, featureEnabled } from "../[domain]/domainContext";
|
import { DomainContext, featureEnabled } from "../domainContext";
|
||||||
import { CookieContext } from "../(auth)/fiefWrapper";
|
import { CookieContext } from "../(auth)/fiefWrapper";
|
||||||
import { OpenApi, DefaultService } from "../api";
|
import { OpenApi, DefaultService } from "../api";
|
||||||
|
|
||||||
|
|||||||
@@ -24,25 +24,8 @@ export async function middleware(request: NextRequest) {
|
|||||||
if (config.features.requireLogin) {
|
if (config.features.requireLogin) {
|
||||||
const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl);
|
const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl);
|
||||||
const fiefResponse = await fiefMiddleware(request);
|
const fiefResponse = await fiefMiddleware(request);
|
||||||
if (!fiefResponse.headers.get("x-middleware-rewrite")) {
|
|
||||||
fiefResponse.headers.set(
|
|
||||||
"x-middleware-rewrite",
|
|
||||||
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return fiefResponse;
|
return fiefResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
|
||||||
request.nextUrl.pathname == "/" ||
|
|
||||||
request.nextUrl.pathname.startsWith("/transcripts") ||
|
|
||||||
request.nextUrl.pathname.startsWith("/browse") ||
|
|
||||||
request.nextUrl.pathname.startsWith("/rooms")
|
|
||||||
) {
|
|
||||||
return NextResponse.rewrite(
|
|
||||||
request.nextUrl.origin + "/" + domain + request.nextUrl.pathname,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NextResponse.next();
|
return NextResponse.next();
|
||||||
|
|||||||
Reference in New Issue
Block a user