The Node.js® Website
at main 30 lines 841 B view raw
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;