-
-
-
-
+
);
diff --git a/web/src/routes.tsx b/web/src/routes.tsx
index 8c6d538a6..5bad48793 100644
--- a/web/src/routes.tsx
+++ b/web/src/routes.tsx
@@ -165,62 +165,71 @@ const routeConfigOptions = [
],
},
{
- path: Routes.Datasets,
- layout: false,
+ path: Routes.Chat + '/:id',
+ Component: () => import('@/pages/next-chats/chat'),
+ },
+ {
+ path: Routes.Root,
Component: () => import('@/layouts/next'),
children: [
{
path: Routes.Datasets,
Component: () => import('@/pages/datasets'),
},
- ],
- },
- {
- path: Routes.Chats,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
+ {
+ path: Routes.DatasetBase,
+ Component: () => import('@/pages/dataset'),
+ children: [
+ {
+ path: `${Routes.Dataset}/:id`,
+ Component: () => import('@/pages/dataset/dataset'),
+ },
+ {
+ path: `${Routes.DatasetBase}${Routes.DatasetTesting}/:id`,
+ Component: () => import('@/pages/dataset/testing'),
+ },
+ {
+ path: `${Routes.DatasetBase}${Routes.KnowledgeGraph}/:id`,
+ Component: () => import('@/pages/dataset/knowledge-graph'),
+ },
+ {
+ path: `${Routes.DatasetBase}${Routes.DataSetOverview}/:id`,
+ Component: () => import('@/pages/dataset/dataset-overview'),
+ },
+ {
+ path: `${Routes.DatasetBase}${Routes.DataSetSetting}/:id`,
+ Component: () => import('@/pages/dataset/dataset-setting'),
+ },
+ ],
+ },
{
path: Routes.Chats,
Component: () => import('@/pages/next-chats'),
},
- ],
- },
- {
- path: Routes.Chat + '/:id',
- layout: false,
- Component: () => import('@/pages/next-chats/chat'),
- },
- {
- path: Routes.Searches,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
{
path: Routes.Searches,
Component: () => import('@/pages/next-searches'),
},
- ],
- },
- {
- path: Routes.Memories,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
+ {
+ path: `${Routes.Search}/:id`,
+ layout: false,
+ Component: () => import('@/pages/next-search'),
+ },
+ {
+ path: Routes.Agents,
+ Component: () => import('@/pages/agents'),
+ },
+ {
+ path: Routes.AgentTemplates,
+ layout: false,
+ Component: () => import('@/pages/agents/agent-templates'),
+ },
{
path: Routes.Memories,
Component: () => import('@/pages/memories'),
},
- ],
- },
- {
- path: `${Routes.Memory}`,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
{
path: `${Routes.Memory}`,
- layout: false,
Component: () => import('@/pages/memory'),
children: [
{
@@ -233,181 +242,105 @@ const routeConfigOptions = [
},
],
},
- ],
- },
- {
- path: `${Routes.Search}/:id`,
- layout: false,
- Component: () => import('@/pages/next-search'),
- },
- {
- path: `${Routes.SearchShare}`,
- layout: false,
- Component: () => import('@/pages/next-search/share'),
- },
- {
- path: Routes.Agents,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
- {
- path: Routes.Agents,
- Component: () => import('@/pages/agents'),
- },
- ],
- },
- {
- path: `${Routes.AgentLogPage}/:id`,
- layout: false,
- Component: () => import('@/pages/agents/agent-log-page'),
- },
- {
- path: `${Routes.Agent}/:id`,
- layout: false,
- Component: () => import('@/pages/agent'),
- },
- {
- path: Routes.AgentExplore,
- layout: false,
- Component: () => import('@/pages/agent/explore'),
- errorElement:
,
- },
- {
- path: Routes.AgentTemplates,
- layout: false,
- Component: () => import('@/pages/agents/agent-templates'),
- },
-
- {
- path: Routes.Files,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
{
path: Routes.Files,
Component: () => import('@/pages/files'),
},
- ],
- },
- {
- path: Routes.DatasetBase,
- layout: false,
- Component: () => import('@/layouts/next'),
- children: [
{
- path: Routes.DatasetBase,
- element:
,
- },
- ],
- },
- {
- path: Routes.DatasetBase,
- layout: false,
- Component: () => import('@/pages/dataset'),
- children: [
- {
- path: `${Routes.Dataset}/:id`,
- Component: () => import('@/pages/dataset/dataset'),
- },
- {
- path: `${Routes.DatasetBase}${Routes.DatasetTesting}/:id`,
- Component: () => import('@/pages/dataset/testing'),
- },
- {
- path: `${Routes.DatasetBase}${Routes.KnowledgeGraph}/:id`,
- Component: () => import('@/pages/dataset/knowledge-graph'),
- },
- {
- path: `${Routes.DatasetBase}${Routes.DataSetOverview}/:id`,
- Component: () => import('@/pages/dataset/dataset-overview'),
- },
- {
- path: `${Routes.DatasetBase}${Routes.DataSetSetting}/:id`,
- Component: () => import('@/pages/dataset/dataset-setting'),
- },
- ],
- },
- {
- path: `${Routes.DataflowResult}`,
- layout: false,
- Component: () => import('@/pages/dataflow-result'),
- },
- {
- path: `${Routes.ParsedResult}/chunks`,
- layout: false,
- Component: () =>
- import('@/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk'),
- },
- {
- path: Routes.Chunk,
- layout: false,
- children: [
- {
- path: Routes.Chunk,
- Component: () => import('@/pages/chunk'),
+ path: Routes.UserSetting,
+ Component: () => import('@/pages/user-setting'),
+ layout: false,
children: [
{
- path: `${Routes.ChunkResult}/:id`,
- Component: () => import('@/pages/chunk/chunk-result'),
+ path: Routes.UserSetting,
+ element: (
+
+ ),
},
{
- path: `${Routes.ResultView}/:id`,
- Component: () => import('@/pages/chunk/result-view'),
+ path: `${Routes.UserSetting}/profile`,
+ Component: () => import('@/pages/user-setting/profile'),
+ },
+ {
+ path: `${Routes.UserSetting}/locale`,
+ Component: () => import('@/pages/user-setting/setting-locale'),
+ },
+ {
+ path: `${Routes.UserSetting}/model`,
+ Component: () => import('@/pages/user-setting/setting-model'),
+ },
+ {
+ path: `${Routes.UserSetting}/team`,
+ Component: () => import('@/pages/user-setting/setting-team'),
+ },
+ {
+ path: `${Routes.UserSetting}${Routes.Api}`,
+ Component: () => import('@/pages/user-setting/setting-api'),
+ },
+ {
+ path: `${Routes.UserSetting}${Routes.Mcp}`,
+ Component: () => import('@/pages/user-setting/mcp'),
+ },
+ {
+ path: `${Routes.UserSetting}${Routes.DataSource}${Routes.DataSourceDetailPage}`,
+ Component: () =>
+ import('@/pages/user-setting/data-source/data-source-detail-page'),
+ },
+ {
+ path: `${Routes.UserSetting}${Routes.DataSource}`,
+ Component: () => import('@/pages/user-setting/data-source'),
},
],
},
],
},
{
- path: Routes.Chunk,
- layout: false,
- Component: () => import('@/pages/chunk'),
+ path: `${Routes.SearchShare}`,
+ Component: () => import('@/pages/next-search/share'),
},
{
- path: '/user-setting',
- Component: () => import('@/pages/user-setting'),
- layout: false,
+ path: Routes.Agent,
children: [
{
- path: '/user-setting',
- element:
,
+ path: `${Routes.Agent}/:id`,
+ Component: () => import('@/pages/agent'),
},
{
- path: '/user-setting/profile',
- Component: () => import('@/pages/user-setting/profile'),
- },
- {
- path: '/user-setting/locale',
- Component: () => import('@/pages/user-setting/setting-locale'),
- },
- {
- path: '/user-setting/model',
- Component: () => import('@/pages/user-setting/setting-model'),
- },
- {
- path: '/user-setting/team',
- Component: () => import('@/pages/user-setting/setting-team'),
- },
- {
- path: `/user-setting${Routes.Api}`,
- Component: () => import('@/pages/user-setting/setting-api'),
- },
- {
- path: `/user-setting${Routes.Mcp}`,
- Component: () => import('@/pages/user-setting/mcp'),
- },
- {
- path: `/user-setting${Routes.DataSource}`,
- Component: () => import('@/pages/user-setting/data-source'),
+ path: Routes.AgentExplore,
+ Component: () => import('@/pages/agent/explore'),
+ errorElement:
,
},
],
},
{
- path: `/user-setting${Routes.DataSource}${Routes.DataSourceDetailPage}`,
- Component: () =>
- import('@/pages/user-setting/data-source/data-source-detail-page'),
-
- layout: false,
+ path: `${Routes.AgentLogPage}/:id`,
+ Component: () => import('@/pages/agents/agent-log-page'),
+ },
+ {
+ path: `${Routes.DataflowResult}`,
+ Component: () => import('@/pages/dataflow-result'),
+ },
+ {
+ path: Routes.Chunk,
+ children: [
+ {
+ path: `${Routes.Chunk}`,
+ Component: () => import('@/pages/chunk'),
+ },
+ {
+ path: `${Routes.ParsedResult}/chunks`,
+ Component: () =>
+ import('@/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk'),
+ },
+ {
+ path: `${Routes.ChunkResult}/:id`,
+ Component: () => import('@/pages/chunk/chunk-result'),
+ },
+ {
+ path: `${Routes.ResultView}/:id`,
+ Component: () => import('@/pages/chunk/result-view'),
+ },
+ ],
},
{
path: Routes.Admin,
@@ -420,7 +353,6 @@ const routeConfigOptions = [
{
path: Routes.Admin,
Component: () => import('@/pages/admin/layouts/authorized-layout'),
-
children: [
{
path: `${Routes.AdminUserManagement}/:id`,
@@ -428,7 +360,6 @@ const routeConfigOptions = [
},
{
Component: () => import('@/pages/admin/layouts/navigation-layout'),
-
children: [
{
path: Routes.AdminServices,
diff --git a/web/src/utils/css-support.ts b/web/src/utils/css-support.ts
new file mode 100644
index 000000000..959460cbf
--- /dev/null
+++ b/web/src/utils/css-support.ts
@@ -0,0 +1,5 @@
+export const supportsCssAnchor =
+ CSS.supports('position-anchor', '--anchor-name') &&
+ CSS.supports('anchor-name', '--anchor-name') &&
+ CSS.supports('top', 'anchor(--anchor-name bottom)') &&
+ CSS.supports('width', 'anchor-size(--anchor-name width)');
diff --git a/web/tailwind.config.js b/web/tailwind.config.js
index efef4fff2..907608775 100644
--- a/web/tailwind.config.js
+++ b/web/tailwind.config.js
@@ -191,9 +191,18 @@ module.exports = {
'linear-gradient(104deg, rgb(var(--text-primary)) 30%, var(--metallic) 50%, rgb(var(--text-primary)) 70%)',
},
borderRadius: {
- lg: `var(--radius)`,
- md: `calc(var(--radius) - 2px)`,
- sm: 'calc(var(--radius) - 4px)',
+ px: '1px',
+
+ '4xl': '1rem' /* 16px */,
+ '3xl': '0.75rem' /* 12px */,
+ '2xl': '0.625rem' /* 10px */,
+ xl: '0.5rem' /* 8px */,
+ lg: '0.4375rem' /* 7px */,
+ DEFAULT: '0.375rem' /* 6px */,
+ sm: '0.3125rem' /* 5px */,
+ xs: '0.25rem' /* 4px */,
+ '2xs': '0.1875rem' /* 3px */,
+ '3xs': '0.125' /* 2px */,
},
fontFamily: {
sans: ['var(--font-sans)', ...fontFamily.sans],
@@ -215,12 +224,21 @@ module.exports = {
from: { transform: 'rotate(0deg)' },
to: { transform: 'rotate(-360deg)' },
},
+ 'bell-shake': {
+ '0%,25%': { transform: 'rotate(0)', transformOrigin: 'center 25% ' },
+ '3.125%': { transform: 'rotate(-12.5deg)' },
+ '9.375%': { transform: 'rotate(11deg)' },
+ '15.625%': { transform: 'rotate(-9.5deg)' },
+ '21.875%': { transform: 'rotate(7.5deg)' },
+ },
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
'caret-blink': 'caret-blink 1.25s ease-out infinite',
'spin-reverse': 'spin-reverse 1s linear infinite',
+ 'bell-shake':
+ 'bell-shake 2s 1s cubic-bezier(0.33, 1, 0.68, 1) infinite',
},
},
},
diff --git a/web/tailwind.css b/web/tailwind.css
index 0709401db..6cbf2a6d4 100644
--- a/web/tailwind.css
+++ b/web/tailwind.css
@@ -286,6 +286,14 @@
}
}
+@layer base {
+ * {
+ /* Make this default */
+ scrollbar-width: thin;
+ scrollbar-color: var(--border-default) var(--bg-card);
+ }
+}
+
@layer utilities {
.scrollbar-auto {
/* hide scrollbar */