Blog.jsx 1.91 KB
Newer Older
fisherdaddy's avatar
fisherdaddy committed
1 2 3 4 5 6 7
import React from 'react';
import { Link } from 'react-router-dom';
import { useTranslation } from '../js/i18n';
import SEO from '../components/SEO';

const tools = [
  { id: 'openAITimeline', icon: '/assets/icon/openai_small.svg', path: '/openai-timeline' },
8
  { id: 'anthropicTimeline', icon: '/assets/icon/anthropic_small.svg', path: '/anthropic-timeline' },
fisherdaddy's avatar
fisherdaddy committed
9 10 11 12 13 14 15
  { id: 'modelPrice', icon: '/assets/icon/openai_small.svg', path: '/llm-model-price' },
];

const Home = () => {
  const { t } = useTranslation();

  return (
16
    <div className="min-h-screen w-full">
fisherdaddy's avatar
fisherdaddy committed
17
      <SEO
fisherdaddy's avatar
fisherdaddy committed
18 19
        title={t('blog.title')}
        description={t('blog.description')}
fisherdaddy's avatar
fisherdaddy committed
20
      />
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
      <main className="container mx-auto px-4 pt-16 pb-8 min-h-screen w-full">
        <section className="mt-8 w-full">
          <div className="w-full max-w-[1400px] mx-auto">
            <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 px-4">
              {tools.map(tool => (
                <Link 
                  to={tool.path} 
                  key={tool.id} 
                  className="flex items-center p-4 bg-white/10 backdrop-blur-md rounded-xl border border-white/10 transition-all hover:translate-y-[-2px] hover:shadow-lg hover:bg-white/15"
                >
                  <img 
                    src={tool.icon} 
                    alt={`${t(`tools.${tool.id}.title`)} icon`} 
                    className="w-12 h-12 object-contain mr-4" 
                    loading="lazy" 
                  />
                  <div className="flex-1 min-w-0">
                    <h3 className="text-lg font-semibold mb-1 text-gray-800">{t(`tools.${tool.id}.title`)}</h3>
                    <p className="text-sm text-gray-600 line-clamp-2">{t(`tools.${tool.id}.description`)}</p>
                  </div>
                </Link>
              ))}
            </div>
fisherdaddy's avatar
fisherdaddy committed
44 45 46
          </div>
        </section>
      </main>
47
    </div>
fisherdaddy's avatar
fisherdaddy committed
48 49 50 51
  );
};

export default Home;