All files / src/app/HamburgerMenu HelpDocsMenuSection.tsx

100% Statements 76/76
100% Branches 2/2
100% Functions 1/1
100% Lines 76/76

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 771x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 8x 8x 8x 8x 8x  
/**
 * @file HelpDocsMenuSection.tsx
 * @module app/HamburgerMenu/HelpDocsMenuSection
 *
 * @summary
 * Help & Documentation section with links to GitHub README, API Docs, and Frontend Docs.
 * Provides quick access to key resources for users.
 * @example
 * ```tsx
 * <HelpDocsMenuSection />
 * ```
 */
 
import {
  Box,
  Typography,
  Stack,
  Link,
} from '@mui/material';
import OpenInNewIcon from '@mui/icons-material/OpenInNew';
import { useTranslation } from 'react-i18next';
 
export default function HelpDocsMenuSection() {
  const { t } = useTranslation(['common']);
 
  const docsLinks = [
    {
      key: 'github',
      label: t('help.github', 'GitHub Repository'),
      href: 'https://github.com/Keglev/inventory-service',
    },
    {
      key: 'apiDocs',
      label: t('help.apiDocs', 'Open API Docs'),
      href: '/docs/api',
    },
    {
      key: 'frontendDocs',
      label: t('help.frontendDocs', 'Frontend Docs'),
      href: '/docs/frontend',
    },
  ];
 
  return (
    <Box sx={{ px: 2, py: 1.5 }}>
      <Typography variant="subtitle2" sx={{ fontWeight: 600, mb: 1.5 }}>
        {t('help.title', 'Hilfe & Dokumentation / Help & Docs')}
      </Typography>
 
      <Stack spacing={0.75}>
        {docsLinks.map((link) => (
          <Link
            key={link.key}
            href={link.href}
            target="_blank"
            rel="noopener noreferrer"
            underline="hover"
            sx={{
              display: 'flex',
              alignItems: 'center',
              gap: 0.5,
              fontSize: '0.875rem',
              color: 'primary.main',
              '&:hover': {
                textDecoration: 'underline',
              },
            }}
          >
            <Typography variant="caption">{link.label}</Typography>
            <OpenInNewIcon sx={{ fontSize: 14 }} />
          </Link>
        ))}
      </Stack>
    </Box>
  );
}