page.tsx 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import emails from '@/data/emails.json';
  2. import Link from '@/components/Link';
  3. import EmailImage from '@/components/EmailImage';
  4. import Slider from '@/components/Slider';
  5. import ResponsiveImage from '@/components/ResponsiveImage';
  6. import { emailsCount } from '@/config/site';
  7. import CTABannerEmails from '@/components/CTABAnnerEmails';
  8. import clsx from 'clsx';
  9. export const metadata = {
  10. title: 'Emails Gallery',
  11. description: 'Tabler Emails is a set of responsive email templates for marketing, transactional and automated emails.',
  12. };
  13. export default function EmailsGalleryPage() {
  14. return (
  15. <>
  16. <section className="section pb-0">
  17. <div className="container">
  18. <div className="section-header">
  19. <h2 className="section-title section-title-lg">Email templates gallery</h2>
  20. <p className="section-description">
  21. See how our emails look. Choose your favorite from among {emailsCount}
  22. &nbsp;carefully prepared emails.
  23. </p>
  24. </div>
  25. </div>
  26. </section>
  27. {emails.map((email, i) => (
  28. <section key={email.descriptionShort} className={clsx('section py-6', i % 2 == 1 ? 'section-light' : '')}>
  29. <div className="container container-narrow">
  30. <div className={clsx('row g-6 items-center', i % 2 == 0 ? 'flex-row-reverse' : '')}>
  31. <div className="col">
  32. <h3 className="mb-4">{email.descriptionShort}</h3>
  33. <p>
  34. {email.descriptionLong}
  35. </p>
  36. </div>
  37. <div className="col-5">
  38. <div>
  39. <div className="rounded img-gradient border">
  40. <div className="o-hidden ratio-3x4 mx-auto ">
  41. <ResponsiveImage
  42. src={`/img/tabler-emails/screenshots/${email.screenshot}-full.png`}
  43. width={540}
  44. height={email.height / email.width * 540}
  45. className="rounded mx-auto"
  46. />
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. </section>
  54. ))}
  55. <section className="section">
  56. <div className="container">
  57. <div className="mt-7">
  58. <CTABannerEmails />
  59. </div>
  60. </div>
  61. </section>
  62. </>
  63. );
  64. }