import AccessibilityNewIcon from '@mui/icons-material/AccessibilityNew'; import AltRouteIcon from '@mui/icons-material/AltRoute'; import OpenInBrowserIcon from '@mui/icons-material/OpenInBrowser'; import OpenInNewIcon from '@mui/icons-material/OpenInNew'; import { Button, Card, CardActions, CardContent, Chip, ListItemIcon, ListItemText, Menu, MenuItem, Typography } from '@mui/material'; import { styled } from '@mui/material/styles'; import { WindowNames } from '@services/windows/WindowProperties'; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { type useLoadHelpPagesList } from './useLoadHelpPagesList'; const StyledCard = styled(Card)` `; interface HelpWebsiteItemProps { item: ReturnType[number]; } export const HelpWebsiteItem: React.FC = ({ item }) => { const { t } = useTranslation(); const [sourceAnchorElement, setSourceAnchorElement] = useState(null); const handleOpenSourcesMenu = (event: React.MouseEvent) => { setSourceAnchorElement(event.currentTarget); }; const [moreAnchorElement, setMoreAnchorElement] = useState(null); const handleOpenMoreMenu = (event: React.MouseEvent) => { setMoreAnchorElement(event.currentTarget); }; const handleCloseMenu = () => { setSourceAnchorElement(null); setMoreAnchorElement(null); }; const openExternalLinkInApp = (uri: string) => { void window.service.window.open(WindowNames.any, { uri }, { multiple: true }); }; const openExternalLinkInBrowser = (uri: string) => { void window.service.native.openURI(uri); }; return ( {item.title} {item.description} {item.tags.map((tag) => )} {item.fallbackUrls.length > 0 && ( <> {item.fallbackUrls.map((url, index) => ( { openExternalLinkInApp(url); }} > {new URL(url).hostname} ))} )} { openExternalLinkInBrowser(item.url); }} > {t('ContextMenu.OpenLinkInBrowser')} {item.contribute && ( { openExternalLinkInBrowser(item.contribute); }} > {t('Help.Contribute')} )} ); };