index.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Link from 'next/link'
  2. //import initialData from '../initial-data'
  3. import { usePublishedTrainingsQuery } from '../src/gql'
  4. import { Training } from '../src/training'
  5. const Home = () => {
  6. const { data, error, loading } = usePublishedTrainingsQuery()
  7. return (
  8. <>
  9. <section>
  10. <h1>Stay in Shape with u-fit</h1>
  11. <p>u-fit is a high intensity interval training offered by u-blox.</p>
  12. <aside>
  13. <div className='info'>
  14. <span className='caption'>When</span>
  15. <span className='data'>Tuesdays, 11:45-12:30</span>
  16. </div>
  17. <div className='info'>
  18. <span className='caption'>Equipment</span>
  19. <span className='data'>Towel, water, optional: yoga mat</span>
  20. </div>
  21. </aside>
  22. </section>
  23. <section id='nextTraining'>
  24. {loading && <p>Loading trainings...</p>}
  25. {error && <p>Error loading trainings: {error.message}</p>}
  26. {data?.publishedTrainings && data.publishedTrainings.length > 0 ? (
  27. <Training training={data.publishedTrainings[0]} />
  28. ) : (
  29. <p>No trainings found.</p>
  30. )}
  31. </section>
  32. <style jsx>
  33. {`
  34. .info .caption {
  35. display: inline-block;
  36. font-weight: 900;
  37. min-width: 6rem;
  38. }
  39. `}
  40. </style>
  41. </>
  42. )
  43. }
  44. export default Home