OpenAITimeline.jsx 1.31 KB
Newer Older
fisherdaddy's avatar
fisherdaddy committed
1
import React from 'react';
fisherdaddy's avatar
fisherdaddy committed
2
import { useScrollToTop } from '../hooks/useScrollToTop';
fisherdaddy's avatar
fisherdaddy committed
3 4 5 6
import '../styles/Timeline.css';
import events from '../data/openai-releases.json';
import SEO from '../components/SEO';
import { useTranslation } from '../js/i18n';
7 8
import { usePageLoading } from '../hooks/usePageLoading';
import LoadingOverlay from './LoadingOverlay';
fisherdaddy's avatar
fisherdaddy committed
9

fisherdaddy's avatar
fisherdaddy committed
10
const Timeline = () => {
fisherdaddy's avatar
fisherdaddy committed
11
  useScrollToTop();
fisherdaddy's avatar
fisherdaddy committed
12
  const { t } = useTranslation();
13
  const isLoading = usePageLoading();
fisherdaddy's avatar
fisherdaddy committed
14 15 16

  return (
    <>
fisherdaddy's avatar
fisherdaddy committed
17
      <SEO
fisherdaddy's avatar
fisherdaddy committed
18 19 20
        title={t('tools.openAITimeline.title')}
        description={t('tools.openAITimeline.description')}
      />
21 22
      {isLoading && <LoadingOverlay />}
      <div className="timeline-container">
fisherdaddy's avatar
fisherdaddy committed
23
        <h1 className="timeline-title">{t('tools.openAITimeline.title')}</h1>
fisherdaddy's avatar
fisherdaddy committed
24 25 26 27 28 29
        <ul className="timeline">
          {events.map((item, index) => (
            <li className="event" key={index}>
              <div className="event-content">
                <div className="event-date">{item.date}</div>
                <div className="event-title">{item.title}</div>
fisherdaddy's avatar
fisherdaddy committed
30 31
                <div className="event-feature">{item.feature}</div>
                <div className="event-description">{item.description}</div>
fisherdaddy's avatar
fisherdaddy committed
32 33 34 35 36 37 38 39 40
              </div>
            </li>
          ))}
        </ul>
      </div>
    </>
  );
};

fisherdaddy's avatar
fisherdaddy committed
41
export default Timeline;