page.tsx 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. import { pricingPlansPersonal, pricingPlanTeam } from '@/config/pricing';
  2. import clsx from 'clsx';
  3. import Icon from '@/components/Icon';
  4. export const metadata = {
  5. title: 'Tabler Pricing',
  6. description: 'Check out our pricing plans and choose the best option for your needs. Find affordable and flexible solutions for our products and services.',
  7. };
  8. const PricingCards = () => {
  9. return (
  10. <div className="pricing">
  11. {pricingPlansPersonal.map(plan => (
  12. <div
  13. key={plan.name}
  14. className={clsx('pricing-card', {
  15. featured: plan.featured
  16. })}
  17. >
  18. {plan.featured && (
  19. <div className="pricing-label">
  20. <div className="label label-primary">Popular</div>
  21. </div>
  22. )}
  23. <h4 className="pricing-title">{plan.name}</h4>
  24. <div className="pricing-price">
  25. <span className="pricing-price-currency">$</span>
  26. {plan.price}
  27. <div className="pricing-price-description">
  28. <div>per user</div>
  29. <div>per year</div>
  30. </div>
  31. </div>
  32. <ul className="pricing-features">
  33. {pricingPlanTeam.features.map(feature => (
  34. <li key={feature}>
  35. <Icon name="check" className="text-green mr-2" />
  36. {feature}
  37. </li>
  38. ))}
  39. </ul>
  40. <div className="pricing-btn">
  41. <a
  42. href="#"
  43. className={clsx('btn btn-block', {
  44. 'btn-primary': plan.featured
  45. })}
  46. >
  47. Get started
  48. </a>
  49. </div>
  50. </div>
  51. ))}
  52. </div>
  53. );
  54. };
  55. const PricingTeam = ({ className }) => {
  56. return (
  57. <div className={clsx('pricing-banner', className)}>
  58. <div className="row g items-center">
  59. <div className="lg:col">
  60. <h3>{pricingPlanTeam.name}</h3>
  61. <p className="m-0">{pricingPlanTeam.description}</p>
  62. </div>
  63. <div className="lg:col">
  64. <ul className="pricing-features m-0">
  65. {pricingPlanTeam.features.map(feature => (
  66. <li key={feature}>
  67. <Icon name="check" className="text-green mr-2" />
  68. {feature}
  69. </li>
  70. ))}
  71. </ul>
  72. </div>
  73. <div className="sm:col-6 lg:col">
  74. <div className="pricing-price m-0">
  75. <span className="pricing-price-currency">$</span>
  76. {pricingPlanTeam.price}
  77. <div className="pricing-price-description">
  78. <div>per team</div>
  79. <div>per year</div>
  80. </div>
  81. </div>
  82. </div>
  83. <div className="sm:col-6 lg:col-auto">
  84. <a href="#" className="btn btn-primary btn-block">
  85. Get started
  86. </a>
  87. </div>
  88. </div>
  89. </div>
  90. );
  91. };
  92. export default function Page() {
  93. return (
  94. <>
  95. <section className="section">
  96. <div className="container">
  97. <div className="section-header">
  98. <h2 className="page-title">Simple, transparent pricing</h2>
  99. <p className="section-description">
  100. Get early access to 100+ components and free updates every month. Make it yours today!
  101. </p>
  102. </div>
  103. <PricingCards />
  104. <PricingTeam className="mt-5" />
  105. </div>
  106. </section>
  107. <section className="section section-light">
  108. <div className="container">
  109. <div className="section-header">
  110. <h2 className="section-title">Frequently Asked Questions</h2>
  111. </div>
  112. <div className="row gy">
  113. <div className="md:col-4 markdown">
  114. <h3>How is Tabler UI Pro different from Tabler UI?</h3>
  115. <p>
  116. Tabler UI provides the basic functional components you&apos;ll need to compose together to create your
  117. app or website. Pro components are assembled, building blocks and page templates you can drop-in your
  118. app to save time.
  119. </p>
  120. </div>
  121. <div className="md:col-4 markdown">
  122. <h3>Is this a yearly subscription?</h3>
  123. <p>
  124. No, you have a lifetime access to all our components. This means that you&apos;ll get new components and
  125. updates every month till we&apos;ve exhausted our component inspiration.
  126. </p>
  127. </div>
  128. <div className="md:col-4 markdown">
  129. <h3>I want to buy this but I can&apos;t afford it. Is there a discount?</h3>
  130. <p>
  131. If you&apos;re a student or if the price in your local currency is too high, kindly send an email to
  132. support@tabler.io stating your situation and we&apos;ll consider giving you a discount.
  133. </p>
  134. </div>
  135. <div className="md:col-4 markdown">
  136. <h3>What can I do with this license?</h3>
  137. <ul>
  138. <li>To build your websites or SaaS project that end-users need to pay</li>
  139. <li>To build an open-source tool or documentation website</li>
  140. </ul>
  141. </div>
  142. <div className="md:col-4 markdown">
  143. <h3>What version of Tabler UI is used?</h3>
  144. <p>
  145. The components in PRO are authored using Tabler UI v1.2+. If you&apos;re on v0.8, we recommend upgrading
  146. to the most recent version to use Pro components.
  147. </p>
  148. </div>
  149. <div className="md:col-4 markdown">
  150. <h3>What restrictions does this license have?</h3>
  151. <ul>
  152. <li>Create a clone of Tabler UI pro to sell</li>
  153. <li>
  154. Create products like templates, themes, Figma or Sketch UI kits, page builders based on the PRO
  155. components
  156. </li>
  157. <li>Recreate the components for other UI libraries or CSS frameworks</li>
  158. </ul>
  159. </div>
  160. </div>
  161. </div>
  162. </section>
  163. </>
  164. );
  165. }