The Node.js® Website
1'use client';
2
3import { CloudArrowDownIcon } from '@heroicons/react/24/outline';
4import { useTranslations } from 'next-intl';
5import { useContext } from 'react';
6import type { FC } from 'react';
7
8import Button from '@/components/Common/Button';
9import { ReleaseContext } from '@/providers/releaseProvider';
10
11const SourceButton: FC = () => {
12 const t = useTranslations();
13 const { release } = useContext(ReleaseContext);
14
15 const version = release.versionWithPrefix;
16 const url = `https://nodejs.org/dist/${version}/node-${version}.tar.gz`;
17
18 return (
19 <div className="mb-2 mt-6 flex items-center gap-2">
20 <Button href={url} disabled={!version}>
21 <CloudArrowDownIcon />
22 {t('layouts.download.buttons.source', {
23 version: version,
24 })}
25 </Button>
26 </div>
27 );
28};
29
30export default SourceButton;