welcome-message.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { useState } from 'react'
  2. import { useTranslation } from 'react-i18next'
  3. import NewProjectButtonModal from './new-project-button/new-project-button-modal'
  4. import type { NewProjectButtonModalVariant } from './new-project-button/new-project-button-modal'
  5. import type { Nullable } from '../../../../../types/utils'
  6. import WelcomeMessageLink from './welcome-message-new/welcome-message-link'
  7. import WelcomeMessageCreateNewProjectDropdown from './welcome-message-new/welcome-message-create-new-project-dropdown'
  8. export default function WelcomeMessage() {
  9. const { t } = useTranslation()
  10. const [activeModal, setActiveModal] =
  11. useState<Nullable<NewProjectButtonModalVariant>>(null)
  12. return (
  13. <>
  14. <div className="card welcome-new-wrapper">
  15. <div className="welcome text-centered">
  16. <h2 className="welcome-title">{t('welcome_to_sl')}</h2>
  17. <div className="welcome-message-cards-wrapper">
  18. <WelcomeMessageCreateNewProjectDropdown
  19. setActiveModal={modal => setActiveModal(modal)}
  20. />
  21. <WelcomeMessageLink
  22. imgSrc="/img/welcome-page/learn-latex.svg"
  23. title="Learn LaTeX with a tutorial"
  24. href="/learn/latex/Learn_LaTeX_in_30_minutes"
  25. />
  26. <WelcomeMessageLink
  27. imgSrc="/img/welcome-page/browse-templates.svg"
  28. title="Browse templates"
  29. href="/templates"
  30. />
  31. </div>
  32. </div>
  33. </div>
  34. <NewProjectButtonModal
  35. modal={activeModal}
  36. onHide={() => setActiveModal(null)}
  37. />
  38. </>
  39. )
  40. }