Code-Pop / build-gmail-clone-with-vue-3

148 stars 137 forks source link

Final Source? #4

Open bradocchs opened 3 years ago

bradocchs commented 3 years ago

I enjoyed this course. Thanks for putting it together!

I'm not finding the final (working) source code in any branch and in fact, all the "ending" branches I've tried do not work correctly when I serve them - no errors, just non-functioning (emails load fine from json-server). From perusing the code, it seems like there might be several little missing commits causing the issues.

Anyway, I learned lots of things. Keep up the good work!

jeffreybiles commented 3 years ago

Hey @bradocchs,

Glad you enjoyed the course! And thanks for pointing out the ending branches.

It appears that some of the issues caught and fixed in lesson 14 stretch back a ways, so I've updated the ending branches so clicking on an email opens the modal correctly.

I also just pushed the course-end branch, which should be identical to the video-15-end branch except for a commit where I remove extraneous code.

Let me know if there's anything else that comes up!

bsataric commented 3 years ago

Hello @jeffreybiles and thanks for a very nice course!

I've also had some issues starting from lession 4.

Apparently when clicking on an email row in lession 4 the "read" property seems to change (I tried logging it) but the styling of the row remains the same no matter if I use your code (global styling) or I try to put styling inside the table component. The "read" row just stays white all the time and never changes to gray.

Same happens with archived click, it just doesn't hide the archived rows.

This doesn't happen without async (with static data - lession 3 start) so I'm not sure what might be the issue.

I tried lession 15 end just to see what happens and it seems that all works but I would like to know what causes these row problems in lession 4.

Thanks in advance!

Bogdan

bsataric commented 3 years ago

Oh I found the reason for my troubles. It is the ref() around emails and openedEmail fileds inside ModelTable.vue.

However this hasn't been added until the lession-6-end branch so maybe that should be fixed for the prior lessions.

sholmas commented 3 years ago

This was a great course, with easy-to-follow steps to understand async setup and Suspense. This might belong elsewhere, but it would be great to have a final example with unit tests as well, as Suspense and async setup is not well covered by other unit testing guides (and ususally crashes because the component is null).

Hope you find the time to cover this in a future lesson!