Terms.jsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { useLanguage } from '../context/LanguageContext';
  2. import Footer from '../components/Footer';
  3. function Terms() {
  4. const { t } = useLanguage();
  5. const sections = [
  6. {
  7. title: t('terms.usage.title'),
  8. content: t('terms.usage.content')
  9. },
  10. {
  11. title: t('terms.account.title'),
  12. content: t('terms.account.content')
  13. },
  14. {
  15. title: t('terms.intellectual.title'),
  16. content: t('terms.intellectual.content')
  17. },
  18. {
  19. title: t('terms.liability.title'),
  20. content: t('terms.liability.content')
  21. }
  22. ];
  23. return (
  24. <div className="relative min-h-screen bg-white">
  25. {/* Technical grid background */}
  26. <div className="fixed inset-0 technical-grid opacity-50 pointer-events-none"></div>
  27. <div className="max-w-[1600px] mx-auto px-8 sm:px-12 lg:px-16 pt-32">
  28. {/* Header section */}
  29. <div className="grid-layout mb-16">
  30. <div className="col-span-12 md:col-span-8">
  31. <h1 className="brutalist-heading relative">
  32. {t('terms.title')}
  33. <div className="absolute -right-8 -top-8 w-16 h-16">
  34. <div className="geometric-shape square w-full h-full bg-black"></div>
  35. </div>
  36. </h1>
  37. <p className="monospace text-xl md:text-2xl font-medium tracking-tight max-w-2xl">
  38. {t('terms.description')}
  39. </p>
  40. </div>
  41. </div>
  42. {/* Terms Content */}
  43. <div className="brutalist-card p-8">
  44. <div className="space-y-12">
  45. {sections.map((section) => (
  46. <div key={section.title}>
  47. <h2 className="text-2xl font-black uppercase mb-4">{section.title}</h2>
  48. <p className="monospace whitespace-pre-line">{section.content}</p>
  49. </div>
  50. ))}
  51. </div>
  52. </div>
  53. </div>
  54. <Footer />
  55. </div>
  56. );
  57. }
  58. export default Terms;