/** * @license * Copyright 2021 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import {FunctionComponent, JSX} from 'preact'; import {useLocalizedStrings} from './i18n/i18n'; import {CloseIcon, NavigationIcon, SnapshotIcon, TimespanIcon} from './icons'; const HelpDialogColumn: FunctionComponent<{ icon: JSX.Element, userFriendlyModeLabel: string; lighthouseOfficialModeLabel: string; modeDescription: string; useCaseInstruction: string; useCases: string[]; availableCategories: string[]; }> = (props) => { const strings = useLocalizedStrings(); return (
{props.icon}
{props.userFriendlyModeLabel}
{props.lighthouseOfficialModeLabel}

{props.modeDescription}

{props.useCaseInstruction}

    {props.useCases.map((useCase, i) => (
  • {useCase}
  • ))}

{strings.categories}

    {props.availableCategories.map((category, i) => (
  • {category}
  • ))}
); }; export const HelpDialog: FunctionComponent<{onClose: () => void}> = ({ onClose, }) => { const strings = useLocalizedStrings(); return (
{strings.helpDialogTitle}
} userFriendlyModeLabel={strings.navigationDescription} lighthouseOfficialModeLabel={strings.navigationReport} modeDescription={strings.navigationLongDescription} useCaseInstruction={strings.helpUseCaseInstructionNavigation} useCases={[ strings.helpUseCaseNavigation1, strings.helpUseCaseNavigation2, strings.helpUseCaseNavigation3, ]} availableCategories={[ strings.categoryPerformance, strings.categoryAccessibility, strings.categoryBestPractices, strings.categorySeo, ]} /> } userFriendlyModeLabel={strings.timespanDescription} lighthouseOfficialModeLabel={strings.timespanReport} modeDescription={strings.timespanLongDescription} useCaseInstruction={strings.helpUseCaseInstructionTimespan} useCases={[strings.helpUseCaseTimespan1, strings.helpUseCaseTimespan2]} availableCategories={[ strings.categoryPerformance, strings.categoryBestPractices, ]} /> } userFriendlyModeLabel={strings.snapshotDescription} lighthouseOfficialModeLabel={strings.snapshotReport} modeDescription={strings.snapshotLongDescription} useCaseInstruction={strings.helpUseCaseInstructionSnapshot} useCases={[strings.helpUseCaseSnapshot1, strings.helpUseCaseSnapshot2]} availableCategories={[ strings.categoryPerformance, strings.categoryAccessibility, strings.categoryBestPractices, strings.categorySeo, ]} />
); };