add-collaborators-upgrade.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import React, { useState } from 'react'
  2. import { Trans } from 'react-i18next'
  3. import { Button } from 'react-bootstrap'
  4. import Icon from '../../../shared/components/icon'
  5. import { startFreeTrial, upgradePlan } from '../../../main/account-upgrade'
  6. import { useShareProjectContext } from './share-project-modal'
  7. export default function AddCollaboratorsUpgrade() {
  8. const { eventTracking } = useShareProjectContext()
  9. const [startedFreeTrial, setStartedFreeTrial] = useState(false)
  10. return (
  11. <div className="add-collaborators-upgrade">
  12. <p className="text-center">
  13. <Trans i18nKey="need_to_upgrade_for_more_collabs" />. Also:
  14. </p>
  15. <ul className="list-unstyled">
  16. <li>
  17. <Icon type="check" />
  18. &nbsp;
  19. <Trans i18nKey="unlimited_projects" />
  20. </li>
  21. <li>
  22. <Icon type="check" />
  23. &nbsp;
  24. <Trans
  25. i18nKey="collabs_per_proj"
  26. values={{ collabcount: 'Multiple' }}
  27. />
  28. </li>
  29. <li>
  30. <Icon type="check" />
  31. &nbsp;
  32. <Trans i18nKey="full_doc_history" />
  33. </li>
  34. <li>
  35. <Icon type="check" />
  36. &nbsp;
  37. <Trans i18nKey="sync_to_dropbox" />
  38. </li>
  39. <li>
  40. <Icon type="check" />
  41. &nbsp;
  42. <Trans i18nKey="sync_to_github" />
  43. </li>
  44. <li>
  45. <Icon type="check" />
  46. &nbsp;
  47. <Trans i18nKey="compile_larger_projects" />
  48. </li>
  49. </ul>
  50. <p className="text-center row-spaced-thin">
  51. {window.user.allowedFreeTrial ? (
  52. <Button
  53. bsStyle="success"
  54. onClick={() => {
  55. startFreeTrial(
  56. 'projectMembers',
  57. undefined,
  58. undefined,
  59. eventTracking
  60. )
  61. setStartedFreeTrial(true)
  62. }}
  63. >
  64. <Trans i18nKey="start_free_trial" />
  65. </Button>
  66. ) : (
  67. <Button
  68. bsStyle="success"
  69. onClick={() => {
  70. upgradePlan('projectMembers')
  71. setStartedFreeTrial(true)
  72. }}
  73. >
  74. <Trans i18nKey="start_free_trial" />
  75. </Button>
  76. )}
  77. </p>
  78. {startedFreeTrial && (
  79. <p className="small">
  80. <Trans i18nKey="refresh_page_after_starting_free_trial" />
  81. </p>
  82. )}
  83. </div>
  84. )
  85. }