download-source.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { useTranslation } from 'react-i18next'
  2. import { useProjectContext } from '../../../shared/context/project-context'
  3. import Icon from '../../../shared/components/icon'
  4. import * as eventTracking from '../../../infrastructure/event-tracking'
  5. import { isSmallDevice } from '../../../infrastructure/event-tracking'
  6. import BootstrapVersionSwitcher from '@/features/ui/components/bootstrap-5/bootstrap-version-switcher'
  7. import MaterialIcon from '@/shared/components/material-icon'
  8. export default function DownloadSource() {
  9. const { t } = useTranslation()
  10. const { _id: projectId } = useProjectContext()
  11. function sendDownloadEvent() {
  12. eventTracking.sendMB('download-zip-button-click', {
  13. projectId,
  14. location: 'left-menu',
  15. isSmallDevice,
  16. })
  17. }
  18. return (
  19. <a
  20. href={`/project/${projectId}/download/zip`}
  21. target="_blank"
  22. rel="noreferrer"
  23. onClick={sendDownloadEvent}
  24. >
  25. <BootstrapVersionSwitcher
  26. bs3={<Icon type="file-archive-o" modifier="2x" />}
  27. bs5={<MaterialIcon type="folder_zip" size="2x" />}
  28. />
  29. <br />
  30. {t('source')}
  31. </a>
  32. )
  33. }