From 6895c353797f5d6f8d6e21f871e3cbc86596a337 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Tue, 13 Sep 2022 20:43:14 -0400 Subject: [PATCH 01/17] feat * Added i18n text --- src/i18n/en-US/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i18n/en-US/index.js b/src/i18n/en-US/index.js index a667e50..cb95c7e 100644 --- a/src/i18n/en-US/index.js +++ b/src/i18n/en-US/index.js @@ -66,7 +66,9 @@ export default { yourMessages: "Your Messages", conversations: "Conversations", message: "Message", - sendMessage: 'Send message' + sendMessage: 'Send message', + giveFeedback: "Give Feedback", + comment: "Comment" }, messages: { information: { @@ -92,6 +94,8 @@ export default { atLeast1Number: "At least 1 number", passwordMustContain: "Password must contain", passwordChangedSuccessfully: "Password changed successfully", + howDidweDo: "How did we do?", + careShareMoreAboutIt: "Care to share more about it?", }, error: { pleaseEnterValidPhoneNumber: "Please enter valid phone number", @@ -118,5 +122,6 @@ export default { sendMessage: "Send message", continue: "Continue", changePassword: "Change Password", + publishFeedback: "Publish Feedback", }, }; From 58443174221471668fddccdeb434e9f6e5df6692 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Tue, 13 Sep 2022 20:43:24 -0400 Subject: [PATCH 02/17] feat * Created form component for reviews --- src/components/Reviews/CreateForm.vue | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/components/Reviews/CreateForm.vue diff --git a/src/components/Reviews/CreateForm.vue b/src/components/Reviews/CreateForm.vue new file mode 100644 index 0000000..0b15f84 --- /dev/null +++ b/src/components/Reviews/CreateForm.vue @@ -0,0 +1,54 @@ + + + From 4048356f9100fd7db11459cec2defd7d8c170e9f Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Wed, 14 Sep 2022 20:59:22 -0400 Subject: [PATCH 03/17] feat * Handle the submit review action --- src/components/Reviews/CreateForm.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/Reviews/CreateForm.vue b/src/components/Reviews/CreateForm.vue index 0b15f84..859ff5b 100644 --- a/src/components/Reviews/CreateForm.vue +++ b/src/components/Reviews/CreateForm.vue @@ -26,6 +26,7 @@
Date: Wed, 14 Sep 2022 20:59:36 -0400 Subject: [PATCH 04/17] feat * Added the review form --- src/pages/Spaces/CompleteDetails.vue | 51 +++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/pages/Spaces/CompleteDetails.vue b/src/pages/Spaces/CompleteDetails.vue index 5c1611c..a115f6e 100644 --- a/src/pages/Spaces/CompleteDetails.vue +++ b/src/pages/Spaces/CompleteDetails.vue @@ -169,6 +169,22 @@
+ + + +
{{ $t("common.giveFeedback") }}
+ + +
+ + + + +
+
@@ -184,10 +200,11 @@ import notFound from "components/Interface/404.vue"; import ViewLocation from "components/Map/ViewLocation.vue"; import { useAuthStore } from "stores/Auth"; import ScheduleFormCreation from "components/Schedule/CreateForm.vue"; +import ReviewForm from "components/Reviews/CreateForm.vue"; export default { name: "PageCompleteSpaceDetails", - components: { ViewLocation, ScheduleFormCreation, notFound }, + components: { ViewLocation, ScheduleFormCreation, notFound, ReviewForm }, setup() { const loading = ref(true); const space = ref({ @@ -200,6 +217,8 @@ export default { const showScheduleForm = ref(false); const authStore = useAuthStore(); const notFound = ref(false); + const showReviewForm = ref(false); + const loadingReviewSubmit = ref(false); supabase .from("spaces") @@ -232,6 +251,8 @@ export default { authStore, showScheduleForm, loading, + showReviewForm, + loadingReviewSubmit, getWeekDayLabel(day) { return weekdays.find((d) => d.value === day).label; }, @@ -269,6 +290,34 @@ export default { loading.value = false; }); }, + handleSubmitReview({ rating, comment }) { + const { id } = space.value; + loadingReviewSubmit.value = true; + supabase + .from("reviews") + .insert({ + space_id: id, + rating, + comment, + }) + .then(({ error, data }) => { + if (data) { + Notify.create({ + color: "positive", + message: "Review created successfully", + }); + showReviewForm.value = false; + } else { + Notify.create({ + color: "negative", + message: error.message, + }); + } + }) + .finally(() => { + loadingReviewSubmit.value = false; + }); + }, }; }, }; From e6434ca2320c26fb00d09241f24a616cb35dfcd3 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 21:49:55 -0400 Subject: [PATCH 05/17] feat * Created method to get the time ago --- src/utils/time.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/utils/time.js b/src/utils/time.js index 639d290..319c908 100644 --- a/src/utils/time.js +++ b/src/utils/time.js @@ -1,4 +1,10 @@ import dayjs from 'dayjs'; +import relativeTime from 'dayjs/plugin/relativeTime'; + +const timeAgo = (time) => { + dayjs.extend(relativeTime); + return dayjs(time).fromNow(); +}; const parseTime = (time) => { return dayjs("2012-01-25" + time).format("hh:mm A"); @@ -35,4 +41,4 @@ const weekdays = [ }, ]; -export { parseTime, weekdays }; +export { parseTime, weekdays, timeAgo }; From c6b4447db6334f60fc108eceffa34dfeecdb668b Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 21:50:02 -0400 Subject: [PATCH 06/17] feat * Added i18n text --- src/i18n/en-US/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/en-US/index.js b/src/i18n/en-US/index.js index cb95c7e..9170a03 100644 --- a/src/i18n/en-US/index.js +++ b/src/i18n/en-US/index.js @@ -68,7 +68,8 @@ export default { message: "Message", sendMessage: 'Send message', giveFeedback: "Give Feedback", - comment: "Comment" + comment: "Comment", + reviews: "Reviews", }, messages: { information: { From dba133a052cd79fae03c220e6ea8757104427a68 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 22:01:43 -0400 Subject: [PATCH 07/17] feat * Created review card --- src/components/Reviews/ReviewCard.vue | 57 +++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/components/Reviews/ReviewCard.vue diff --git a/src/components/Reviews/ReviewCard.vue b/src/components/Reviews/ReviewCard.vue new file mode 100644 index 0000000..1aa44a2 --- /dev/null +++ b/src/components/Reviews/ReviewCard.vue @@ -0,0 +1,57 @@ + + + From ba354443679462f658cd183ebda4a1548cf2d1b9 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 22:11:54 -0400 Subject: [PATCH 08/17] feat * Added i18n text --- src/i18n/en-US/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/i18n/en-US/index.js b/src/i18n/en-US/index.js index 9170a03..e3ffa36 100644 --- a/src/i18n/en-US/index.js +++ b/src/i18n/en-US/index.js @@ -97,6 +97,7 @@ export default { passwordChangedSuccessfully: "Password changed successfully", howDidweDo: "How did we do?", careShareMoreAboutIt: "Care to share more about it?", + noReviewsYet: "No reviews yet", }, error: { pleaseEnterValidPhoneNumber: "Please enter valid phone number", From 051f738dba8a603fb5736ad0f5e74c3679075f16 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 22:12:04 -0400 Subject: [PATCH 09/17] feat * Added review card --- src/pages/Spaces/CompleteDetails.vue | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/pages/Spaces/CompleteDetails.vue b/src/pages/Spaces/CompleteDetails.vue index a115f6e..8d94821 100644 --- a/src/pages/Spaces/CompleteDetails.vue +++ b/src/pages/Spaces/CompleteDetails.vue @@ -169,6 +169,25 @@ + + +

{{ $t("common.reviews") }}

+
+ + +
+
+
@@ -201,10 +220,17 @@ import ViewLocation from "components/Map/ViewLocation.vue"; import { useAuthStore } from "stores/Auth"; import ScheduleFormCreation from "components/Schedule/CreateForm.vue"; import ReviewForm from "components/Reviews/CreateForm.vue"; +import ReviewCard from "components/Reviews/ReviewCard.vue"; export default { name: "PageCompleteSpaceDetails", - components: { ViewLocation, ScheduleFormCreation, notFound, ReviewForm }, + components: { + ViewLocation, + ScheduleFormCreation, + notFound, + ReviewForm, + ReviewCard, + }, setup() { const loading = ref(true); const space = ref({ @@ -219,6 +245,7 @@ export default { const notFound = ref(false); const showReviewForm = ref(false); const loadingReviewSubmit = ref(false); + const reviews = ref([]); supabase .from("spaces") @@ -230,6 +257,16 @@ export default { spaceType.value = spaceTypes.find( (type) => type.value === space.value.type ); + + supabase + .from("reviews") + .select("*, users(raw_user_meta_data)") + .eq("space_id", spaceId) + .then(({ error, data }) => { + if (data) { + reviews.value = data; + } + }); } else { notFound.value = True; Notify.create({ @@ -253,6 +290,7 @@ export default { loading, showReviewForm, loadingReviewSubmit, + reviews, getWeekDayLabel(day) { return weekdays.find((d) => d.value === day).label; }, From fbed96e78f8ed958c876eca9bc15d3f68e2103f4 Mon Sep 17 00:00:00 2001 From: Albert Hidalgo Date: Thu, 15 Sep 2022 22:24:09 -0400 Subject: [PATCH 10/17] feat * Added skeleton loading --- src/pages/Spaces/CompleteDetails.vue | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/pages/Spaces/CompleteDetails.vue b/src/pages/Spaces/CompleteDetails.vue index 8d94821..0f47572 100644 --- a/src/pages/Spaces/CompleteDetails.vue +++ b/src/pages/Spaces/CompleteDetails.vue @@ -173,7 +173,25 @@

{{ $t("common.reviews") }}

-