ShortLinks.tsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import * as React from 'react';
  2. import { useTranslation } from '../hooks/useI18n';
  3. interface ShortLinksProps {
  4. slug: string;
  5. onUpdateSlug: (newSlug: string) => void;
  6. }
  7. const ShortLinks: React.FC<ShortLinksProps> = ({ slug, onUpdateSlug }) => {
  8. const { t } = useTranslation();
  9. return (
  10. <div className="p-8 max-w-4xl mx-auto">
  11. <header className="mb-8">
  12. <h2 className="text-3xl font-bold text-gray-900 dark:text-white">{t('seo.short_links.title')}</h2>
  13. <p className="text-gray-500 dark:text-gray-400 mt-1">{t('seo.short_links.subtitle')}</p>
  14. </header>
  15. <div className="space-y-8">
  16. <div className="bg-white dark:bg-gray-800 p-6 rounded-lg shadow-sm">
  17. <h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-4">{t('seo.short_links.your_url')}</h3>
  18. <p className="text-gray-500 dark:text-gray-400 mb-2">{t('seo.short_links.your_url_desc')}</p>
  19. <div className="flex items-center bg-gray-100 dark:bg-gray-700 rounded-md">
  20. <span className="px-4 text-gray-400 dark:text-gray-400">greenpage.ai/</span>
  21. <input
  22. type="text"
  23. value={slug}
  24. onChange={(e) => onUpdateSlug(e.target.value)}
  25. className="flex-1 bg-transparent p-3 text-gray-900 dark:text-white focus:outline-none"
  26. />
  27. <button className="bg-brand-primary text-white font-semibold py-2 px-4 rounded-r-md hover:bg-brand-secondary transition-colors">
  28. {t('save')}
  29. </button>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. );
  35. };
  36. export default ShortLinks;