diff --git a/App.js b/App.js
index 66c2880..1b32b53 100644
--- a/App.js
+++ b/App.js
@@ -2,23 +2,31 @@ import React from 'react'
import { StatusBar } from 'expo-status-bar'
import { NavigationContainer } from '@react-navigation/native'
import { createStackNavigator } from '@react-navigation/stack'
+import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client'
import HomeScreen from './src/HomeScreen'
import { screenOptions } from './src/styles'
const Stack = createStackNavigator()
+const client = new ApolloClient({
+ uri: 'https://api.graphql.guide/graphql',
+ cache: new InMemoryCache(),
+})
+
export default function App() {
return (
-
-
-
-
-
-
+
+
+
+
+
+
+
+
)
}
diff --git a/src/HomeScreen.js b/src/HomeScreen.js
index 5b7a193..b816859 100644
--- a/src/HomeScreen.js
+++ b/src/HomeScreen.js
@@ -1,7 +1,51 @@
import React from 'react'
+import { Text, FlatList, Pressable } from 'react-native'
+import { gql, useQuery } from '@apollo/client'
import Loading from './Loading'
+import styles from './styles'
+
+const CHAPTERS_QUERY = gql`
+ query Chapters {
+ chapters {
+ id
+ number
+ title
+ }
+ }
+`
+
+const ChapterItem = ({ chapter }) => {
+ const { number, title } = chapter
+ let header, subheader
+
+ if (number) {
+ header = `Chapter ${number}`
+ subheader = title
+ } else {
+ header = title
+ }
+
+ return (
+
+ {header}
+ {subheader && {subheader}}
+
+ )
+}
export default () => {
- return
+ const { data, loading } = useQuery(CHAPTERS_QUERY)
+
+ if (loading) {
+ return
+ }
+
+ return (
+ }
+ keyExtractor={(chapter) => chapter.id.toString()}
+ />
+ )
}