feat: update main chat and system chat UI

This commit is contained in:
2026-05-25 17:26:37 +09:00
parent fb5ec649cd
commit f59522ffc4
120 changed files with 43262 additions and 3325 deletions

View File

@@ -2,7 +2,34 @@ import type { AppPageDescriptor } from '../../store/appStore/types';
import { isPreviewRuntime } from './previewRuntime';
export const CLIENT_ID_STORAGE_KEY = 'work-app.visitor.client-id';
const PREVIEW_CLIENT_ID_STORAGE_KEY = 'work-app.preview-runtime.client-id';
function readStorageValue(storage: Storage | null | undefined, key: string) {
try {
return storage?.getItem(key)?.trim() ?? '';
} catch {
return '';
}
}
function writeStorageValue(storage: Storage | null | undefined, key: string, value: string) {
try {
if (value) {
storage?.setItem(key, value);
} else {
storage?.removeItem(key);
}
} catch {
// Ignore storage failures in restricted preview runtimes.
}
}
function removeStorageValue(storage: Storage | null | undefined, key: string) {
try {
storage?.removeItem(key);
} catch {
// Ignore storage failures in restricted preview runtimes.
}
}
function getClientStorage() {
if (typeof window === 'undefined') {
@@ -11,7 +38,7 @@ function getClientStorage() {
if (isPreviewRuntime()) {
return {
key: PREVIEW_CLIENT_ID_STORAGE_KEY,
key: CLIENT_ID_STORAGE_KEY,
primaryStorage: window.localStorage,
legacyStorage: window.sessionStorage,
};
@@ -43,17 +70,17 @@ export function getClientId() {
return '';
}
const savedClientId = storageConfig.primaryStorage.getItem(storageConfig.key)?.trim() ?? '';
const savedClientId = readStorageValue(storageConfig.primaryStorage, storageConfig.key);
if (savedClientId) {
return savedClientId;
}
const legacyClientId = storageConfig.legacyStorage?.getItem(storageConfig.key)?.trim() ?? '';
const legacyClientId = readStorageValue(storageConfig.legacyStorage, storageConfig.key);
if (legacyClientId) {
storageConfig.primaryStorage.setItem(storageConfig.key, legacyClientId);
storageConfig.legacyStorage?.removeItem(storageConfig.key);
writeStorageValue(storageConfig.primaryStorage, storageConfig.key, legacyClientId);
removeStorageValue(storageConfig.legacyStorage, storageConfig.key);
return legacyClientId;
}
@@ -67,8 +94,8 @@ export function clearClientId() {
return;
}
storageConfig.primaryStorage.removeItem(storageConfig.key);
storageConfig.legacyStorage?.removeItem(storageConfig.key);
removeStorageValue(storageConfig.primaryStorage, storageConfig.key);
removeStorageValue(storageConfig.legacyStorage, storageConfig.key);
}
export function getOrCreateClientId() {
@@ -85,8 +112,8 @@ export function getOrCreateClientId() {
}
const nextClientId = generateClientId();
storageConfig.primaryStorage.setItem(storageConfig.key, nextClientId);
storageConfig.legacyStorage?.removeItem(storageConfig.key);
writeStorageValue(storageConfig.primaryStorage, storageConfig.key, nextClientId);
removeStorageValue(storageConfig.legacyStorage, storageConfig.key);
return nextClientId;
}