refactor(web): migrate from Next.js to Vite + React Router

This commit is contained in:
RockChinQ
2026-04-03 11:24:14 +08:00
parent e701daa8e0
commit 2a4ba237c4
1441 changed files with 917663 additions and 3671 deletions
@@ -0,0 +1,155 @@
/* [project]/coding/projects/LangBot/web/src/app/home/bots/components/bot-card/botCard.module.css [app-client] (css) */
.botCard-module__1kNUfG__cardContainer {
cursor: pointer;
background-color: #fff;
border-radius: 10px;
width: 100%;
height: 10rem;
padding: 1.2rem;
transition: all .2s;
box-shadow: 0 2px 2px #0003;
}
.dark .botCard-module__1kNUfG__cardContainer {
box-shadow: 0;
background-color: #1f1f22;
}
.botCard-module__1kNUfG__cardContainer:hover {
box-shadow: 0 2px 8px #0000001a;
}
.dark .botCard-module__1kNUfG__cardContainer:hover {
box-shadow: 0;
}
.botCard-module__1kNUfG__iconBasicInfoContainer {
-webkit-user-select: none;
user-select: none;
flex-direction: row;
gap: .8rem;
width: 100%;
height: 100%;
display: flex;
}
.botCard-module__1kNUfG__iconImage {
border-radius: 8%;
width: 4rem;
height: 4rem;
margin: .2rem;
}
.botCard-module__1kNUfG__basicInfoContainer {
flex-direction: column;
gap: .2rem;
width: 100%;
display: flex;
position: relative;
}
.botCard-module__1kNUfG__basicInfoNameContainer {
flex-direction: column;
display: flex;
}
.botCard-module__1kNUfG__basicInfoName {
white-space: nowrap;
text-overflow: ellipsis;
color: #1a1a1a;
font-size: 1.4rem;
font-weight: 500;
overflow: hidden;
}
.dark .botCard-module__1kNUfG__basicInfoName {
color: #f0f0f0;
}
.botCard-module__1kNUfG__basicInfoDescription {
color: #b1b1b1;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 1rem;
font-weight: 300;
overflow: hidden;
}
.dark .botCard-module__1kNUfG__basicInfoDescription {
color: #888;
}
.botCard-module__1kNUfG__basicInfoAdapterContainer {
flex-direction: row;
gap: .4rem;
display: flex;
}
.botCard-module__1kNUfG__basicInfoAdapterIcon {
color: #626262;
width: 1.2rem;
height: 1.2rem;
margin-top: .2rem;
}
.dark .botCard-module__1kNUfG__basicInfoAdapterIcon {
color: #a0a0a0;
}
.botCard-module__1kNUfG__basicInfoAdapterLabel {
color: #626262;
font-size: 1.2rem;
font-weight: 500;
}
.dark .botCard-module__1kNUfG__basicInfoAdapterLabel {
color: #a0a0a0;
}
.botCard-module__1kNUfG__basicInfoPipelineContainer {
flex-direction: row;
gap: .4rem;
display: flex;
}
.botCard-module__1kNUfG__basicInfoPipelineIcon {
color: #626262;
width: 1.2rem;
height: 1.2rem;
margin-top: .2rem;
}
.dark .botCard-module__1kNUfG__basicInfoPipelineIcon {
color: #a0a0a0;
}
.botCard-module__1kNUfG__basicInfoPipelineLabel {
color: #626262;
font-size: 1.2rem;
font-weight: 500;
}
.dark .botCard-module__1kNUfG__basicInfoPipelineLabel {
color: #a0a0a0;
}
.botCard-module__1kNUfG__bigText {
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
font-size: 1.4rem;
font-weight: bold;
overflow: hidden;
}
.botCard-module__1kNUfG__botOperationContainer {
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
gap: .4rem;
width: 3rem;
height: 100%;
display: flex;
}
/*# sourceMappingURL=15bb4_LangBot_web_src_app_home_bots_components_bot-card_botCard_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/bots/components/bot-card/botCard.module.css"],"sourcesContent":[".cardContainer {\n width: 100%;\n height: 10rem;\n background-color: #fff;\n border-radius: 10px;\n box-shadow: 0px 2px 2px 0 rgba(0, 0, 0, 0.2);\n padding: 1.2rem;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n:global(.dark) .cardContainer {\n background-color: #1f1f22;\n box-shadow: 0;\n}\n\n.cardContainer:hover {\n box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.1);\n}\n\n:global(.dark) .cardContainer:hover {\n box-shadow: 0;\n}\n\n.iconBasicInfoContainer {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n gap: 0.8rem;\n user-select: none;\n}\n\n.iconImage {\n width: 4rem;\n height: 4rem;\n margin: 0.2rem;\n border-radius: 8%;\n}\n\n.basicInfoContainer {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.2rem;\n width: 100%;\n}\n\n.basicInfoNameContainer {\n display: flex;\n flex-direction: column;\n}\n\n.basicInfoName {\n font-size: 1.4rem;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #1a1a1a;\n}\n\n:global(.dark) .basicInfoName {\n color: #f0f0f0;\n}\n\n.basicInfoDescription {\n font-size: 1rem;\n font-weight: 300;\n color: #b1b1b1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n:global(.dark) .basicInfoDescription {\n color: #888888;\n}\n\n.basicInfoAdapterContainer {\n display: flex;\n flex-direction: row;\n gap: 0.4rem;\n}\n\n.basicInfoAdapterIcon {\n width: 1.2rem;\n height: 1.2rem;\n margin-top: 0.2rem;\n color: #626262;\n}\n\n:global(.dark) .basicInfoAdapterIcon {\n color: #a0a0a0;\n}\n\n.basicInfoAdapterLabel {\n font-size: 1.2rem;\n font-weight: 500;\n color: #626262;\n}\n\n:global(.dark) .basicInfoAdapterLabel {\n color: #a0a0a0;\n}\n\n.basicInfoPipelineContainer {\n display: flex;\n flex-direction: row;\n gap: 0.4rem;\n}\n\n.basicInfoPipelineIcon {\n width: 1.2rem;\n height: 1.2rem;\n color: #626262;\n margin-top: 0.2rem;\n}\n\n:global(.dark) .basicInfoPipelineIcon {\n color: #a0a0a0;\n}\n\n.basicInfoPipelineLabel {\n font-size: 1.2rem;\n font-weight: 500;\n color: #626262;\n}\n\n:global(.dark) .basicInfoPipelineLabel {\n color: #a0a0a0;\n}\n\n.bigText {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 1.4rem;\n font-weight: bold;\n max-width: 100%;\n}\n\n.botOperationContainer {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-end;\n height: 100%;\n width: 3rem;\n gap: 0.4rem;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;AAWA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;;;;;;;AASA;;;;;;;AAOA;;;;;;;;AAQA;;;;;AAKA;;;;;;;;;AASA;;;;AAIA;;;;;;;;;AASA;;;;AAIA;;;;;;AAMA;;;;;;;AAOA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;;;;AAOA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;;;;AASA"}}]
}
@@ -0,0 +1,174 @@
/* [project]/coding/projects/LangBot/web/src/app/home/pipelines/components/pipeline-card/pipelineCard.module.css [app-client] (css) */
.pipelineCard-module__GUxC_G__cardContainer {
cursor: pointer;
background-color: #fff;
border-radius: 10px;
flex-direction: row;
justify-content: space-between;
gap: .5rem;
width: 100%;
height: 10rem;
padding: 1rem;
transition: all .2s;
display: flex;
box-shadow: 0 2px 2px #0003;
}
.dark .pipelineCard-module__GUxC_G__cardContainer {
box-shadow: 0;
background-color: #1f1f22;
}
.pipelineCard-module__GUxC_G__cardContainer:hover {
box-shadow: 0 2px 8px #0000001a;
}
.dark .pipelineCard-module__GUxC_G__cardContainer:hover {
box-shadow: 0;
}
.pipelineCard-module__GUxC_G__basicInfoContainer {
flex-direction: column;
justify-content: space-between;
gap: .5rem;
width: 100%;
min-width: 0;
height: 100%;
display: flex;
}
.pipelineCard-module__GUxC_G__iconEmoji {
background-color: #f5f5f5;
border-radius: .5rem;
flex-shrink: 0;
justify-content: center;
align-items: center;
width: 3rem;
height: 3rem;
font-size: 1.75rem;
display: flex;
}
.dark .pipelineCard-module__GUxC_G__iconEmoji {
background-color: #2a2a2d;
}
.pipelineCard-module__GUxC_G__iconBasicInfoContainer {
flex-direction: row;
flex: 1;
align-items: flex-start;
gap: .75rem;
min-width: 0;
display: flex;
}
.pipelineCard-module__GUxC_G__basicInfoNameContainer {
flex-direction: column;
flex: 1;
gap: .2rem;
min-width: 0;
display: flex;
}
.pipelineCard-module__GUxC_G__basicInfoNameText {
color: #1a1a1a;
font-size: 1.4rem;
font-weight: 500;
}
.dark .pipelineCard-module__GUxC_G__basicInfoNameText {
color: #f0f0f0;
}
.pipelineCard-module__GUxC_G__basicInfoDescriptionText {
-webkit-line-clamp: 3;
text-overflow: ellipsis;
color: #b1b1b1;
-webkit-box-orient: vertical;
font-size: .9rem;
font-weight: 400;
display: -webkit-box;
overflow: hidden;
}
.dark .pipelineCard-module__GUxC_G__basicInfoDescriptionText {
color: #888;
}
.pipelineCard-module__GUxC_G__basicInfoLastUpdatedTimeContainer {
flex-direction: row;
align-items: center;
gap: .5rem;
display: flex;
}
.pipelineCard-module__GUxC_G__basicInfoUpdateTimeIcon {
color: #626262;
width: 1.2rem;
height: 1.2rem;
}
.dark .pipelineCard-module__GUxC_G__basicInfoUpdateTimeIcon {
color: #a0a0a0;
}
.pipelineCard-module__GUxC_G__basicInfoUpdateTimeText {
color: #626262;
font-size: 1rem;
font-weight: 400;
}
.dark .pipelineCard-module__GUxC_G__basicInfoUpdateTimeText {
color: #a0a0a0;
}
.pipelineCard-module__GUxC_G__operationContainer {
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
gap: .5rem;
width: 8rem;
display: flex;
}
.pipelineCard-module__GUxC_G__operationDefaultBadge {
flex-direction: row;
gap: .5rem;
display: flex;
}
.pipelineCard-module__GUxC_G__operationDefaultBadgeIcon {
color: #ffcd27;
width: 1.2rem;
height: 1.2rem;
}
.dark .pipelineCard-module__GUxC_G__operationDefaultBadgeIcon {
color: #fbbf24;
}
.pipelineCard-module__GUxC_G__operationDefaultBadgeText {
color: #ffcd27;
font-size: 1rem;
font-weight: 400;
}
.dark .pipelineCard-module__GUxC_G__operationDefaultBadgeText {
color: #fbbf24;
}
.pipelineCard-module__GUxC_G__bigText {
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
font-size: 1.4rem;
font-weight: bold;
overflow: hidden;
}
.pipelineCard-module__GUxC_G__debugButtonIcon {
width: 1.2rem;
height: 1.2rem;
}
/*# sourceMappingURL=49392_app_home_pipelines_components_pipeline-card_pipelineCard_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/pipelines/components/pipeline-card/pipelineCard.module.css"],"sourcesContent":[".cardContainer {\n width: 100%;\n height: 10rem;\n background-color: #fff;\n border-radius: 10px;\n box-shadow: 0px 2px 2px 0 rgba(0, 0, 0, 0.2);\n padding: 1rem;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 0.5rem;\n transition: all 0.2s ease;\n}\n\n:global(.dark) .cardContainer {\n background-color: #1f1f22;\n box-shadow: 0;\n}\n\n.cardContainer:hover {\n box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.1);\n}\n\n:global(.dark) .cardContainer:hover {\n box-shadow: 0;\n}\n\n.basicInfoContainer {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.iconEmoji {\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background-color: #f5f5f5;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.75rem;\n flex-shrink: 0;\n}\n\n:global(.dark) .iconEmoji {\n background-color: #2a2a2d;\n}\n\n.iconBasicInfoContainer {\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n align-items: flex-start;\n min-width: 0;\n flex: 1;\n}\n\n.basicInfoNameContainer {\n display: flex;\n flex-direction: column;\n gap: 0.2rem;\n min-width: 0;\n flex: 1;\n}\n\n.basicInfoNameText {\n font-size: 1.4rem;\n font-weight: 500;\n color: #1a1a1a;\n}\n\n:global(.dark) .basicInfoNameText {\n color: #f0f0f0;\n}\n\n.basicInfoDescriptionText {\n font-size: 0.9rem;\n font-weight: 400;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #b1b1b1;\n}\n\n:global(.dark) .basicInfoDescriptionText {\n color: #888888;\n}\n\n.basicInfoLastUpdatedTimeContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0.5rem;\n}\n\n.basicInfoUpdateTimeIcon {\n width: 1.2rem;\n height: 1.2rem;\n color: #626262;\n}\n\n:global(.dark) .basicInfoUpdateTimeIcon {\n color: #a0a0a0;\n}\n\n.basicInfoUpdateTimeText {\n font-size: 1rem;\n font-weight: 400;\n color: #626262;\n}\n\n:global(.dark) .basicInfoUpdateTimeText {\n color: #a0a0a0;\n}\n\n.operationContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: space-between;\n gap: 0.5rem;\n width: 8rem;\n}\n\n.operationDefaultBadge {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n}\n\n.operationDefaultBadgeIcon {\n width: 1.2rem;\n height: 1.2rem;\n color: #ffcd27;\n}\n\n:global(.dark) .operationDefaultBadgeIcon {\n color: #fbbf24;\n}\n\n.operationDefaultBadgeText {\n font-size: 1rem;\n font-weight: 400;\n color: #ffcd27;\n}\n\n:global(.dark) .operationDefaultBadgeText {\n color: #fbbf24;\n}\n\n.bigText {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 1.4rem;\n font-weight: bold;\n max-width: 100%;\n}\n\n.debugButtonIcon {\n width: 1.2rem;\n height: 1.2rem;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;AAeA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;;;;;;;AAUA;;;;;;;;;;;;AAYA;;;;AAIA;;;;;;;;;AASA;;;;;;;;AAQA;;;;;;AAMA;;;;AAIA;;;;;;;;;;;AAWA;;;;AAIA;;;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;;;;AASA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;;;;AASA"}}]
}
@@ -0,0 +1,36 @@
/* [project]/coding/projects/LangBot/web/src/app/infra/basic-component/create-card-component/createCartComponent.module.css [app-client] (css) */
.createCartComponent-module__mFGHBq__cardContainer {
cursor: pointer;
background-color: #fff;
border-radius: 9px;
flex-direction: column;
justify-content: space-evenly;
align-items: center;
transition: all .2s;
display: flex;
box-shadow: 0 0 5px #0000001a;
}
.dark .createCartComponent-module__mFGHBq__cardContainer {
box-shadow: 0;
background-color: #1f1f22;
}
.createCartComponent-module__mFGHBq__cardContainer:hover {
box-shadow: 0 0 15px #0000000d;
}
.dark .createCartComponent-module__mFGHBq__cardContainer:hover {
box-shadow: 0;
}
.createCartComponent-module__mFGHBq__createCardContainer {
color: #acacac;
font-size: 90px;
}
.dark .createCartComponent-module__mFGHBq__createCardContainer {
color: #666;
}
/*# sourceMappingURL=525bb_basic-component_create-card-component_createCartComponent_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/infra/basic-component/create-card-component/createCartComponent.module.css"],"sourcesContent":[".cardContainer {\n background-color: #fff;\n border-radius: 9px;\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-evenly;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n:global(.dark) .cardContainer {\n background-color: #1f1f22;\n box-shadow: 0;\n}\n\n.cardContainer:hover {\n box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);\n}\n\n:global(.dark) .cardContainer:hover {\n box-shadow: 0;\n}\n\n.createCardContainer {\n font-size: 90px;\n color: #acacac;\n}\n\n:global(.dark) .createCardContainer {\n color: #666666;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;;AAKA"}}]
}
@@ -0,0 +1,13 @@
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[turbopack]/browser/dev/hmr-client/hmr-client.ts [app-client] (ecmascript, async loader)", ((__turbopack_context__) => {
__turbopack_context__.v((parentImport) => {
return Promise.all([
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_c8c997ce._.js",
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_ad34168e._.js"
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
return parentImport("[turbopack]/browser/dev/hmr-client/hmr-client.ts [app-client] (ecmascript)");
});
});
}),
]);
@@ -0,0 +1,5 @@
{
"version": 3,
"sources": [],
"sections": []
}
@@ -0,0 +1,7 @@
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
script: typeof document === "object" ? document.currentScript : undefined,
chunks: [
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_c8c997ce._.js"
],
source: "dynamic"
});
@@ -0,0 +1,467 @@
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[turbopack]/browser/dev/hmr-client/hmr-client.ts [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/// <reference path="../../../shared/runtime-types.d.ts" />
/// <reference path="../../runtime/base/dev-globals.d.ts" />
/// <reference path="../../runtime/base/dev-protocol.d.ts" />
/// <reference path="../../runtime/base/dev-extensions.ts" />
__turbopack_context__.s([
"connect",
()=>connect,
"setHooks",
()=>setHooks,
"subscribeToUpdate",
()=>subscribeToUpdate
]);
function connect({ addMessageListener, sendMessage, onUpdateError = console.error }) {
addMessageListener((msg)=>{
switch(msg.type){
case 'turbopack-connected':
handleSocketConnected(sendMessage);
break;
default:
try {
if (Array.isArray(msg.data)) {
for(let i = 0; i < msg.data.length; i++){
handleSocketMessage(msg.data[i]);
}
} else {
handleSocketMessage(msg.data);
}
applyAggregatedUpdates();
} catch (e) {
console.warn('[Fast Refresh] performing full reload\n\n' + "Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\n" + 'You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\n' + 'Consider migrating the non-React component export to a separate file and importing it into both files.\n\n' + 'It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\n' + 'Fast Refresh requires at least one parent function component in your React tree.');
onUpdateError(e);
location.reload();
}
break;
}
});
const queued = globalThis.TURBOPACK_CHUNK_UPDATE_LISTENERS;
if (queued != null && !Array.isArray(queued)) {
throw new Error('A separate HMR handler was already registered');
}
globalThis.TURBOPACK_CHUNK_UPDATE_LISTENERS = {
push: ([chunkPath, callback])=>{
subscribeToChunkUpdate(chunkPath, sendMessage, callback);
}
};
if (Array.isArray(queued)) {
for (const [chunkPath, callback] of queued){
subscribeToChunkUpdate(chunkPath, sendMessage, callback);
}
}
}
const updateCallbackSets = new Map();
function sendJSON(sendMessage, message) {
sendMessage(JSON.stringify(message));
}
function resourceKey(resource) {
return JSON.stringify({
path: resource.path,
headers: resource.headers || null
});
}
function subscribeToUpdates(sendMessage, resource) {
sendJSON(sendMessage, {
type: 'turbopack-subscribe',
...resource
});
return ()=>{
sendJSON(sendMessage, {
type: 'turbopack-unsubscribe',
...resource
});
};
}
function handleSocketConnected(sendMessage) {
for (const key of updateCallbackSets.keys()){
subscribeToUpdates(sendMessage, JSON.parse(key));
}
}
// we aggregate all pending updates until the issues are resolved
const chunkListsWithPendingUpdates = new Map();
function aggregateUpdates(msg) {
const key = resourceKey(msg.resource);
let aggregated = chunkListsWithPendingUpdates.get(key);
if (aggregated) {
aggregated.instruction = mergeChunkListUpdates(aggregated.instruction, msg.instruction);
} else {
chunkListsWithPendingUpdates.set(key, msg);
}
}
function applyAggregatedUpdates() {
if (chunkListsWithPendingUpdates.size === 0) return;
hooks.beforeRefresh();
for (const msg of chunkListsWithPendingUpdates.values()){
triggerUpdate(msg);
}
chunkListsWithPendingUpdates.clear();
finalizeUpdate();
}
function mergeChunkListUpdates(updateA, updateB) {
let chunks;
if (updateA.chunks != null) {
if (updateB.chunks == null) {
chunks = updateA.chunks;
} else {
chunks = mergeChunkListChunks(updateA.chunks, updateB.chunks);
}
} else if (updateB.chunks != null) {
chunks = updateB.chunks;
}
let merged;
if (updateA.merged != null) {
if (updateB.merged == null) {
merged = updateA.merged;
} else {
// Since `merged` is an array of updates, we need to merge them all into
// one, consistent update.
// Since there can only be `EcmascriptMergeUpdates` in the array, there is
// no need to key on the `type` field.
let update = updateA.merged[0];
for(let i = 1; i < updateA.merged.length; i++){
update = mergeChunkListEcmascriptMergedUpdates(update, updateA.merged[i]);
}
for(let i = 0; i < updateB.merged.length; i++){
update = mergeChunkListEcmascriptMergedUpdates(update, updateB.merged[i]);
}
merged = [
update
];
}
} else if (updateB.merged != null) {
merged = updateB.merged;
}
return {
type: 'ChunkListUpdate',
chunks,
merged
};
}
function mergeChunkListChunks(chunksA, chunksB) {
const chunks = {};
for (const [chunkPath, chunkUpdateA] of Object.entries(chunksA)){
const chunkUpdateB = chunksB[chunkPath];
if (chunkUpdateB != null) {
const mergedUpdate = mergeChunkUpdates(chunkUpdateA, chunkUpdateB);
if (mergedUpdate != null) {
chunks[chunkPath] = mergedUpdate;
}
} else {
chunks[chunkPath] = chunkUpdateA;
}
}
for (const [chunkPath, chunkUpdateB] of Object.entries(chunksB)){
if (chunks[chunkPath] == null) {
chunks[chunkPath] = chunkUpdateB;
}
}
return chunks;
}
function mergeChunkUpdates(updateA, updateB) {
if (updateA.type === 'added' && updateB.type === 'deleted' || updateA.type === 'deleted' && updateB.type === 'added') {
return undefined;
}
if (updateA.type === 'partial') {
invariant(updateA.instruction, 'Partial updates are unsupported');
}
if (updateB.type === 'partial') {
invariant(updateB.instruction, 'Partial updates are unsupported');
}
return undefined;
}
function mergeChunkListEcmascriptMergedUpdates(mergedA, mergedB) {
const entries = mergeEcmascriptChunkEntries(mergedA.entries, mergedB.entries);
const chunks = mergeEcmascriptChunksUpdates(mergedA.chunks, mergedB.chunks);
return {
type: 'EcmascriptMergedUpdate',
entries,
chunks
};
}
function mergeEcmascriptChunkEntries(entriesA, entriesB) {
return {
...entriesA,
...entriesB
};
}
function mergeEcmascriptChunksUpdates(chunksA, chunksB) {
if (chunksA == null) {
return chunksB;
}
if (chunksB == null) {
return chunksA;
}
const chunks = {};
for (const [chunkPath, chunkUpdateA] of Object.entries(chunksA)){
const chunkUpdateB = chunksB[chunkPath];
if (chunkUpdateB != null) {
const mergedUpdate = mergeEcmascriptChunkUpdates(chunkUpdateA, chunkUpdateB);
if (mergedUpdate != null) {
chunks[chunkPath] = mergedUpdate;
}
} else {
chunks[chunkPath] = chunkUpdateA;
}
}
for (const [chunkPath, chunkUpdateB] of Object.entries(chunksB)){
if (chunks[chunkPath] == null) {
chunks[chunkPath] = chunkUpdateB;
}
}
if (Object.keys(chunks).length === 0) {
return undefined;
}
return chunks;
}
function mergeEcmascriptChunkUpdates(updateA, updateB) {
if (updateA.type === 'added' && updateB.type === 'deleted') {
// These two completely cancel each other out.
return undefined;
}
if (updateA.type === 'deleted' && updateB.type === 'added') {
const added = [];
const deleted = [];
const deletedModules = new Set(updateA.modules ?? []);
const addedModules = new Set(updateB.modules ?? []);
for (const moduleId of addedModules){
if (!deletedModules.has(moduleId)) {
added.push(moduleId);
}
}
for (const moduleId of deletedModules){
if (!addedModules.has(moduleId)) {
deleted.push(moduleId);
}
}
if (added.length === 0 && deleted.length === 0) {
return undefined;
}
return {
type: 'partial',
added,
deleted
};
}
if (updateA.type === 'partial' && updateB.type === 'partial') {
const added = new Set([
...updateA.added ?? [],
...updateB.added ?? []
]);
const deleted = new Set([
...updateA.deleted ?? [],
...updateB.deleted ?? []
]);
if (updateB.added != null) {
for (const moduleId of updateB.added){
deleted.delete(moduleId);
}
}
if (updateB.deleted != null) {
for (const moduleId of updateB.deleted){
added.delete(moduleId);
}
}
return {
type: 'partial',
added: [
...added
],
deleted: [
...deleted
]
};
}
if (updateA.type === 'added' && updateB.type === 'partial') {
const modules = new Set([
...updateA.modules ?? [],
...updateB.added ?? []
]);
for (const moduleId of updateB.deleted ?? []){
modules.delete(moduleId);
}
return {
type: 'added',
modules: [
...modules
]
};
}
if (updateA.type === 'partial' && updateB.type === 'deleted') {
// We could eagerly return `updateB` here, but this would potentially be
// incorrect if `updateA` has added modules.
const modules = new Set(updateB.modules ?? []);
if (updateA.added != null) {
for (const moduleId of updateA.added){
modules.delete(moduleId);
}
}
return {
type: 'deleted',
modules: [
...modules
]
};
}
// Any other update combination is invalid.
return undefined;
}
function invariant(_, message) {
throw new Error(`Invariant: ${message}`);
}
const CRITICAL = [
'bug',
'error',
'fatal'
];
function compareByList(list, a, b) {
const aI = list.indexOf(a) + 1 || list.length;
const bI = list.indexOf(b) + 1 || list.length;
return aI - bI;
}
const chunksWithIssues = new Map();
function emitIssues() {
const issues = [];
const deduplicationSet = new Set();
for (const [_, chunkIssues] of chunksWithIssues){
for (const chunkIssue of chunkIssues){
if (deduplicationSet.has(chunkIssue.formatted)) continue;
issues.push(chunkIssue);
deduplicationSet.add(chunkIssue.formatted);
}
}
sortIssues(issues);
hooks.issues(issues);
}
function handleIssues(msg) {
const key = resourceKey(msg.resource);
let hasCriticalIssues = false;
for (const issue of msg.issues){
if (CRITICAL.includes(issue.severity)) {
hasCriticalIssues = true;
}
}
if (msg.issues.length > 0) {
chunksWithIssues.set(key, msg.issues);
} else if (chunksWithIssues.has(key)) {
chunksWithIssues.delete(key);
}
emitIssues();
return hasCriticalIssues;
}
const SEVERITY_ORDER = [
'bug',
'fatal',
'error',
'warning',
'info',
'log'
];
const CATEGORY_ORDER = [
'parse',
'resolve',
'code generation',
'rendering',
'typescript',
'other'
];
function sortIssues(issues) {
issues.sort((a, b)=>{
const first = compareByList(SEVERITY_ORDER, a.severity, b.severity);
if (first !== 0) return first;
return compareByList(CATEGORY_ORDER, a.category, b.category);
});
}
const hooks = {
beforeRefresh: ()=>{},
refresh: ()=>{},
buildOk: ()=>{},
issues: (_issues)=>{}
};
function setHooks(newHooks) {
Object.assign(hooks, newHooks);
}
function handleSocketMessage(msg) {
sortIssues(msg.issues);
handleIssues(msg);
switch(msg.type){
case 'issues':
break;
case 'partial':
// aggregate updates
aggregateUpdates(msg);
break;
default:
// run single update
const runHooks = chunkListsWithPendingUpdates.size === 0;
if (runHooks) hooks.beforeRefresh();
triggerUpdate(msg);
if (runHooks) finalizeUpdate();
break;
}
}
function finalizeUpdate() {
hooks.refresh();
hooks.buildOk();
// This is used by the Next.js integration test suite to notify it when HMR
// updates have been completed.
// TODO: Only run this in test environments (gate by `process.env.__NEXT_TEST_MODE`)
if (globalThis.__NEXT_HMR_CB) {
globalThis.__NEXT_HMR_CB();
globalThis.__NEXT_HMR_CB = null;
}
}
function subscribeToChunkUpdate(chunkListPath, sendMessage, callback) {
return subscribeToUpdate({
path: chunkListPath
}, sendMessage, callback);
}
function subscribeToUpdate(resource, sendMessage, callback) {
const key = resourceKey(resource);
let callbackSet;
const existingCallbackSet = updateCallbackSets.get(key);
if (!existingCallbackSet) {
callbackSet = {
callbacks: new Set([
callback
]),
unsubscribe: subscribeToUpdates(sendMessage, resource)
};
updateCallbackSets.set(key, callbackSet);
} else {
existingCallbackSet.callbacks.add(callback);
callbackSet = existingCallbackSet;
}
return ()=>{
callbackSet.callbacks.delete(callback);
if (callbackSet.callbacks.size === 0) {
callbackSet.unsubscribe();
updateCallbackSets.delete(key);
}
};
}
function triggerUpdate(msg) {
const key = resourceKey(msg.resource);
const callbackSet = updateCallbackSets.get(key);
if (!callbackSet) {
return;
}
for (const callback of callbackSet.callbacks){
callback(msg);
}
if (msg.type === 'notFound') {
// This indicates that the resource which we subscribed to either does not exist or
// has been deleted. In either case, we should clear all update callbacks, so if a
// new subscription is created for the same resource, it will send a new "subscribe"
// message to the server.
// No need to send an "unsubscribe" message to the server, it will have already
// dropped the update stream before sending the "notFound" message.
updateCallbackSets.delete(key);
}
}
}),
]);
//# sourceMappingURL=%5Bturbopack%5D_browser_dev_hmr-client_hmr-client_ts_c8c997ce._.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,49 @@
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[project]/coding/projects/LangBot/web/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
exports._ = _interop_require_default;
}),
"[project]/coding/projects/LangBot/web/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) return obj;
if (obj === null || typeof obj !== "object" && typeof obj !== "function") return {
default: obj
};
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) return cache.get(obj);
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
else newObj[key] = obj[key];
}
}
newObj.default = obj;
if (cache) cache.set(obj, newObj);
return newObj;
}
exports._ = _interop_require_wildcard;
}),
]);
//# sourceMappingURL=a2e30_%40swc_helpers_cjs_1ad3cb21._.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["file:///root/.openclaw/workspace/coding/projects/LangBot/web/node_modules/%40swc/helpers/cjs/_interop_require_default.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n"],"names":[],"mappings":"AAEA,SAAS,yBAAyB,GAAG;IACjC,OAAO,OAAO,IAAI,UAAU,GAAG,MAAM;QAAE,SAAS;IAAI;AACxD;AACA,QAAQ,CAAC,GAAG","ignoreList":[0]}},
{"offset": {"line": 14, "column": 0}, "map": {"version":3,"sources":["file:///root/.openclaw/workspace/coding/projects/LangBot/web/node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n"],"names":[],"mappings":"AAEA,SAAS,yBAAyB,WAAW;IACzC,IAAI,OAAO,YAAY,YAAY,OAAO;IAE1C,IAAI,oBAAoB,IAAI;IAC5B,IAAI,mBAAmB,IAAI;IAE3B,OAAO,CAAC,2BAA2B,SAAS,WAAW;QACnD,OAAO,cAAc,mBAAmB;IAC5C,CAAC,EAAE;AACP;AACA,SAAS,0BAA0B,GAAG,EAAE,WAAW;IAC/C,IAAI,CAAC,eAAe,OAAO,IAAI,UAAU,EAAE,OAAO;IAClD,IAAI,QAAQ,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,YAAY,OAAO;QAAE,SAAS;IAAI;IAEhG,IAAI,QAAQ,yBAAyB;IAErC,IAAI,SAAS,MAAM,GAAG,CAAC,MAAM,OAAO,MAAM,GAAG,CAAC;IAE9C,IAAI,SAAS;QAAE,WAAW;IAAK;IAC/B,IAAI,wBAAwB,OAAO,cAAc,IAAI,OAAO,wBAAwB;IAEpF,IAAK,IAAI,OAAO,IAAK;QACjB,IAAI,QAAQ,aAAa,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM;YACrE,IAAI,OAAO,wBAAwB,OAAO,wBAAwB,CAAC,KAAK,OAAO;YAC/E,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,KAAK,GAAG,GAAG,OAAO,cAAc,CAAC,QAAQ,KAAK;iBAClE,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;QAC/B;IACJ;IAEA,OAAO,OAAO,GAAG;IAEjB,IAAI,OAAO,MAAM,GAAG,CAAC,KAAK;IAE1B,OAAO;AACX;AACA,QAAQ,CAAC,GAAG","ignoreList":[0]}}]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
script: typeof document === "object" ? document.currentScript : undefined,
chunks: [],
source: "dynamic"
});
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,196 @@
/* [project]/coding/projects/LangBot/web/node_modules/react-photo-view/dist/react-photo-view.css [app-client] (css) */
.PhotoView-Portal {
touch-action: none;
z-index: 2000;
direction: ltr;
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
overflow: hidden;
}
@keyframes PhotoView__rotate {
0% {
transform: rotate(0);
}
to {
transform: rotate(1turn);
}
}
@keyframes PhotoView__delayIn {
0%, 50% {
opacity: 0;
}
to {
opacity: 1;
}
}
.PhotoView__Spinner {
animation: .4s linear both PhotoView__delayIn;
}
.PhotoView__Spinner svg {
animation: .6s linear infinite PhotoView__rotate;
}
.PhotoView__Photo {
cursor: grab;
-webkit-user-select: none;
user-select: none;
max-width: none;
}
.PhotoView__Photo:active {
cursor: grabbing;
}
.PhotoView__icon {
display: inline-block;
position: absolute;
top: 0;
left: 0;
transform: translate(-50%, -50%);
}
.PhotoView__PhotoBox, .PhotoView__PhotoWrap {
touch-action: none;
direction: ltr;
width: 100%;
position: absolute;
inset: 0;
}
.PhotoView__PhotoWrap {
z-index: 10;
overflow: hidden;
}
.PhotoView__PhotoBox {
transform-origin: 0 0;
}
@keyframes PhotoView__fade {
0% {
opacity: 0;
}
to {
opacity: 1;
}
}
.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft, .PhotoView-Slider__clean .PhotoView-Slider__ArrowRight, .PhotoView-Slider__clean .PhotoView-Slider__BannerWrap, .PhotoView-Slider__clean .PhotoView-Slider__Overlay, .PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover {
opacity: 0;
}
.PhotoView-Slider__Backdrop {
z-index: -1;
background: #000;
width: 100%;
height: 100%;
transition-property: background-color;
position: absolute;
top: 0;
left: 0;
}
.PhotoView-Slider__fadeIn {
opacity: 0;
animation: linear both PhotoView__fade;
}
.PhotoView-Slider__fadeOut {
opacity: 0;
animation: linear reverse both PhotoView__fade;
}
.PhotoView-Slider__BannerWrap {
color: #fff;
z-index: 20;
background-color: #00000080;
justify-content: space-between;
align-items: center;
width: 100%;
height: 44px;
transition: opacity .2s ease-out;
display: flex;
position: absolute;
top: 0;
left: 0;
}
.PhotoView-Slider__BannerWrap:hover {
opacity: 1;
}
.PhotoView-Slider__Counter {
opacity: .75;
padding: 0 10px;
font-size: 14px;
}
.PhotoView-Slider__BannerRight {
align-items: center;
height: 100%;
display: flex;
}
.PhotoView-Slider__toolbarIcon {
fill: #fff;
box-sizing: border-box;
cursor: pointer;
opacity: .75;
padding: 10px;
transition: opacity .2s linear;
}
.PhotoView-Slider__toolbarIcon:hover {
opacity: 1;
}
.PhotoView-Slider__ArrowLeft, .PhotoView-Slider__ArrowRight {
cursor: pointer;
opacity: .75;
-webkit-user-select: none;
user-select: none;
z-index: 20;
justify-content: center;
align-items: center;
width: 70px;
height: 100px;
margin: auto;
transition: opacity .2s linear;
display: flex;
position: absolute;
top: 0;
bottom: 0;
}
.PhotoView-Slider__ArrowLeft:hover, .PhotoView-Slider__ArrowRight:hover {
opacity: 1;
}
.PhotoView-Slider__ArrowLeft svg, .PhotoView-Slider__ArrowRight svg {
fill: #fff;
box-sizing: content-box;
background: #0000004d;
width: 24px;
height: 24px;
padding: 10px;
}
.PhotoView-Slider__ArrowLeft {
left: 0;
}
.PhotoView-Slider__ArrowRight {
right: 0;
}
/*# sourceMappingURL=a2e30_react-photo-view_dist_react-photo-view_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/node_modules/react-photo-view/dist/react-photo-view.css"],"sourcesContent":[".PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:rgba(0,0,0,.5);color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:rgba(0,0,0,.3);box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0}"],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAAkI;;;;;;;;;;AAAmF;;;;;;;;;;AAA6D;;;;AAAiE;;;;AAAwE;;;;;;;AAA6G;;;;AAAyC;;;;;;;;AAAoG;;;;;;;;AAAsI;;;;;AAAiD;;;;AAA+C;;;;;;;;;;AAAsD;;;;AAAmS;;;;;;;;;;;AAAkJ;;;;;AAA0E;;;;;AAAmF;;;;;;;;;;;;;;;AAAwO;;;;AAA8C;;;;;;AAAqE;;;;;;AAA2E;;;;;;;;;AAAqI;;;;AAA+C;;;;;;;;;;;;;;;;;;AAA2T;;;;AAAiF;;;;;;;;;AAAkK;;;;AAAoC","ignoreList":[0]}}]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,143 @@
/* [project]/coding/projects/LangBot/web/src/app/home/bots/components/bot-log/view/botLog.module.css [app-client] (css) */
.botLog-module__gbBa3q__botLogListContainer {
box-sizing: border-box;
flex-direction: column;
justify-content: flex-start;
align-items: center;
width: 100%;
max-width: 100%;
min-height: 10rem;
display: flex;
overflow: hidden auto;
}
.botLog-module__gbBa3q__botLogCardContainer {
box-sizing: border-box;
background-color: #fff;
border: 1px solid #e2e8f0;
border-radius: 8px;
width: 100%;
max-width: 100%;
margin-bottom: .75rem;
padding: 1rem;
transition: all .2s;
overflow: hidden;
}
.botLog-module__gbBa3q__botLogCardContainer:hover {
border-color: #cbd5e1;
box-shadow: 0 1px 3px #0000000d;
}
.dark .botLog-module__gbBa3q__botLogCardContainer {
background-color: #1f1f22;
border: 1px solid #2a2a2e;
}
.dark .botLog-module__gbBa3q__botLogCardContainer:hover {
border-color: #3a3a3e;
box-shadow: 0 1px 3px #0000004d;
}
.botLog-module__gbBa3q__listHeader {
flex-direction: row;
align-items: center;
width: 100%;
height: 2.5rem;
margin-bottom: .5rem;
display: flex;
}
.botLog-module__gbBa3q__tag {
color: #1e40af;
text-overflow: ellipsis;
white-space: nowrap;
text-transform: uppercase;
letter-spacing: .025em;
background-color: #dbeafe;
border-radius: 4px;
flex-direction: row;
justify-content: center;
align-items: center;
gap: .25rem;
max-width: 16rem;
height: auto;
padding: .25rem .5rem;
font-size: .75rem;
font-weight: 500;
display: inline-flex;
overflow: hidden;
}
.dark .botLog-module__gbBa3q__tag {
color: #93c5fd;
background-color: #1e3a8a;
}
.botLog-module__gbBa3q__chatTag {
color: #4b5563;
text-transform: none;
cursor: pointer;
background-color: #f3f4f6;
transition: all .15s;
}
.botLog-module__gbBa3q__chatTag:hover {
background-color: #e5e7eb;
}
.dark .botLog-module__gbBa3q__chatTag {
color: #9ca3af;
background-color: #374151;
}
.dark .botLog-module__gbBa3q__chatTag:hover {
background-color: #4b5563;
}
.botLog-module__gbBa3q__chatId {
text-overflow: ellipsis;
white-space: nowrap;
font-family: SF Mono, Monaco, Cascadia Code, Roboto Mono, Consolas, Courier New, monospace;
font-size: .7rem;
overflow: hidden;
}
.botLog-module__gbBa3q__cardTitleContainer {
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: .5rem;
display: flex;
}
.botLog-module__gbBa3q__cardText {
color: #1e293b;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all;
overflow-wrap: anywhere;
-webkit-hyphens: auto;
hyphens: auto;
max-width: 100%;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
font-size: .875rem;
line-height: 1.7;
}
.dark .botLog-module__gbBa3q__cardText {
color: #e2e8f0;
}
.botLog-module__gbBa3q__timestamp {
color: #64748b;
white-space: nowrap;
font-size: .75rem;
}
.dark .botLog-module__gbBa3q__timestamp {
color: #64748b;
}
/*# sourceMappingURL=c50a8_web_src_app_home_bots_components_bot-log_view_botLog_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/bots/components/bot-log/view/botLog.module.css"],"sourcesContent":[".botLogListContainer {\n width: 100%;\n max-width: 100%;\n min-height: 10rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n box-sizing: border-box;\n}\n\n.botLogCardContainer {\n width: 100%;\n max-width: 100%;\n background-color: #fff;\n border-radius: 8px;\n border: 1px solid #e2e8f0;\n padding: 1rem;\n margin-bottom: 0.75rem;\n transition: all 0.2s ease;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.botLogCardContainer:hover {\n border-color: #cbd5e1;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n:global(.dark) .botLogCardContainer {\n background-color: #1f1f22;\n border: 1px solid #2a2a2e;\n}\n\n:global(.dark) .botLogCardContainer:hover {\n border-color: #3a3a3e;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n\n.listHeader {\n width: 100%;\n height: 2.5rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 0.5rem;\n}\n\n.tag {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n height: auto;\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n background-color: #dbeafe;\n color: #1e40af;\n font-size: 0.75rem;\n font-weight: 500;\n max-width: 16rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n:global(.dark) .tag {\n background-color: #1e3a8a;\n color: #93c5fd;\n}\n\n.chatTag {\n color: #4b5563;\n background-color: #f3f4f6;\n text-transform: none;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.chatTag:hover {\n background-color: #e5e7eb;\n}\n\n:global(.dark) .chatTag {\n color: #9ca3af;\n background-color: #374151;\n}\n\n:global(.dark) .chatTag:hover {\n background-color: #4b5563;\n}\n\n.chatId {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas,\n 'Courier New', monospace;\n font-size: 0.7rem;\n}\n\n.cardTitleContainer {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n}\n\n.cardText {\n color: #1e293b;\n font-size: 0.875rem;\n line-height: 1.7;\n white-space: pre-wrap;\n word-wrap: break-word;\n word-break: break-all;\n overflow-wrap: anywhere;\n hyphens: auto;\n max-width: 100%;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', sans-serif;\n}\n\n:global(.dark) .cardText {\n color: #e2e8f0;\n}\n\n.timestamp {\n color: #64748b;\n font-size: 0.75rem;\n white-space: nowrap;\n}\n\n:global(.dark) .timestamp {\n color: #64748b;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAaA;;;;;;;;;;;;;AAaA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;AAqBA;;;;;AAKA;;;;;;;;AAQA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;;;;;AASA;;;;;;;;;AASA;;;;;;;;;;;;;;AAcA;;;;AAIA;;;;;;AAMA"}}]
}
@@ -0,0 +1,161 @@
/* [project]/coding/projects/LangBot/web/src/app/home/components/home-sidebar/HomeSidebar.module.css [app-client] (css) */
.HomeSidebar-module__TL0h5a__sidebarContainer {
box-sizing: border-box;
padding-block: 1rem;
-webkit-user-select: none;
user-select: none;
background-color: #eee;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
width: 11rem;
height: 100vh;
padding-left: .4rem;
display: flex;
}
.dark .HomeSidebar-module__TL0h5a__sidebarContainer {
background-color: #0a0a0b !important;
}
.HomeSidebar-module__TL0h5a__langbotIconContainer {
flex-direction: row;
justify-content: center;
align-items: center;
gap: .8rem;
width: 200px;
height: 70px;
display: flex;
}
.HomeSidebar-module__TL0h5a__langbotIcon {
border-radius: 8px;
width: 2.8rem;
height: 2.8rem;
box-shadow: 0 0 10px #0000001a;
}
.dark .HomeSidebar-module__TL0h5a__langbotIcon {
box-shadow: 0 0 10px #ffffff1a;
}
.HomeSidebar-module__TL0h5a__langbotTextContainer {
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
gap: .1rem;
display: flex;
}
.HomeSidebar-module__TL0h5a__langbotText {
color: #1a1a1a;
font-size: 1.4rem;
font-weight: 500;
}
.dark .HomeSidebar-module__TL0h5a__langbotText {
font-size: 1.4rem;
font-weight: 500;
color: #f0f0f0 !important;
}
.HomeSidebar-module__TL0h5a__langbotVersion {
color: #6c6c6c;
font-size: .8rem;
font-weight: 700;
}
.dark .HomeSidebar-module__TL0h5a__langbotVersion {
font-size: .8rem;
font-weight: 700;
color: #a0a0a0 !important;
}
.HomeSidebar-module__TL0h5a__sidebarTopContainer {
flex-direction: column;
justify-content: center;
align-items: center;
gap: .8rem;
width: 100%;
display: flex;
}
.HomeSidebar-module__TL0h5a__sidebarItemsContainer {
flex-direction: column;
gap: .8rem;
display: flex;
}
.HomeSidebar-module__TL0h5a__sidebarChildContainer {
cursor: pointer;
border-radius: 12px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
gap: .5rem;
width: 9.8rem;
height: 3rem;
padding-left: 1.6rem;
font-size: 1rem;
transition: all .2s;
display: flex;
}
.HomeSidebar-module__TL0h5a__sidebarSelected {
color: #fff;
background-color: #28e;
box-shadow: 0 0 10px #0000001a;
}
.dark .HomeSidebar-module__TL0h5a__sidebarSelected {
color: #fff;
background-color: #28e;
box-shadow: 0 0 10px #2288ee4d;
}
.HomeSidebar-module__TL0h5a__sidebarUnselected {
color: #6c6c6c;
}
.dark .HomeSidebar-module__TL0h5a__sidebarUnselected {
color: #a0a0a0 !important;
}
.HomeSidebar-module__TL0h5a__sidebarUnselected:hover {
color: #28e;
background-color: #2288ee1a;
}
.dark .HomeSidebar-module__TL0h5a__sidebarUnselected:hover {
color: #66baff;
background-color: #28e3;
}
.HomeSidebar-module__TL0h5a__sidebarChildIcon {
background-color: #6095d100;
width: 20px;
height: 20px;
}
.HomeSidebar-module__TL0h5a__sidebarChildName {
color: inherit;
}
.HomeSidebar-module__TL0h5a__sidebarBottomContainer {
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
margin-top: auto;
padding-bottom: 1rem;
display: flex;
}
.HomeSidebar-module__TL0h5a__sidebarBottomChildContainer {
flex-direction: row;
width: 100%;
height: 50px;
display: flex;
}
/*# sourceMappingURL=c50a8_web_src_app_home_components_home-sidebar_HomeSidebar_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/components/home-sidebar/HomeSidebar.module.css"],"sourcesContent":[".sidebarContainer {\n box-sizing: border-box;\n width: 11rem;\n height: 100vh;\n background-color: #eee;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n padding-block: 1rem;\n padding-left: 0.4rem;\n user-select: none;\n /* box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1); */\n}\n\n:global(.dark) .sidebarContainer {\n background-color: #0a0a0b !important;\n}\n\n.langbotIconContainer {\n width: 200px;\n height: 70px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 0.8rem;\n}\n\n.langbotIcon {\n width: 2.8rem;\n height: 2.8rem;\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);\n border-radius: 8px;\n}\n\n:global(.dark) .langbotIcon {\n box-shadow: 0 0 10px 0 rgba(255, 255, 255, 0.1);\n}\n\n.langbotTextContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 0.1rem;\n}\n\n.langbotText {\n font-size: 1.4rem;\n font-weight: 500;\n color: #1a1a1a;\n}\n\n:global(.dark) .langbotText {\n font-size: 1.4rem;\n font-weight: 500;\n color: #f0f0f0 !important;\n}\n\n.langbotVersion {\n font-size: 0.8rem;\n font-weight: 700;\n color: #6c6c6c;\n}\n\n:global(.dark) .langbotVersion {\n font-size: 0.8rem;\n font-weight: 700;\n color: #a0a0a0 !important;\n}\n\n.sidebarTopContainer {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0.8rem;\n}\n\n.sidebarItemsContainer {\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n}\n\n.sidebarChildContainer {\n width: 9.8rem;\n height: 3rem;\n padding-left: 1.6rem;\n font-size: 1rem;\n border-radius: 12px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n cursor: pointer;\n gap: 0.5rem;\n transition: all 0.2s ease;\n /* background-color: aqua; */\n}\n\n.sidebarSelected {\n background-color: #2288ee;\n color: white;\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);\n}\n\n:global(.dark) .sidebarSelected {\n background-color: #2288ee;\n color: white;\n box-shadow: 0 0 10px 0 rgba(34, 136, 238, 0.3);\n}\n\n.sidebarUnselected {\n color: #6c6c6c;\n}\n\n:global(.dark) .sidebarUnselected {\n color: #a0a0a0 !important;\n}\n\n.sidebarUnselected:hover {\n background-color: rgba(34, 136, 238, 0.1);\n color: #2288ee;\n}\n\n:global(.dark) .sidebarUnselected:hover {\n background-color: rgba(34, 136, 238, 0.2);\n color: #66baff;\n}\n\n.sidebarChildIcon {\n width: 20px;\n height: 20px;\n background-color: rgba(96, 149, 209, 0);\n}\n\n.sidebarChildName {\n color: inherit;\n}\n\n.sidebarBottomContainer {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-top: auto;\n padding-bottom: 1rem;\n}\n\n.sidebarBottomChildContainer {\n width: 100%;\n height: 50px;\n display: flex;\n flex-direction: row;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;AAeA;;;;AAIA;;;;;;;;;;AAUA;;;;;;;AAOA;;;;AAIA;;;;;;;;AAQA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;;;;AASA;;;;;;AAMA;;;;;;;;;;;;;;;AAgBA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;;AAMA;;;;AAIA;;;;;;;;;;AAUA"}}]
}
@@ -0,0 +1,47 @@
/* [project]/coding/projects/LangBot/web/src/app/home/components/home-titlebar/HomeTittleBar.module.css [app-client] (css) */
.HomeTittleBar-module__W7I6JG__titleBarContainer {
opacity: 1;
flex-direction: column;
justify-content: center;
align-items: flex-start;
width: 100%;
height: 4rem;
padding-top: 1rem;
font-size: 20px;
display: flex;
}
.HomeTittleBar-module__W7I6JG__titleText {
color: #585858;
margin-left: 3.2rem;
font-size: 1.4rem;
font-weight: 500;
}
.dark .HomeTittleBar-module__W7I6JG__titleText {
color: #e0e0e0;
}
.HomeTittleBar-module__W7I6JG__subtitleText {
color: gray;
align-items: center;
margin-left: 3.2rem;
font-size: .8rem;
display: flex;
}
.dark .HomeTittleBar-module__W7I6JG__subtitleText {
color: #b0b0b0;
}
.HomeTittleBar-module__W7I6JG__helpLink {
color: #8b8b8b;
margin-left: .2rem;
font-size: .8rem;
}
.dark .HomeTittleBar-module__W7I6JG__helpLink {
color: #a0a0a0;
}
/*# sourceMappingURL=c50a8_web_src_app_home_components_home-titlebar_HomeTittleBar_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/components/home-titlebar/HomeTittleBar.module.css"],"sourcesContent":[".titleBarContainer {\n width: 100%;\n padding-top: 1rem;\n height: 4rem;\n opacity: 1;\n font-size: 20px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.titleText {\n margin-left: 3.2rem;\n font-size: 1.4rem;\n font-weight: 500;\n color: #585858;\n}\n\n:global(.dark) .titleText {\n color: #e0e0e0;\n}\n\n.subtitleText {\n margin-left: 3.2rem;\n font-size: 0.8rem;\n color: #808080;\n display: flex;\n align-items: center;\n}\n\n:global(.dark) .subtitleText {\n color: #b0b0b0;\n}\n\n.helpLink {\n margin-left: 0.2rem;\n font-size: 0.8rem;\n color: #8b8b8b;\n}\n\n:global(.dark) .helpLink {\n color: #a0a0a0;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYA;;;;;;;AAOA;;;;AAIA;;;;;;;;AAQA;;;;AAIA;;;;;;AAMA"}}]
}
@@ -0,0 +1,174 @@
/* [project]/coding/projects/LangBot/web/src/app/home/knowledge/components/kb-card/KBCard.module.css [app-client] (css) */
.KBCard-module__3ly5mq__cardContainer {
cursor: pointer;
background-color: #fff;
border-radius: 10px;
flex-direction: row;
justify-content: space-between;
gap: .5rem;
width: 100%;
height: 10rem;
padding: 1rem;
transition: all .2s;
display: flex;
box-shadow: 0 2px 2px #0003;
}
.dark .KBCard-module__3ly5mq__cardContainer {
box-shadow: 0;
background-color: #1f1f22;
}
.KBCard-module__3ly5mq__cardContainer:hover {
box-shadow: 0 2px 8px #0000001a;
}
.dark .KBCard-module__3ly5mq__cardContainer:hover {
box-shadow: 0;
}
.KBCard-module__3ly5mq__basicInfoContainer {
flex-direction: column;
justify-content: space-between;
gap: .5rem;
width: 100%;
min-width: 0;
height: 100%;
display: flex;
}
.KBCard-module__3ly5mq__iconEmoji {
background-color: #f5f5f5;
border-radius: .5rem;
flex-shrink: 0;
justify-content: center;
align-items: center;
width: 3rem;
height: 3rem;
font-size: 1.75rem;
display: flex;
}
.dark .KBCard-module__3ly5mq__iconEmoji {
background-color: #2a2a2d;
}
.KBCard-module__3ly5mq__iconBasicInfoContainer {
flex-direction: row;
flex: 1;
align-items: flex-start;
gap: .75rem;
min-width: 0;
display: flex;
}
.KBCard-module__3ly5mq__basicInfoNameContainer {
flex-direction: column;
flex: 1;
gap: .2rem;
min-width: 0;
display: flex;
}
.KBCard-module__3ly5mq__basicInfoNameText {
color: #1a1a1a;
font-size: 1.4rem;
font-weight: 500;
}
.dark .KBCard-module__3ly5mq__basicInfoNameText {
color: #f0f0f0;
}
.KBCard-module__3ly5mq__basicInfoDescriptionText {
-webkit-line-clamp: 3;
text-overflow: ellipsis;
color: #b1b1b1;
-webkit-box-orient: vertical;
font-size: .9rem;
font-weight: 400;
display: -webkit-box;
overflow: hidden;
}
.dark .KBCard-module__3ly5mq__basicInfoDescriptionText {
color: #888;
}
.KBCard-module__3ly5mq__basicInfoLastUpdatedTimeContainer {
flex-direction: row;
align-items: center;
gap: .5rem;
display: flex;
}
.KBCard-module__3ly5mq__basicInfoUpdateTimeIcon {
color: #626262;
width: 1.2rem;
height: 1.2rem;
}
.dark .KBCard-module__3ly5mq__basicInfoUpdateTimeIcon {
color: #a0a0a0;
}
.KBCard-module__3ly5mq__basicInfoUpdateTimeText {
color: #626262;
font-size: 1rem;
font-weight: 400;
}
.dark .KBCard-module__3ly5mq__basicInfoUpdateTimeText {
color: #a0a0a0;
}
.KBCard-module__3ly5mq__operationContainer {
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
gap: .5rem;
width: 8rem;
display: flex;
}
.KBCard-module__3ly5mq__operationDefaultBadge {
flex-direction: row;
gap: .5rem;
display: flex;
}
.KBCard-module__3ly5mq__operationDefaultBadgeIcon {
color: #ffcd27;
width: 1.2rem;
height: 1.2rem;
}
.dark .KBCard-module__3ly5mq__operationDefaultBadgeIcon {
color: #fbbf24;
}
.KBCard-module__3ly5mq__operationDefaultBadgeText {
color: #ffcd27;
font-size: 1rem;
font-weight: 400;
}
.dark .KBCard-module__3ly5mq__operationDefaultBadgeText {
color: #fbbf24;
}
.KBCard-module__3ly5mq__bigText {
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
font-size: 1.4rem;
font-weight: bold;
overflow: hidden;
}
.KBCard-module__3ly5mq__debugButtonIcon {
width: 1.2rem;
height: 1.2rem;
}
/*# sourceMappingURL=c50a8_web_src_app_home_knowledge_components_kb-card_KBCard_module_css_bad6b30c._.single.css.map*/
@@ -0,0 +1,6 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 1, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/coding/projects/LangBot/web/src/app/home/knowledge/components/kb-card/KBCard.module.css"],"sourcesContent":[".cardContainer {\n width: 100%;\n height: 10rem;\n background-color: #fff;\n border-radius: 10px;\n box-shadow: 0px 2px 2px 0 rgba(0, 0, 0, 0.2);\n padding: 1rem;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 0.5rem;\n transition: all 0.2s ease;\n}\n\n:global(.dark) .cardContainer {\n background-color: #1f1f22;\n box-shadow: 0;\n}\n\n.cardContainer:hover {\n box-shadow: 0px 2px 8px 0 rgba(0, 0, 0, 0.1);\n}\n\n:global(.dark) .cardContainer:hover {\n box-shadow: 0;\n}\n\n.basicInfoContainer {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 0.5rem;\n min-width: 0;\n}\n\n.iconEmoji {\n width: 3rem;\n height: 3rem;\n border-radius: 0.5rem;\n background-color: #f5f5f5;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.75rem;\n flex-shrink: 0;\n}\n\n:global(.dark) .iconEmoji {\n background-color: #2a2a2d;\n}\n\n.iconBasicInfoContainer {\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n align-items: flex-start;\n min-width: 0;\n flex: 1;\n}\n\n.basicInfoNameContainer {\n display: flex;\n flex-direction: column;\n gap: 0.2rem;\n min-width: 0;\n flex: 1;\n}\n\n.basicInfoNameText {\n font-size: 1.4rem;\n font-weight: 500;\n color: #1a1a1a;\n}\n\n:global(.dark) .basicInfoNameText {\n color: #f0f0f0;\n}\n\n.basicInfoDescriptionText {\n font-size: 0.9rem;\n font-weight: 400;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #b1b1b1;\n}\n\n:global(.dark) .basicInfoDescriptionText {\n color: #888888;\n}\n\n.basicInfoLastUpdatedTimeContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 0.5rem;\n}\n\n.basicInfoUpdateTimeIcon {\n width: 1.2rem;\n height: 1.2rem;\n color: #626262;\n}\n\n:global(.dark) .basicInfoUpdateTimeIcon {\n color: #a0a0a0;\n}\n\n.basicInfoUpdateTimeText {\n font-size: 1rem;\n font-weight: 400;\n color: #626262;\n}\n\n:global(.dark) .basicInfoUpdateTimeText {\n color: #a0a0a0;\n}\n\n.operationContainer {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: space-between;\n gap: 0.5rem;\n width: 8rem;\n}\n\n.operationDefaultBadge {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n}\n\n.operationDefaultBadgeIcon {\n width: 1.2rem;\n height: 1.2rem;\n color: #ffcd27;\n}\n\n:global(.dark) .operationDefaultBadgeIcon {\n color: #fbbf24;\n}\n\n.operationDefaultBadgeText {\n font-size: 1rem;\n font-weight: 400;\n color: #ffcd27;\n}\n\n:global(.dark) .operationDefaultBadgeText {\n color: #fbbf24;\n}\n\n.bigText {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 1.4rem;\n font-weight: bold;\n max-width: 100%;\n}\n\n.debugButtonIcon {\n width: 1.2rem;\n height: 1.2rem;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;AAeA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;;;;;;;AAUA;;;;;;;;;;;;AAYA;;;;AAIA;;;;;;;;;AASA;;;;;;;;AAQA;;;;;;AAMA;;;;AAIA;;;;;;;;;;;AAWA;;;;AAIA;;;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;;;;AASA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;;;;;AASA"}}]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,51 @@
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[project]/coding/projects/LangBot/web/src/app/page.tsx [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"default",
()=>Home
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/next/navigation.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/coding/projects/LangBot/web/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
;
var _s = __turbopack_context__.k.signature();
'use client';
;
;
function Home() {
_s();
const router = (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRouter"])();
(0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
"Home.useEffect": ()=>{
router.push('/login');
}
}["Home.useEffect"], []);
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: ``
}, void 0, false, {
fileName: "[project]/coding/projects/LangBot/web/src/app/page.tsx",
lineNumber: 11,
columnNumber: 10
}, this);
}
_s(Home, "vQduR7x+OPXj6PSmJyFnf+hU7bg=", false, function() {
return [
__TURBOPACK__imported__module__$5b$project$5d2f$coding$2f$projects$2f$LangBot$2f$web$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRouter"]
];
});
_c = Home;
var _c;
__turbopack_context__.k.register(_c, "Home");
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
}
}),
"[project]/coding/projects/LangBot/web/node_modules/next/navigation.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
module.exports = __turbopack_context__.r("[project]/coding/projects/LangBot/web/node_modules/next/dist/client/components/navigation.js [app-client] (ecmascript)");
}),
]);
//# sourceMappingURL=coding_projects_LangBot_web_30f8c973._.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["file:///root/.openclaw/workspace/coding/projects/LangBot/web/src/app/page.tsx"],"sourcesContent":["'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useEffect } from 'react';\n\nexport default function Home() {\n const router = useRouter();\n useEffect(() => {\n router.push('/login');\n }, []);\n return <div className={``}></div>;\n}\n"],"names":[],"mappings":";;;;;AAEA;AACA;;;AAHA;;;AAKe,SAAS;;IACtB,MAAM,SAAS,IAAA,0LAAS;IACxB,IAAA,kNAAS;0BAAC;YACR,OAAO,IAAI,CAAC;QACd;yBAAG,EAAE;IACL,qBAAO,qOAAC;QAAI,WAAW,EAAE;;;;;;AAC3B;GANwB;;QACP,0LAAS;;;KADF"}},
{"offset": {"line": 46, "column": 0}, "map": {"version":3,"sources":["file:///root/.openclaw/workspace/coding/projects/LangBot/web/node_modules/next/navigation.js"],"sourcesContent":["module.exports = require('./dist/client/components/navigation')\n"],"names":[],"mappings":"AAAA,OAAO,OAAO","ignoreList":[0]}}]
}
@@ -0,0 +1,14 @@
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
script: typeof document === "object" ? document.currentScript : undefined,
chunks: [
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_02fe65de._.js",
"static/chunks/a2e30_next_dist_compiled_react-dom_70f94d5b._.js",
"static/chunks/a2e30_next_dist_compiled_react-server-dom-turbopack_a9ed4898._.js",
"static/chunks/a2e30_next_dist_compiled_next-devtools_index_0fa70b86.js",
"static/chunks/a2e30_next_dist_compiled_80690030._.js",
"static/chunks/a2e30_next_dist_client_d60d50fa._.js",
"static/chunks/a2e30_next_dist_cedb48a3._.js",
"static/chunks/a2e30_@swc_helpers_cjs_1ad3cb21._.js"
],
source: "entry"
});
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More