welcome-message.tsx 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. import getMeta from '@/utils/meta'
  9. import OLPageContentCard from '@/features/ui/components/ol/ol-page-content-card'
  10. export default function WelcomeMessage() {
  11. const { t } = useTranslation()
  12. const [activeModal, setActiveModal] =
  13. useState<Nullable<NewProjectButtonModalVariant>>(null)
  14. const { wikiEnabled, templatesEnabled } = getMeta('ol-ExposedSettings')
  15. return (
  16. <>
  17. <OLPageContentCard>
  18. <div className="welcome-new-wrapper">
  19. <div className="welcome text-center">
  20. <h2 className="welcome-title">{t('welcome_to_sl')}</h2>
  21. <div className="welcome-message-cards-wrapper">
  22. <WelcomeMessageCreateNewProjectDropdown
  23. setActiveModal={modal => setActiveModal(modal)}
  24. />
  25. {wikiEnabled && (
  26. <WelcomeMessageLink
  27. imgSrc="/img/welcome-page/learn-latex.svg"
  28. title="Learn LaTeX with a tutorial"
  29. href="/learn/latex/Learn_LaTeX_in_30_minutes"
  30. target="_blank"
  31. />
  32. )}
  33. {templatesEnabled && (
  34. <WelcomeMessageLink
  35. imgSrc="/img/welcome-page/browse-templates.svg"
  36. title="Browse templates"
  37. href="/templates"
  38. />
  39. )}
  40. </div>
  41. </div>
  42. </div>
  43. </OLPageContentCard>
  44. <NewProjectButtonModal
  45. modal={activeModal}
  46. onHide={() => setActiveModal(null)}
  47. />
  48. </>
  49. )
  50. }