Changeset f6ed6e4 for petify-frontend/src/views/OwnerProfileView.vue
- Timestamp:
- 08/22/26 19:00:38 (8 hours ago)
- Branches:
- master
- Parents:
- ae83647
- File:
-
- 1 edited
-
petify-frontend/src/views/OwnerProfileView.vue (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
petify-frontend/src/views/OwnerProfileView.vue
rae83647 rf6ed6e4 208 208 209 209 <div class="form-group"> 210 <label class="form-label" for="interactionType">How did you interact?</label> 211 <select 212 id="interactionType" 213 v-model="newReview.interactionType" 214 class="form-control" 215 required 216 > 217 <option value="" disabled>Select an option</option> 218 <option 219 v-for="option in interactionTypeOptions" 220 :key="option.value" 221 :value="option.value" 222 > 223 {{ option.label }} 224 </option> 225 </select> 226 </div> 227 228 <div class="form-group"> 210 229 <label class="form-label" for="comment">Comment</label> 211 230 <textarea … … 226 245 type="submit" 227 246 class="btn btn-primary" 228 :disabled="isSubmittingReview || newReview.rating === 0 "247 :disabled="isSubmittingReview || newReview.rating === 0 || !newReview.interactionType" 229 248 > 230 249 <span v-if="isSubmittingReview">Submitting...</span> … … 287 306 import { useRoute, RouterLink } from 'vue-router' 288 307 import { getUserProfile, getUserListings, getUserPets, loadUserVerificationStatus } from '../api/profile' 289 import { createReview, getReviewsByOwner, deleteReview as deleteReviewAPI } from '../api/reviews' 308 import { 309 createReview, 310 getReviewsByOwner, 311 deleteReview as deleteReviewAPI, 312 type UserReviewInteractionType, 313 } from '../api/reviews' 290 314 import { useAuthStore } from '../stores/auth' 291 315 … … 305 329 const isSubmittingReview = ref(false) 306 330 const reviewError = ref<string | null>(null) 307 const newReview = ref({ 331 const interactionTypeOptions: Array<{ value: UserReviewInteractionType; label: string }> = [ 332 { value: 'EVENT', label: 'Met at an event' }, 333 { value: 'PERSONAL_INTERACTION', label: 'Personal interaction' }, 334 { value: 'ONLINE', label: 'Online interaction' }, 335 { value: 'PHONE_CALL', label: 'Phone call' }, 336 { value: 'OTHER', label: 'Other' }, 337 ] 338 339 const newReview = ref<{ 340 rating: number 341 comment: string 342 interactionType: UserReviewInteractionType | '' 343 }>({ 308 344 rating: 0, 309 345 comment: '', 346 interactionType: '', 310 347 }) 311 348 … … 445 482 } 446 483 484 if (!newReview.value.interactionType) { 485 reviewError.value = 'Please choose how you interacted with this user' 486 return 487 } 488 447 489 isSubmittingReview.value = true 448 490 reviewError.value = null … … 453 495 auth.user.userId, 454 496 newReview.value.rating, 455 newReview.value.comment 497 newReview.value.comment, 498 newReview.value.interactionType 456 499 ) 457 500 … … 459 502 newReview.value.rating = 0 460 503 newReview.value.comment = '' 504 newReview.value.interactionType = '' 461 505 await loadReviews() 462 506 } catch (err) {
Note:
See TracChangeset
for help on using the changeset viewer.
