subscription-dashboard.tsx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { useTranslation } from 'react-i18next'
  2. import ContactSupport from './contact-support-for-custom-subscription'
  3. import GroupSubscriptionMemberships from './group-subscription-memberships'
  4. import InstitutionMemberships from './institution-memberships'
  5. import FreePlan from './free-plan'
  6. import ManagedPublishers from './managed-publishers'
  7. import PersonalSubscription from './personal-subscription'
  8. import ManagedGroupSubscriptions from './managed-group-subscriptions'
  9. import ManagedInstitutions from './managed-institutions'
  10. import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context'
  11. function SubscriptionDashboard() {
  12. const { t } = useTranslation()
  13. const { hasDisplayedSubscription, hasSubscription } =
  14. useSubscriptionDashboardContext()
  15. return (
  16. <div className="container">
  17. <div className="row">
  18. <div className="col-md-8 col-md-offset-2">
  19. <div className="card">
  20. <div className="page-header">
  21. <h1>{t('your_subscription')}</h1>
  22. </div>
  23. <PersonalSubscription />
  24. <ManagedGroupSubscriptions />
  25. <ManagedInstitutions />
  26. <ManagedPublishers />
  27. <GroupSubscriptionMemberships />
  28. <InstitutionMemberships />
  29. {!hasDisplayedSubscription &&
  30. (hasSubscription ? <ContactSupport /> : <FreePlan />)}
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. )
  36. }
  37. export default SubscriptionDashboard