@@ -10,35 +10,40 @@ import Home from "./pages/Home";
10
10
import NotFound from "./pages/NotFound" ;
11
11
12
12
function App ( ) {
13
- const app_title = "React CRUD Client" ;
14
- const list_title = "Elements List" ;
15
- const detail_title = "Element Detail" ;
16
- const edit_title = "Edit Element" ;
17
- const add_title = "Add Element";
18
-
19
- const base_url = "http://127.0.0.1:8000/api" ;
13
+ const titles = {
14
+ app_title : "React CRUD Client" ,
15
+ app_element_list_title : "Elements List" ,
16
+ app_detail_title : " Element Detail" ,
17
+ app_edit_title : "Edit Element",
18
+ app_add_title : "Add Element" ,
19
+ } ;
20
20
21
- const home_url = "/app/react" ;
22
- const list_url = "elements" ;
23
- const detail_url = "/:element_id" ;
24
- const edit_url = "edit" ;
25
- const add_url = "add" ;
21
+ const urls = {
22
+ api_base_url : "http://127.0.0.1:8000/api" ,
23
+ api_element_list_url : "/elements" ,
24
+ // api_get_post_element_list_url: "http://127.0.0.1:8000/api/elements",
25
+ app_home_url : "/app/react" ,
26
+ app_list_url : "/elements" ,
27
+ app_element_id_url : "/:element_id" ,
28
+ app_edit_url : "/edit" ,
29
+ app_add_url : "/add" ,
30
+ } ;
26
31
27
32
const [ elements , setElements ] = React . useState ( [ ] ) ;
28
33
const [ loading , setLoading ] = React . useState ( true ) ;
29
34
30
35
React . useEffect ( ( ) => {
31
36
//NOTE: React in Strict Mode (when developing and not in deployment) calls this twice!
32
- getDataAPI ( base_url + "/" + list_url ) ;
33
- } , [ base_url , list_url ] ) ;
37
+ getDataAPI ( urls . api_base_url + urls . api_element_list_url ) ;
38
+ } , [ urls . api_base_url , urls . api_element_list_url ] ) ;
34
39
35
40
const getDataAPI = ( url ) => {
36
41
setLoading ( true ) ;
37
42
console . log ( "Fetching data from: " + url ) ;
38
43
fetch ( url )
39
44
. then ( ( response ) => {
40
45
if ( ! response . ok ) {
41
- console . log ( "Response: " + response ) ;
46
+ console . log ( "Response: " + response . json ( ) ) ;
42
47
throw Error ( response . statusText ) ;
43
48
}
44
49
return response . json ( ) ;
@@ -60,7 +65,7 @@ function App() {
60
65
} )
61
66
. then ( ( response ) => {
62
67
if ( ! response . ok ) {
63
- console . log ( response ) ;
68
+ console . log ( response . json ( ) ) ;
64
69
throw Error ( response . statusText ) ;
65
70
} else {
66
71
setElements ( ( prevElements ) => {
@@ -93,8 +98,9 @@ function App() {
93
98
} )
94
99
. then ( ( response ) => {
95
100
if ( ! response . ok ) {
96
- console . log ( "Obtained Response: " + response ) ;
97
- console . log ( "While trying to update/post data: " + data_dict ) ;
101
+ console . log ( "Obtained Response: " + response . json ( ) ) ;
102
+ console . log ( "While trying to update/post data: " ) ;
103
+ console . log ( data_dict ) ;
98
104
throw Error ( response . statusText ) ;
99
105
}
100
106
return response . json ( ) ;
@@ -103,9 +109,8 @@ function App() {
103
109
if ( is_post ) {
104
110
setElements ( ( prevElements ) => {
105
111
const newElements = [ ...prevElements , data ] ;
106
- console . log (
107
- "Created element with id " + data . id + " with name: " + data . name
108
- ) ;
112
+ console . log ( "Created element with id " + data . id + " with data: " ) ;
113
+ console . log ( data ) ;
109
114
setLoading ( false ) ;
110
115
return newElements ;
111
116
} ) ;
@@ -118,9 +123,8 @@ function App() {
118
123
return data ;
119
124
}
120
125
} ) ;
121
- console . log (
122
- "Updated element with id " + id + " with name: " + data . name
123
- ) ;
126
+ console . log ( "Updated element with id " + id + " with data: " ) ;
127
+ console . log ( data ) ;
124
128
setLoading ( false ) ;
125
129
return newElements ;
126
130
} ) ;
@@ -145,78 +149,63 @@ function App() {
145
149
return (
146
150
< React . Fragment >
147
151
< Routes >
148
- < Route path = { home_url } element = { < SharedLayout app_title = { app_title } /> } >
152
+ < Route
153
+ path = { urls . app_home_url }
154
+ element = { < SharedLayout app_title = { titles . app_title } /> }
155
+ >
156
+ < Route index element = { < Home urls = { urls } /> } />
149
157
< Route
150
- index
151
- element = {
152
- < Home
153
- base_url = { base_url }
154
- home_url = { home_url }
155
- list_url = { list_url }
156
- />
157
- }
158
- />
159
- < Route
160
- path = { home_url + "/" + list_url }
158
+ path = { urls . app_home_url + urls . app_list_url }
161
159
element = {
162
160
< ElementsList
163
- title = { list_title }
161
+ title = { titles . app_element_list_title }
164
162
data = { elements }
165
163
getDataAPI = { getDataAPI }
166
164
deleteDataAPI = { deleteDataAPI }
167
- home_url = { home_url }
168
- base_url = { base_url }
169
- detail_url = { list_url }
170
- edit_url = { edit_url }
171
- add_url = { add_url }
165
+ urls = { urls }
172
166
loading = { loading }
173
167
/>
174
168
}
175
169
/>
176
170
< Route
177
- path = { home_url + "/" + list_url + detail_url }
171
+ path = {
172
+ urls . app_home_url + urls . app_list_url + urls . app_element_id_url
173
+ }
178
174
element = {
179
175
< ElementDetail
180
- title = { detail_title }
176
+ title = { titles . app_detail_title }
181
177
data = { elements }
182
178
findElement = { findElement }
183
179
deleteDataAPI = { deleteDataAPI }
184
- base_url = { base_url }
185
- home_url = { home_url }
186
- detail_url = { list_url }
187
- edit_url = { edit_url }
180
+ urls = { urls }
188
181
/>
189
182
}
190
183
/>
191
184
< Route
192
- path = { home_url + "/" + edit_url + detail_url }
185
+ path = { urls . app_home_url + urls . app_edit_url + urls . app_element_id_url }
193
186
element = {
194
187
< ElementEdit
195
- title = { edit_title }
188
+ title = { titles . app_edit_title }
196
189
data = { elements }
197
190
findElement = { findElement }
198
191
updateDataAPI = { updateDataAPI }
199
- base_url = { base_url }
200
- home_url = { home_url }
201
- detail_url = { list_url }
192
+ urls = { urls }
202
193
/>
203
194
}
204
195
/>
205
196
< Route
206
- path = { home_url + "/" + add_url }
197
+ path = { urls . app_home_url + urls . app_add_url }
207
198
element = {
208
199
< ElementAdd
209
- title = { add_title }
200
+ title = { titles . app_add_title }
210
201
updateDataAPI = { updateDataAPI }
211
- base_url = { base_url }
212
- home_url = { home_url }
213
- detail_url = { list_url }
202
+ urls = { urls }
214
203
/>
215
204
}
216
205
/>
217
206
< Route
218
- path = { home_url + "/" + "*" }
219
- element = { < NotFound home_url = { home_url } /> }
207
+ path = { urls . app_home_url + "/" + "*" }
208
+ element = { < NotFound urls = { urls } /> }
220
209
/>
221
210
</ Route >
222
211
</ Routes >
0 commit comments