mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-20 09:16:13 +01:00
refactor: organize Sharing/Agent components, improve type safety for resource types and access role ids, rename enums to PascalCase refactor: organize Sharing/Agent components, improve type safety for resource types and access role ids chore: move sharing related components to dedicated "Sharing" directory chore: remove PublicSharingToggle component and update index exports chore: move non-sidepanel agent components to `~/components/Agents` chore: move AgentCategoryDisplay component with tests chore: remove commented out code refactor: change PERMISSION_BITS from const to enum for better type safety refactor: reorganize imports in GenericGrantAccessDialog and update index exports for hooks refactor: update type definitions to use ACCESS_ROLE_IDS for improved type safety refactor: remove unused canAccessPromptResource middleware and related code refactor: remove unused prompt access roles from createAccessRoleMethods refactor: update resourceType in AclEntry type definition to remove unused 'prompt' value refactor: introduce ResourceType enum and update resourceType usage across data provider files for improved type safety refactor: update resourceType usage to ResourceType enum across sharing and permissions components for improved type safety refactor: standardize resourceType usage to ResourceType enum across agent and prompt models, permissions controller, and middleware for enhanced type safety refactor: update resourceType references from PROMPT_GROUP to PROMPTGROUP for consistency across models, middleware, and components refactor: standardize access role IDs and resource type usage across agent, file, and prompt models for improved type safety and consistency chore: add typedefs for TUpdateResourcePermissionsRequest and TUpdateResourcePermissionsResponse to enhance type definitions chore: move SearchPicker to PeoplePicker dir refactor: implement debouncing for query changes in SearchPicker for improved performance chore: fix typing, import order for agent admin settings fix: agent admin settings, prevent agent form submission refactor: rename `ACCESS_ROLE_IDS` to `AccessRoleIds` refactor: replace PermissionBits with PERMISSION_BITS refactor: replace PERMISSION_BITS with PermissionBits
121 lines
2.7 KiB
TypeScript
121 lines
2.7 KiB
TypeScript
import { createBrowserRouter, Navigate, Outlet } from 'react-router-dom';
|
|
import {
|
|
Login,
|
|
VerifyEmail,
|
|
Registration,
|
|
ResetPassword,
|
|
ApiErrorWatcher,
|
|
TwoFactorScreen,
|
|
RequestPasswordReset,
|
|
} from '~/components/Auth';
|
|
import AgentMarketplace from '~/components/Agents/Marketplace';
|
|
import { OAuthSuccess, OAuthError } from '~/components/OAuth';
|
|
import { AuthContextProvider } from '~/hooks/AuthContext';
|
|
import RouteErrorBoundary from './RouteErrorBoundary';
|
|
import StartupLayout from './Layouts/Startup';
|
|
import LoginLayout from './Layouts/Login';
|
|
import dashboardRoutes from './Dashboard';
|
|
import ShareRoute from './ShareRoute';
|
|
import ChatRoute from './ChatRoute';
|
|
import Search from './Search';
|
|
import Root from './Root';
|
|
|
|
const AuthLayout = () => (
|
|
<AuthContextProvider>
|
|
<Outlet />
|
|
<ApiErrorWatcher />
|
|
</AuthContextProvider>
|
|
);
|
|
|
|
export const router = createBrowserRouter([
|
|
{
|
|
path: 'share/:shareId',
|
|
element: <ShareRoute />,
|
|
errorElement: <RouteErrorBoundary />,
|
|
},
|
|
{
|
|
path: 'oauth',
|
|
errorElement: <RouteErrorBoundary />,
|
|
children: [
|
|
{
|
|
path: 'success',
|
|
element: <OAuthSuccess />,
|
|
},
|
|
{
|
|
path: 'error',
|
|
element: <OAuthError />,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/',
|
|
element: <StartupLayout />,
|
|
errorElement: <RouteErrorBoundary />,
|
|
children: [
|
|
{
|
|
path: 'register',
|
|
element: <Registration />,
|
|
},
|
|
{
|
|
path: 'forgot-password',
|
|
element: <RequestPasswordReset />,
|
|
},
|
|
{
|
|
path: 'reset-password',
|
|
element: <ResetPassword />,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'verify',
|
|
element: <VerifyEmail />,
|
|
errorElement: <RouteErrorBoundary />,
|
|
},
|
|
{
|
|
element: <AuthLayout />,
|
|
errorElement: <RouteErrorBoundary />,
|
|
children: [
|
|
{
|
|
path: '/',
|
|
element: <LoginLayout />,
|
|
children: [
|
|
{
|
|
path: 'login',
|
|
element: <Login />,
|
|
},
|
|
{
|
|
path: 'login/2fa',
|
|
element: <TwoFactorScreen />,
|
|
},
|
|
],
|
|
},
|
|
dashboardRoutes,
|
|
{
|
|
path: '/',
|
|
element: <Root />,
|
|
children: [
|
|
{
|
|
index: true,
|
|
element: <Navigate to="/c/new" replace={true} />,
|
|
},
|
|
{
|
|
path: 'c/:conversationId?',
|
|
element: <ChatRoute />,
|
|
},
|
|
{
|
|
path: 'search',
|
|
element: <Search />,
|
|
},
|
|
{
|
|
path: 'agents',
|
|
element: <AgentMarketplace />,
|
|
},
|
|
{
|
|
path: 'agents/:category',
|
|
element: <AgentMarketplace />,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]);
|