index.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import Link from 'next/link'
  2. import { useTrainingsQuery } from '../../../src/gql'
  3. import { AdminPage } from '../../../src/app'
  4. const TrainingsList = () => {
  5. const { data, error, loading } = useTrainingsQuery()
  6. return (
  7. <AdminPage>
  8. <section>
  9. {error && <p>Error loading trainings...</p>}
  10. {loading && <p>Loading data...</p>}
  11. {data && data.trainings.length > 0 ? (
  12. <ul>
  13. {data?.trainings.map((training) => (
  14. <li key={training.id}>
  15. <button type='button'>Delete</button>
  16. <Link href='training/[id]' as={`training/${training.id}`}>
  17. <a>{training.title}</a>
  18. </Link>
  19. </li>
  20. ))}
  21. </ul>
  22. ) : (
  23. <p>No trainings found.</p>
  24. )}
  25. <Link href='training/create'>
  26. <a>Create training</a>
  27. </Link>
  28. <style jsx>{`
  29. li {
  30. list-style: none;
  31. }
  32. ul {
  33. padding: 0;
  34. }
  35. `}</style>
  36. </section>
  37. </AdminPage>
  38. )
  39. }
  40. export default TrainingsList