45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
export type KnowledgeBaseCounts = {
|
|
knowledge_count: number;
|
|
processing_count: number;
|
|
};
|
|
|
|
export function isEmptyKnowledgeBase(
|
|
knowledgeBase: KnowledgeBaseCounts | null | undefined,
|
|
): boolean {
|
|
return Boolean(
|
|
knowledgeBase &&
|
|
knowledgeBase.knowledge_count === 0 &&
|
|
knowledgeBase.processing_count === 0,
|
|
);
|
|
}
|
|
|
|
export function defaultEmbeddedKnowledgeTab({
|
|
knowledgeBase,
|
|
wikiEnabled,
|
|
}: {
|
|
knowledgeBase: KnowledgeBaseCounts | null | undefined;
|
|
wikiEnabled: boolean;
|
|
}): "documents" | "wiki" {
|
|
if (isEmptyKnowledgeBase(knowledgeBase)) return "documents";
|
|
return wikiEnabled ? "wiki" : "documents";
|
|
}
|
|
|
|
export function shouldOpenNativeWikiIndex({
|
|
defaultEntry,
|
|
landingMode,
|
|
knowledgeBase,
|
|
wikiEnabled,
|
|
}: {
|
|
defaultEntry: boolean;
|
|
landingMode: "wiki" | "weknora";
|
|
knowledgeBase: KnowledgeBaseCounts | null | undefined;
|
|
wikiEnabled: boolean;
|
|
}): boolean {
|
|
return (
|
|
defaultEntry &&
|
|
landingMode === "wiki" &&
|
|
wikiEnabled &&
|
|
!isEmptyKnowledgeBase(knowledgeBase)
|
|
);
|
|
}
|