LinksDomains.tsx 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import * as React from 'react';
  2. interface LinksDomainsProps {
  3. slug: string;
  4. onUpdateSlug: (newSlug: string) => void;
  5. }
  6. const LinksDomains: React.FC<LinksDomainsProps> = ({ slug, onUpdateSlug }) => {
  7. const [customDomain, setCustomDomain] = React.useState('');
  8. return (
  9. <div className="p-6 max-w-4xl mx-auto">
  10. <h2 className="text-2xl font-bold text-gray-900 dark:text-white mb-6">Links & Custom Domains</h2>
  11. <div className="space-y-8">
  12. <div className="bg-white dark:bg-gray-800 p-6 rounded-lg">
  13. <h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-4">Your GreenPage URL</h3>
  14. <p className="text-gray-500 dark:text-gray-400 mb-2">This is your main link that you can share anywhere.</p>
  15. <div className="flex items-center bg-gray-100 dark:bg-gray-700 rounded-md">
  16. <span className="px-4 text-gray-400 dark:text-gray-400">greenpage.ai/</span>
  17. <input
  18. type="text"
  19. value={slug}
  20. onChange={(e) => onUpdateSlug(e.target.value)}
  21. className="flex-1 bg-transparent p-3 text-gray-900 dark:text-white focus:outline-none"
  22. />
  23. <button className="bg-brand-primary text-white font-semibold py-2 px-4 rounded-r-md hover:bg-brand-secondary transition-colors">
  24. Save
  25. </button>
  26. </div>
  27. </div>
  28. <div className="bg-white dark:bg-gray-800 p-6 rounded-lg">
  29. <h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-4">Connect a Custom Domain</h3>
  30. <p className="text-gray-500 dark:text-gray-400 mb-2">Use your own domain for a more professional look (e.g., links.yourcompany.com).</p>
  31. <div className="flex items-center bg-gray-100 dark:bg-gray-700 rounded-md">
  32. <input
  33. type="text"
  34. value={customDomain}
  35. onChange={(e) => setCustomDomain(e.target.value)}
  36. placeholder="your-domain.com"
  37. className="w-full bg-transparent p-3 text-gray-900 dark:text-white focus:outline-none rounded-md"
  38. />
  39. </div>
  40. <button className="mt-4 w-full md:w-auto bg-brand-primary text-white font-semibold py-2 px-5 rounded-md hover:bg-brand-secondary transition-colors">
  41. Connect Domain
  42. </button>
  43. <p className="text-xs text-gray-400 dark:text-gray-500 mt-4">You'll need to update your DNS records after connecting. We'll provide the instructions.</p>
  44. </div>
  45. </div>
  46. </div>
  47. );
  48. };
  49. export default LinksDomains;