- client-di2/: копия фронтенда DI2 + shared/schema.ts, main.tsx обёрнут в wouter Router base=/di2, favicon относительный - client-di2/tailwind.config.ts (свои токены DI2) подключён через @config в index.css — иначе postcss взял бы корневой конфиг iistwin - vite.config.di2.ts: base /di2/, root client-di2, outDir dist/public-di2 - package.json: build/check через && включают сборку и typecheck di2 (build:di2, check:di2), новых зависимостей нет - Навигация финансов: ссылка «Data-Insight (полная версия)» → /di2 (target=_blank) в FinanceSidebar и FinanceBottomNav - Типовые фиксы предсуществующих ошибок DI2 (casts, ruleLogic в mutation-типах, Set<string>)
17 lines
466 B
TypeScript
17 lines
466 B
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
import type { TableConfig } from "@shared/schema";
|
|
|
|
export function useColumnLabels() {
|
|
const { data: tableConfig } = useQuery<TableConfig>({
|
|
queryKey: ["/api/table-config"],
|
|
staleTime: 5 * 60 * 1000,
|
|
});
|
|
|
|
return function getLabel(key: string, fallback?: string): string {
|
|
if (tableConfig?.columnLabels?.[key]) {
|
|
return tableConfig.columnLabels[key];
|
|
}
|
|
return fallback || key;
|
|
};
|
|
}
|