feat: add visibility tracking for content health component

This commit is contained in:
Elio Struyf
2026-06-11 11:08:03 +02:00
parent 27d8d79de5
commit 6c9eaf7016
@@ -25,6 +25,14 @@ interface Props {
}
const ContentHealth: React.FunctionComponent<Props> = ({ contentHealth }) => {
const hasSeenContentHealth = React.useRef(false);
React.useEffect(() => {
if (contentHealth !== undefined) {
hasSeenContentHealth.current = true;
}
}, [contentHealth]);
const openContentHealthDocs = React.useCallback(() => {
Messenger.send(GeneralCommands.toVSCode.runCommand, {
command: COMMAND_NAME.docs,
@@ -40,11 +48,14 @@ const ContentHealth: React.FunctionComponent<Props> = ({ contentHealth }) => {
]), [openContentHealthDocs]);
if (contentHealth === undefined) {
return (
<Collapsible id='contentHealth' title={localize(LocalizationKey.panelContentHealthTitle)} actions={actions}>
<p className='opacity-60'>{localize(LocalizationKey.panelContentHealthChecking)}</p>
</Collapsible>
);
if (!hasSeenContentHealth.current) {
return (
<Collapsible id='contentHealth' title={localize(LocalizationKey.panelContentHealthTitle)} actions={actions}>
<p className='opacity-60'>{localize(LocalizationKey.panelContentHealthChecking)}</p>
</Collapsible>
);
}
return null;
}
const { internalLinks, brokenExternalLinks, readability, freshnessWarning, minReadability = 0 } = contentHealth;