pukaad-ui-lib 1.282.0 → 1.282.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/runtime/assets/json/social-icon.json +76 -76
- package/dist/runtime/assets/svg/bell-outline.svg +3 -3
- package/dist/runtime/assets/svg/bookmark-solid.svg +2 -2
- package/dist/runtime/assets/svg/box.svg +22 -22
- package/dist/runtime/assets/svg/camera-plus.svg +9 -9
- package/dist/runtime/assets/svg/clock-fading.svg +46 -46
- package/dist/runtime/assets/svg/coin.svg +20 -20
- package/dist/runtime/assets/svg/empty-document.svg +15 -15
- package/dist/runtime/assets/svg/map-location-dot.svg +9 -9
- package/dist/runtime/assets/svg/map-pin.svg +6 -6
- package/dist/runtime/assets/svg/memsg-circle.svg +7 -7
- package/dist/runtime/assets/svg/memsg-fade.svg +5 -5
- package/dist/runtime/assets/svg/memsg-logo-outline.svg +3 -3
- package/dist/runtime/assets/svg/memsg-square.svg +9 -9
- package/dist/runtime/assets/svg/message.svg +3 -3
- package/dist/runtime/assets/svg/page-not-found.svg +9 -9
- package/dist/runtime/assets/svg/share-from-square.svg +3 -3
- package/dist/runtime/assets/svg/share.svg +2 -2
- package/dist/runtime/assets/svg/shopping-cart.svg +16 -16
- package/dist/runtime/assets/svg/socials/Email.svg +12 -12
- package/dist/runtime/assets/svg/socials/Facebook.svg +4 -4
- package/dist/runtime/assets/svg/socials/Line.svg +11 -11
- package/dist/runtime/assets/svg/socials/LinkedIn.svg +5 -5
- package/dist/runtime/assets/svg/socials/Pinterest.svg +4 -4
- package/dist/runtime/assets/svg/socials/SnapChat.svg +5 -5
- package/dist/runtime/assets/svg/socials/Threads.svg +12 -12
- package/dist/runtime/assets/svg/socials/{TikTok.svg → Tiktok.svg} +6 -6
- package/dist/runtime/assets/svg/socials/Tumblr.svg +4 -4
- package/dist/runtime/assets/svg/socials/Website.svg +11 -11
- package/dist/runtime/assets/svg/socials/Whatsapp.svg +5 -5
- package/dist/runtime/assets/svg/socials/X.svg +4 -4
- package/dist/runtime/assets/svg/socials/{YouTube.svg → Youtube.svg} +5 -5
- package/dist/runtime/assets/svg/socials/{Instagram.svg → instagram.svg} +14 -14
- package/dist/runtime/assets/svg/tag-empty.svg +25 -25
- package/dist/runtime/assets/svg/thumbs-up-regular.svg +9 -9
- package/dist/runtime/assets/svg/thumbs-up-solid.svg +2 -2
- package/dist/runtime/assets/svg/vector.svg +2 -2
- package/dist/runtime/assets/svg/verify.svg +10 -10
- package/dist/runtime/assets/svg/write-review.svg +15 -15
- package/dist/runtime/components/avatar-profile.vue +29 -29
- package/dist/runtime/components/avatar.vue +20 -20
- package/dist/runtime/components/button.vue +9 -9
- package/dist/runtime/components/card/card-announce2.vue +102 -104
- package/dist/runtime/components/card/card-blog.vue +45 -45
- package/dist/runtime/components/card/card-place-detail.vue +51 -51
- package/dist/runtime/components/card/card-place.vue +28 -28
- package/dist/runtime/components/card/card-profile-about.vue +81 -81
- package/dist/runtime/components/card/card-profile-header.d.vue.ts +1 -1
- package/dist/runtime/components/card/card-profile-header.vue +94 -94
- package/dist/runtime/components/card/card-profile-header.vue.d.ts +1 -1
- package/dist/runtime/components/card/card-reaction.d.vue.ts +1 -1
- package/dist/runtime/components/card/card-reaction.vue +23 -23
- package/dist/runtime/components/card/card-reaction.vue.d.ts +1 -1
- package/dist/runtime/components/card/card-recommend-blog.vue +42 -42
- package/dist/runtime/components/card/card-recommend-place.vue +45 -45
- package/dist/runtime/components/card/card-recommend-profile.vue +46 -46
- package/dist/runtime/components/card/card-review.vue +57 -57
- package/dist/runtime/components/card/card-user-blog.vue +76 -76
- package/dist/runtime/components/card/card-user-item.vue +24 -24
- package/dist/runtime/components/card/card.vue +29 -29
- package/dist/runtime/components/carousel.vue +31 -31
- package/dist/runtime/components/chip.vue +10 -10
- package/dist/runtime/components/collapse/collapse-multiple.vue +42 -42
- package/dist/runtime/components/collapse/collapse.vue +23 -23
- package/dist/runtime/components/comment.vue +204 -204
- package/dist/runtime/components/data-list.vue +49 -49
- package/dist/runtime/components/data-table.vue +131 -131
- package/dist/runtime/components/display/display-image-place.d.vue.ts +1 -1
- package/dist/runtime/components/display/display-image-place.vue +88 -88
- package/dist/runtime/components/display/display-image-place.vue.d.ts +1 -1
- package/dist/runtime/components/display/display-image-review.vue +10 -10
- package/dist/runtime/components/display/display-image.vue +49 -49
- package/dist/runtime/components/display/display-rating-summary.vue +34 -34
- package/dist/runtime/components/divider.vue +8 -8
- package/dist/runtime/components/draggable.vue +15 -15
- package/dist/runtime/components/drawer/drawer-post-blog.vue +70 -70
- package/dist/runtime/components/drawer/drawer-post-review.vue +67 -67
- package/dist/runtime/components/drawer/drawer-profile-about.vue +52 -52
- package/dist/runtime/components/drawer/drawer-profile-network.d.vue.ts +1 -1
- package/dist/runtime/components/drawer/drawer-profile-network.vue +136 -136
- package/dist/runtime/components/drawer/drawer-profile-network.vue.d.ts +1 -1
- package/dist/runtime/components/drawer/drawer-suggest-place/drawer-suggest-place.vue +92 -92
- package/dist/runtime/components/drawer/drawer-suggest-place/suggest-place-form.vue +70 -70
- package/dist/runtime/components/drawer/drawer-suggest-place/suggest-place-map.vue +5 -5
- package/dist/runtime/components/drawer/drawer.vue +24 -24
- package/dist/runtime/components/dropdown.vue +8 -8
- package/dist/runtime/components/filter/filter-list-chip.vue +10 -10
- package/dist/runtime/components/filter/filter-list.vue +17 -17
- package/dist/runtime/components/icons.vue +1 -1
- package/dist/runtime/components/image/image-cropper.vue +9 -9
- package/dist/runtime/components/image/image.vue +27 -27
- package/dist/runtime/components/input/input-OTP.vue +27 -27
- package/dist/runtime/components/input/input-address.vue +147 -147
- package/dist/runtime/components/input/input-autocomplete.d.vue.ts +2 -2
- package/dist/runtime/components/input/input-autocomplete.vue +80 -80
- package/dist/runtime/components/input/input-autocomplete.vue.d.ts +2 -2
- package/dist/runtime/components/input/input-birth-date.vue +20 -20
- package/dist/runtime/components/input/input-checkbox.vue +17 -17
- package/dist/runtime/components/input/input-combobox.vue +100 -100
- package/dist/runtime/components/input/input-comment.vue +6 -6
- package/dist/runtime/components/input/input-content.vue +32 -32
- package/dist/runtime/components/input/input-date-opening.vue +96 -96
- package/dist/runtime/components/input/input-date-picker.vue +102 -102
- package/dist/runtime/components/input/input-email.vue +9 -9
- package/dist/runtime/components/input/input-file.vue +125 -125
- package/dist/runtime/components/input/input-link.vue +35 -35
- package/dist/runtime/components/input/input-media.vue +36 -36
- package/dist/runtime/components/input/input-password.vue +43 -43
- package/dist/runtime/components/input/input-phone.vue +11 -11
- package/dist/runtime/components/input/input-profile-name.vue +10 -10
- package/dist/runtime/components/input/input-radio.vue +55 -55
- package/dist/runtime/components/input/input-rating.vue +13 -13
- package/dist/runtime/components/input/input-recaptcha.vue +19 -19
- package/dist/runtime/components/input/input-search.vue +71 -71
- package/dist/runtime/components/input/input-select-province.vue +94 -94
- package/dist/runtime/components/input/input-select-tag.vue +51 -51
- package/dist/runtime/components/input/input-select.vue +52 -52
- package/dist/runtime/components/input/input-slider.vue +19 -19
- package/dist/runtime/components/input/input-switch.vue +25 -25
- package/dist/runtime/components/input/input-tag.vue +145 -145
- package/dist/runtime/components/input/input-text-field.vue +90 -90
- package/dist/runtime/components/input/input-textarea.vue +58 -58
- package/dist/runtime/components/label/label-announce-time.vue +9 -9
- package/dist/runtime/components/label/label-card-atom.vue +8 -8
- package/dist/runtime/components/list/list-menu.vue +13 -13
- package/dist/runtime/components/loading.vue +8 -8
- package/dist/runtime/components/modal/modal-2FA-generate.vue +48 -48
- package/dist/runtime/components/modal/modal-2FA.vue +28 -28
- package/dist/runtime/components/modal/modal-account-disabled-alert.vue +33 -33
- package/dist/runtime/components/modal/modal-account-disabled-confirmed.vue +32 -32
- package/dist/runtime/components/modal/modal-account-disabled-reason.vue +45 -45
- package/dist/runtime/components/modal/modal-account-disabled.vue +9 -9
- package/dist/runtime/components/modal/modal-display-image.vue +38 -38
- package/dist/runtime/components/modal/modal-email-OTP.vue +32 -32
- package/dist/runtime/components/modal/modal-forgot-password.vue +9 -9
- package/dist/runtime/components/modal/modal-media-view.vue +12 -12
- package/dist/runtime/components/modal/modal-password-confirmed.vue +30 -30
- package/dist/runtime/components/modal/modal-password-new.vue +14 -14
- package/dist/runtime/components/modal/modal-password-verify.vue +13 -13
- package/dist/runtime/components/modal/modal-personal-card-ID.vue +167 -167
- package/dist/runtime/components/modal/modal-phone-OTP.vue +49 -49
- package/dist/runtime/components/modal/modal-profile-edit.vue +69 -71
- package/dist/runtime/components/modal/modal-province-domain.vue +23 -23
- package/dist/runtime/components/modal/modal-report.vue +47 -47
- package/dist/runtime/components/modal/modal-review-detail.vue +118 -118
- package/dist/runtime/components/modal/modal-secure.d.vue.ts +1 -1
- package/dist/runtime/components/modal/modal-secure.vue +7 -7
- package/dist/runtime/components/modal/modal-secure.vue.d.ts +1 -1
- package/dist/runtime/components/modal/modal-share.vue +20 -20
- package/dist/runtime/components/modal/modal-user-account-search.vue +69 -69
- package/dist/runtime/components/modal/modal.vue +27 -27
- package/dist/runtime/components/pagination.vue +47 -47
- package/dist/runtime/components/picker/picker-image-cover-profile.vue +80 -80
- package/dist/runtime/components/picker/picker-image-profile.vue +102 -102
- package/dist/runtime/components/picker/picker-option-menu/picker-option-menu-user.vue +18 -18
- package/dist/runtime/components/picker/picker-option-menu/picker-option-menu.vue +26 -26
- package/dist/runtime/components/profile-cover.vue +80 -80
- package/dist/runtime/components/progress-bar.vue +9 -9
- package/dist/runtime/components/read-more-text.vue +1 -1
- package/dist/runtime/components/tab_old.vue +78 -78
- package/dist/runtime/components/table.vue +79 -79
- package/dist/runtime/components/tooltip.vue +12 -12
- package/dist/runtime/components/ui/accordion/Accordion.vue +3 -3
- package/dist/runtime/components/ui/accordion/AccordionContent.vue +9 -9
- package/dist/runtime/components/ui/accordion/AccordionItem.vue +8 -8
- package/dist/runtime/components/ui/accordion/AccordionTrigger.vue +16 -16
- package/dist/runtime/components/ui/alert/Alert.vue +7 -7
- package/dist/runtime/components/ui/alert/AlertDescription.vue +6 -6
- package/dist/runtime/components/ui/alert/AlertTitle.vue +6 -6
- package/dist/runtime/components/ui/alert-dialog/AlertDialog.vue +3 -3
- package/dist/runtime/components/ui/alert-dialog/AlertDialogAction.vue +3 -3
- package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +6 -6
- package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue +13 -13
- package/dist/runtime/components/ui/alert-dialog/AlertDialogContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/alert-dialog/AlertDialogDescription.vue +7 -7
- package/dist/runtime/components/ui/alert-dialog/AlertDialogFooter.vue +6 -6
- package/dist/runtime/components/ui/alert-dialog/AlertDialogHeader.vue +6 -6
- package/dist/runtime/components/ui/alert-dialog/AlertDialogTitle.vue +7 -7
- package/dist/runtime/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -3
- package/dist/runtime/components/ui/avatar/Avatar.vue +6 -6
- package/dist/runtime/components/ui/avatar/AvatarFallback.vue +7 -7
- package/dist/runtime/components/ui/avatar/AvatarImage.vue +7 -7
- package/dist/runtime/components/ui/badge/Badge.vue +7 -7
- package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue +7 -7
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +11 -11
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +6 -6
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +8 -8
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +6 -6
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +9 -9
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +10 -10
- package/dist/runtime/components/ui/button/Button.vue +8 -8
- package/dist/runtime/components/ui/calendar/Calendar.vue +128 -128
- package/dist/runtime/components/ui/calendar/CalendarCell.vue +7 -7
- package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +7 -7
- package/dist/runtime/components/ui/calendar/CalendarGrid.vue +7 -7
- package/dist/runtime/components/ui/calendar/CalendarGridBody.vue +6 -6
- package/dist/runtime/components/ui/calendar/CalendarGridHead.vue +6 -6
- package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +6 -6
- package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +7 -7
- package/dist/runtime/components/ui/calendar/CalendarHeader.vue +7 -7
- package/dist/runtime/components/ui/calendar/CalendarHeading.vue +10 -10
- package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +9 -9
- package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +9 -9
- package/dist/runtime/components/ui/card/Card.vue +8 -8
- package/dist/runtime/components/ui/card/CardAction.vue +6 -6
- package/dist/runtime/components/ui/card/CardContent.vue +6 -6
- package/dist/runtime/components/ui/card/CardDescription.vue +6 -6
- package/dist/runtime/components/ui/card/CardFooter.vue +6 -6
- package/dist/runtime/components/ui/card/CardHeader.vue +6 -6
- package/dist/runtime/components/ui/card/CardTitle.vue +6 -6
- package/dist/runtime/components/ui/carousel/Carousel.vue +10 -10
- package/dist/runtime/components/ui/carousel/CarouselContent.vue +12 -12
- package/dist/runtime/components/ui/carousel/CarouselItem.vue +8 -8
- package/dist/runtime/components/ui/carousel/CarouselNext.vue +13 -13
- package/dist/runtime/components/ui/carousel/CarouselPrevious.vue +13 -13
- package/dist/runtime/components/ui/checkbox/Checkbox.vue +8 -8
- package/dist/runtime/components/ui/command/Command.vue +7 -7
- package/dist/runtime/components/ui/command/CommandDialog.vue +11 -11
- package/dist/runtime/components/ui/command/CommandEmpty.vue +16 -16
- package/dist/runtime/components/ui/command/CommandGroup.vue +16 -16
- package/dist/runtime/components/ui/command/CommandInput.vue +13 -13
- package/dist/runtime/components/ui/command/CommandItem.vue +11 -11
- package/dist/runtime/components/ui/command/CommandList.vue +9 -9
- package/dist/runtime/components/ui/command/CommandSeparator.vue +7 -7
- package/dist/runtime/components/ui/command/CommandShortcut.vue +6 -6
- package/dist/runtime/components/ui/dialog/Dialog.vue +3 -3
- package/dist/runtime/components/ui/dialog/DialogClose.vue +3 -3
- package/dist/runtime/components/ui/dialog/DialogContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/dialog/DialogContent.vue +26 -26
- package/dist/runtime/components/ui/dialog/DialogContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/dialog/DialogDescription.vue +7 -7
- package/dist/runtime/components/ui/dialog/DialogFooter.vue +6 -6
- package/dist/runtime/components/ui/dialog/DialogHeader.vue +6 -6
- package/dist/runtime/components/ui/dialog/DialogOverlay.vue +7 -7
- package/dist/runtime/components/ui/dialog/DialogScrollContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/dialog/DialogScrollContent.vue +20 -20
- package/dist/runtime/components/ui/dialog/DialogScrollContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/dialog/DialogTitle.vue +7 -7
- package/dist/runtime/components/ui/dialog/DialogTrigger.vue +3 -3
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +6 -6
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +12 -12
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +10 -10
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +6 -6
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +9 -9
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +8 -8
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +6 -6
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +16 -16
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +5 -5
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +6 -6
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -3
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +7 -7
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +8 -8
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +6 -6
- package/dist/runtime/components/ui/form/FormControl.vue +8 -8
- package/dist/runtime/components/ui/form/FormDescription.vue +7 -7
- package/dist/runtime/components/ui/form/FormItem.vue +3 -3
- package/dist/runtime/components/ui/form/FormLabel.vue +8 -8
- package/dist/runtime/components/ui/form/FormMessage.vue +7 -7
- package/dist/runtime/components/ui/input/Input.vue +7 -7
- package/dist/runtime/components/ui/input-group/InputGroup.vue +7 -7
- package/dist/runtime/components/ui/input-group/InputGroupAddon.vue +9 -9
- package/dist/runtime/components/ui/input-group/InputGroupButton.vue +8 -8
- package/dist/runtime/components/ui/input-group/InputGroupInput.vue +5 -5
- package/dist/runtime/components/ui/input-group/InputGroupText.vue +5 -5
- package/dist/runtime/components/ui/input-group/InputGroupTextarea.vue +4 -4
- package/dist/runtime/components/ui/label/Label.vue +7 -7
- package/dist/runtime/components/ui/native-select/NativeSelect.vue +19 -19
- package/dist/runtime/components/ui/native-select/NativeSelectOptGroup.vue +3 -3
- package/dist/runtime/components/ui/native-select/NativeSelectOption.vue +3 -3
- package/dist/runtime/components/ui/pagination/Pagination.vue +8 -8
- package/dist/runtime/components/ui/pagination/PaginationContent.vue +8 -8
- package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +10 -10
- package/dist/runtime/components/ui/pagination/PaginationFirst.vue +10 -10
- package/dist/runtime/components/ui/pagination/PaginationItem.vue +7 -7
- package/dist/runtime/components/ui/pagination/PaginationLast.vue +10 -10
- package/dist/runtime/components/ui/pagination/PaginationNext.vue +10 -10
- package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +10 -10
- package/dist/runtime/components/ui/pin-input/PinInput.vue +7 -7
- package/dist/runtime/components/ui/pin-input/PinInputGroup.vue +7 -7
- package/dist/runtime/components/ui/pin-input/PinInputSeparator.vue +3 -3
- package/dist/runtime/components/ui/pin-input/PinInputSlot.vue +5 -5
- package/dist/runtime/components/ui/popover/Popover.vue +7 -7
- package/dist/runtime/components/ui/popover/PopoverAnchor.vue +6 -6
- package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/popover/PopoverContent.vue +9 -9
- package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/popover/PopoverTrigger.vue +6 -6
- package/dist/runtime/components/ui/scroll-area/ScrollArea.vue +14 -14
- package/dist/runtime/components/ui/scroll-area/ScrollBar.vue +10 -10
- package/dist/runtime/components/ui/select/Select.vue +7 -7
- package/dist/runtime/components/ui/select/SelectContent.d.vue.ts +2 -2
- package/dist/runtime/components/ui/select/SelectContent.vue +10 -10
- package/dist/runtime/components/ui/select/SelectContent.vue.d.ts +2 -2
- package/dist/runtime/components/ui/select/SelectGroup.vue +6 -6
- package/dist/runtime/components/ui/select/SelectItem.vue +17 -17
- package/dist/runtime/components/ui/select/SelectItemText.vue +6 -6
- package/dist/runtime/components/ui/select/SelectLabel.vue +6 -6
- package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +9 -9
- package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +9 -9
- package/dist/runtime/components/ui/select/SelectSeparator.vue +5 -5
- package/dist/runtime/components/ui/select/SelectTrigger.vue +11 -11
- package/dist/runtime/components/ui/select/SelectValue.vue +6 -6
- package/dist/runtime/components/ui/separator/Separator.vue +5 -5
- package/dist/runtime/components/ui/sheet/Sheet.vue +3 -3
- package/dist/runtime/components/ui/sheet/SheetClose.vue +3 -3
- package/dist/runtime/components/ui/sheet/SheetContent.d.vue.ts +4 -4
- package/dist/runtime/components/ui/sheet/SheetContent.vue +26 -26
- package/dist/runtime/components/ui/sheet/SheetContent.vue.d.ts +4 -4
- package/dist/runtime/components/ui/sheet/SheetDescription.vue +7 -7
- package/dist/runtime/components/ui/sheet/SheetFooter.vue +6 -6
- package/dist/runtime/components/ui/sheet/SheetHeader.vue +6 -6
- package/dist/runtime/components/ui/sheet/SheetOverlay.vue +7 -7
- package/dist/runtime/components/ui/sheet/SheetTitle.vue +7 -7
- package/dist/runtime/components/ui/sheet/SheetTrigger.vue +3 -3
- package/dist/runtime/components/ui/skeleton/Skeleton.vue +4 -4
- package/dist/runtime/components/ui/spinner/Spinner.vue +6 -6
- package/dist/runtime/components/ui/table/Table.vue +5 -5
- package/dist/runtime/components/ui/table/TableBody.vue +6 -6
- package/dist/runtime/components/ui/table/TableCaption.vue +6 -6
- package/dist/runtime/components/ui/table/TableCell.vue +6 -6
- package/dist/runtime/components/ui/table/TableEmpty.vue +15 -15
- package/dist/runtime/components/ui/table/TableFooter.vue +6 -6
- package/dist/runtime/components/ui/table/TableHead.vue +6 -6
- package/dist/runtime/components/ui/table/TableHeader.vue +6 -6
- package/dist/runtime/components/ui/table/TableRow.vue +6 -6
- package/dist/runtime/components/ui/tabs/Tabs.vue +8 -8
- package/dist/runtime/components/ui/tabs/TabsContent.vue +7 -7
- package/dist/runtime/components/ui/tabs/TabsList.vue +7 -7
- package/dist/runtime/components/ui/tabs/TabsTrigger.vue +7 -7
- package/dist/runtime/components/ui/textarea/Textarea.vue +5 -5
- package/dist/runtime/components/ui/tooltip/Tooltip.vue +7 -7
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue +13 -13
- package/dist/runtime/components/ui/tooltip/TooltipProvider.vue +3 -3
- package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue +6 -6
- package/dist/runtime/components/video.vue +2 -2
- package/dist/runtime/composables/useApi.d.ts +1 -1
- package/dist/runtime/composables/useApi.js +6 -77
- package/dist/runtime/geo/README.md +87 -87
- package/dist/runtime/geo/postal_codes.json +5569 -5569
- package/package.json +2 -2
|
@@ -1,140 +1,140 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Drawer class="w-[748px]" v-model="isOpen" @close="onClose">
|
|
3
|
-
<template #header>
|
|
4
|
-
<div class="flex items-center gap-[16px]">
|
|
5
|
-
<Avatar :src="profileData?.avatar" :size="40" />
|
|
6
|
-
<div class="flex flex-col gap-[4px]">
|
|
7
|
-
<div class="font-body-prominent text-black">
|
|
8
|
-
{{ profileData?.name }}
|
|
9
|
-
</div>
|
|
10
|
-
<div class="font-body-small text-gray items-center">
|
|
11
|
-
@{{ profileData?.id }}
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
</template>
|
|
16
|
-
|
|
17
|
-
<ShadTabs v-model="activeTab" class="flex-1 flex flex-col h-full">
|
|
18
|
-
<ShadTabsList>
|
|
19
|
-
<ShadTabsTrigger value="followers" class="px-[16px] py-[8px]">
|
|
20
|
-
ผู้ติดตาม ({{ $convert.convertNumber(profileData?.follower_count || 0) }})
|
|
21
|
-
</ShadTabsTrigger>
|
|
22
|
-
<ShadTabsTrigger value="following" class="px-[16px] py-[8px]">
|
|
23
|
-
กำลังติดตาม ({{ $convert.convertNumber(profileData?.following_count || 0) }})
|
|
24
|
-
</ShadTabsTrigger>
|
|
25
|
-
<ShadTabsTrigger value="favorites" class="px-[16px] py-[8px]">
|
|
26
|
-
สถานที่โปรด ({{ $convert.convertNumber(profileData?.favorite_count || 0) }})
|
|
27
|
-
</ShadTabsTrigger>
|
|
28
|
-
</ShadTabsList>
|
|
29
|
-
|
|
30
|
-
<div class="flex-1 overflow-y-auto" @scroll="onScroll">
|
|
31
|
-
<!-- Followers -->
|
|
32
|
-
<ShadTabsContent value="followers" class="flex flex-col mt-0">
|
|
33
|
-
<template v-if="tabState.followers.loading">
|
|
34
|
-
<div class="flex justify-center py-[40px]">
|
|
35
|
-
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
36
|
-
</div>
|
|
37
|
-
</template>
|
|
38
|
-
<template v-else-if="followers.length > 0">
|
|
39
|
-
<div class="flex flex-col gap-[16px]">
|
|
40
|
-
<template v-for="(user, index) in followers" :key="user.id || index">
|
|
41
|
-
<CardUserItem v-model="followers[index]" @require-auth="emit('require-auth')" />
|
|
42
|
-
<Divider v-if="index !== followers.length - 1" />
|
|
43
|
-
</template>
|
|
44
|
-
</div>
|
|
45
|
-
<div v-if="tabState.followers.loadingMore" class="flex justify-center py-[16px]">
|
|
46
|
-
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
47
|
-
</div>
|
|
48
|
-
</template>
|
|
49
|
-
<template v-else>
|
|
50
|
-
<div v-if="isMyProfile" class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
51
|
-
<div class="font-title-medium-prominent text-black">กำลังมองหาผู้ติดตามอยู่ใช่ไหม</div>
|
|
52
|
-
<div class="flex flex-col font-body-large text-gray items-center">
|
|
53
|
-
<div>เมื่อมีคนติดตามบัญชีนี้ ข้อมูลจะแสดงที่นี่</div>
|
|
54
|
-
<div>การโพสต์และการโต้ตอบกับผู้อื่นจะช่วยเพิ่มผู้ติดตาม</div>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
58
|
-
<div class="font-title-medium-prominent text-black flex gap-[4px]">
|
|
59
|
-
{{ profileData?.name }} ยังไม่มีผู้ติดตาม
|
|
60
|
-
</div>
|
|
61
|
-
<div class="font-body-large text-gray">เมื่อมีคนติดตามบัญชีนี้ ข้อมูลจะแสดงที่นี่</div>
|
|
62
|
-
</div>
|
|
63
|
-
</template>
|
|
64
|
-
</ShadTabsContent>
|
|
65
|
-
|
|
66
|
-
<!-- Following -->
|
|
67
|
-
<ShadTabsContent value="following" class="flex flex-col mt-0">
|
|
68
|
-
<template v-if="tabState.following.loading">
|
|
69
|
-
<div class="flex justify-center py-[40px]">
|
|
70
|
-
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
71
|
-
</div>
|
|
72
|
-
</template>
|
|
73
|
-
<template v-else-if="following.length > 0">
|
|
74
|
-
<div class="flex flex-col gap-[16px]">
|
|
75
|
-
<template v-for="(user, index) in following" :key="user.id || index">
|
|
76
|
-
<CardUserItem v-model="following[index]" @require-auth="emit('require-auth')" />
|
|
77
|
-
<Divider v-if="index !== following.length - 1" />
|
|
78
|
-
</template>
|
|
79
|
-
</div>
|
|
80
|
-
<div v-if="tabState.following.loadingMore" class="flex justify-center py-[16px]">
|
|
81
|
-
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
82
|
-
</div>
|
|
83
|
-
</template>
|
|
84
|
-
<template v-else>
|
|
85
|
-
<div v-if="isMyProfile" class="flex flex-col gap-[24px] items-center justify-center h-[200px]">
|
|
86
|
-
<div class="flex flex-col gap-[8px] items-center">
|
|
87
|
-
<div class="font-title-medium-prominent text-black">ทันเหตุการณ์</div>
|
|
88
|
-
<div class="flex flex-col font-body-large text-gray items-center">
|
|
89
|
-
<div>การติดตามบัญชีเป็นวิธีที่ง่ายในการสร้างลำดับเหตุการณ์</div>
|
|
90
|
-
<div>ของคุณและรู้ว่ามีอะไรเกิดขึ้นบ้างกับหัวข้อและผู้ที่คุณสนใจ</div>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
<Button color="primary" @click="emit('explore-profiles')">ติดตามใครดี</Button>
|
|
94
|
-
</div>
|
|
95
|
-
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
96
|
-
<div class="font-title-medium-prominent text-black">
|
|
97
|
-
{{ profileData?.name }} ไม่ได้กำลังติดตามใคร
|
|
98
|
-
</div>
|
|
99
|
-
<div class="font-body-large text-gray">เมื่อพวกเขาติดตามบัญชี ข้อมูลจะแสดงที่นี่</div>
|
|
100
|
-
</div>
|
|
101
|
-
</template>
|
|
102
|
-
</ShadTabsContent>
|
|
103
|
-
|
|
104
|
-
<!-- Favorites -->
|
|
105
|
-
<ShadTabsContent value="favorites" class="flex flex-col mt-0">
|
|
106
|
-
<template v-if="tabState.favorites.loading">
|
|
107
|
-
<div class="flex justify-center py-[40px]">
|
|
108
|
-
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
109
|
-
</div>
|
|
110
|
-
</template>
|
|
111
|
-
<template v-else-if="favorites.length > 0">
|
|
112
|
-
<div class="flex flex-col items-center justify-center p-[48px] text-gray font-body-large">
|
|
113
|
-
สถานที่โปรด (อยู่ระหว่างการพัฒนา)?
|
|
114
|
-
</div>
|
|
115
|
-
<div v-if="tabState.favorites.loadingMore" class="flex justify-center py-[16px]">
|
|
116
|
-
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
117
|
-
</div>
|
|
118
|
-
</template>
|
|
119
|
-
<template v-else>
|
|
120
|
-
<div v-if="isMyProfile" class="flex flex-col gap-[24px] items-center justify-center h-[200px]">
|
|
121
|
-
<div class="flex flex-col gap-[8px] items-center">
|
|
122
|
-
<div class="font-title-medium-prominent text-black">ยังไม่มีสถานที่โปรด</div>
|
|
123
|
-
<div class="font-body-large text-gray">กดหัวใจที่สถานที่ใดก็ได้เพื่อบันทึกไว้ที่นี่</div>
|
|
124
|
-
</div>
|
|
125
|
-
<Button color="primary" @click="emit('explore-places')">ที่ไหนน่าสนใจ</Button>
|
|
126
|
-
</div>
|
|
127
|
-
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
128
|
-
<div class="font-title-medium-prominent text-black">
|
|
129
|
-
@{{ profileData?.name }} ยังไม่มีสถานที่โปรด
|
|
130
|
-
</div>
|
|
131
|
-
<div class="font-body-large text-gray">เมื่อเขาบันทึกสถานที่ไว้จะแสดงที่นี่</div>
|
|
132
|
-
</div>
|
|
133
|
-
</template>
|
|
134
|
-
</ShadTabsContent>
|
|
135
|
-
</div>
|
|
136
|
-
</ShadTabs>
|
|
137
|
-
</Drawer>
|
|
2
|
+
<Drawer class="w-[748px]" v-model="isOpen" @close="onClose">
|
|
3
|
+
<template #header>
|
|
4
|
+
<div class="flex items-center gap-[16px]">
|
|
5
|
+
<Avatar :src="profileData?.avatar" :size="40" />
|
|
6
|
+
<div class="flex flex-col gap-[4px]">
|
|
7
|
+
<div class="font-body-prominent text-black">
|
|
8
|
+
{{ profileData?.name }}
|
|
9
|
+
</div>
|
|
10
|
+
<div class="font-body-small text-gray items-center">
|
|
11
|
+
@{{ profileData?.id }}
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<ShadTabs v-model="activeTab" class="flex-1 flex flex-col h-full">
|
|
18
|
+
<ShadTabsList>
|
|
19
|
+
<ShadTabsTrigger value="followers" class="px-[16px] py-[8px]">
|
|
20
|
+
ผู้ติดตาม ({{ $convert.convertNumber(profileData?.follower_count || 0) }})
|
|
21
|
+
</ShadTabsTrigger>
|
|
22
|
+
<ShadTabsTrigger value="following" class="px-[16px] py-[8px]">
|
|
23
|
+
กำลังติดตาม ({{ $convert.convertNumber(profileData?.following_count || 0) }})
|
|
24
|
+
</ShadTabsTrigger>
|
|
25
|
+
<ShadTabsTrigger value="favorites" class="px-[16px] py-[8px]">
|
|
26
|
+
สถานที่โปรด ({{ $convert.convertNumber(profileData?.favorite_count || 0) }})
|
|
27
|
+
</ShadTabsTrigger>
|
|
28
|
+
</ShadTabsList>
|
|
29
|
+
|
|
30
|
+
<div class="flex-1 overflow-y-auto" @scroll="onScroll">
|
|
31
|
+
<!-- Followers -->
|
|
32
|
+
<ShadTabsContent value="followers" class="flex flex-col mt-0">
|
|
33
|
+
<template v-if="tabState.followers.loading">
|
|
34
|
+
<div class="flex justify-center py-[40px]">
|
|
35
|
+
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
36
|
+
</div>
|
|
37
|
+
</template>
|
|
38
|
+
<template v-else-if="followers.length > 0">
|
|
39
|
+
<div class="flex flex-col gap-[16px]">
|
|
40
|
+
<template v-for="(user, index) in followers" :key="user.id || index">
|
|
41
|
+
<CardUserItem v-model="followers[index]" @require-auth="emit('require-auth')" />
|
|
42
|
+
<Divider v-if="index !== followers.length - 1" />
|
|
43
|
+
</template>
|
|
44
|
+
</div>
|
|
45
|
+
<div v-if="tabState.followers.loadingMore" class="flex justify-center py-[16px]">
|
|
46
|
+
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
<template v-else>
|
|
50
|
+
<div v-if="isMyProfile" class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
51
|
+
<div class="font-title-medium-prominent text-black">กำลังมองหาผู้ติดตามอยู่ใช่ไหม</div>
|
|
52
|
+
<div class="flex flex-col font-body-large text-gray items-center">
|
|
53
|
+
<div>เมื่อมีคนติดตามบัญชีนี้ ข้อมูลจะแสดงที่นี่</div>
|
|
54
|
+
<div>การโพสต์และการโต้ตอบกับผู้อื่นจะช่วยเพิ่มผู้ติดตาม</div>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
58
|
+
<div class="font-title-medium-prominent text-black flex gap-[4px]">
|
|
59
|
+
{{ profileData?.name }} ยังไม่มีผู้ติดตาม
|
|
60
|
+
</div>
|
|
61
|
+
<div class="font-body-large text-gray">เมื่อมีคนติดตามบัญชีนี้ ข้อมูลจะแสดงที่นี่</div>
|
|
62
|
+
</div>
|
|
63
|
+
</template>
|
|
64
|
+
</ShadTabsContent>
|
|
65
|
+
|
|
66
|
+
<!-- Following -->
|
|
67
|
+
<ShadTabsContent value="following" class="flex flex-col mt-0">
|
|
68
|
+
<template v-if="tabState.following.loading">
|
|
69
|
+
<div class="flex justify-center py-[40px]">
|
|
70
|
+
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
71
|
+
</div>
|
|
72
|
+
</template>
|
|
73
|
+
<template v-else-if="following.length > 0">
|
|
74
|
+
<div class="flex flex-col gap-[16px]">
|
|
75
|
+
<template v-for="(user, index) in following" :key="user.id || index">
|
|
76
|
+
<CardUserItem v-model="following[index]" @require-auth="emit('require-auth')" />
|
|
77
|
+
<Divider v-if="index !== following.length - 1" />
|
|
78
|
+
</template>
|
|
79
|
+
</div>
|
|
80
|
+
<div v-if="tabState.following.loadingMore" class="flex justify-center py-[16px]">
|
|
81
|
+
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
82
|
+
</div>
|
|
83
|
+
</template>
|
|
84
|
+
<template v-else>
|
|
85
|
+
<div v-if="isMyProfile" class="flex flex-col gap-[24px] items-center justify-center h-[200px]">
|
|
86
|
+
<div class="flex flex-col gap-[8px] items-center">
|
|
87
|
+
<div class="font-title-medium-prominent text-black">ทันเหตุการณ์</div>
|
|
88
|
+
<div class="flex flex-col font-body-large text-gray items-center">
|
|
89
|
+
<div>การติดตามบัญชีเป็นวิธีที่ง่ายในการสร้างลำดับเหตุการณ์</div>
|
|
90
|
+
<div>ของคุณและรู้ว่ามีอะไรเกิดขึ้นบ้างกับหัวข้อและผู้ที่คุณสนใจ</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
<Button color="primary" @click="emit('explore-profiles')">ติดตามใครดี</Button>
|
|
94
|
+
</div>
|
|
95
|
+
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
96
|
+
<div class="font-title-medium-prominent text-black">
|
|
97
|
+
{{ profileData?.name }} ไม่ได้กำลังติดตามใคร
|
|
98
|
+
</div>
|
|
99
|
+
<div class="font-body-large text-gray">เมื่อพวกเขาติดตามบัญชี ข้อมูลจะแสดงที่นี่</div>
|
|
100
|
+
</div>
|
|
101
|
+
</template>
|
|
102
|
+
</ShadTabsContent>
|
|
103
|
+
|
|
104
|
+
<!-- Favorites -->
|
|
105
|
+
<ShadTabsContent value="favorites" class="flex flex-col mt-0">
|
|
106
|
+
<template v-if="tabState.favorites.loading">
|
|
107
|
+
<div class="flex justify-center py-[40px]">
|
|
108
|
+
<Icon name="lucide:loader-2" size="24" class="animate-spin text-gray" />
|
|
109
|
+
</div>
|
|
110
|
+
</template>
|
|
111
|
+
<template v-else-if="favorites.length > 0">
|
|
112
|
+
<div class="flex flex-col items-center justify-center p-[48px] text-gray font-body-large">
|
|
113
|
+
สถานที่โปรด (อยู่ระหว่างการพัฒนา)?
|
|
114
|
+
</div>
|
|
115
|
+
<div v-if="tabState.favorites.loadingMore" class="flex justify-center py-[16px]">
|
|
116
|
+
<Icon name="lucide:loader-2" size="20" class="animate-spin text-gray" />
|
|
117
|
+
</div>
|
|
118
|
+
</template>
|
|
119
|
+
<template v-else>
|
|
120
|
+
<div v-if="isMyProfile" class="flex flex-col gap-[24px] items-center justify-center h-[200px]">
|
|
121
|
+
<div class="flex flex-col gap-[8px] items-center">
|
|
122
|
+
<div class="font-title-medium-prominent text-black">ยังไม่มีสถานที่โปรด</div>
|
|
123
|
+
<div class="font-body-large text-gray">กดหัวใจที่สถานที่ใดก็ได้เพื่อบันทึกไว้ที่นี่</div>
|
|
124
|
+
</div>
|
|
125
|
+
<Button color="primary" @click="emit('explore-places')">ที่ไหนน่าสนใจ</Button>
|
|
126
|
+
</div>
|
|
127
|
+
<div v-else class="h-[200px] flex flex-col gap-[8px] items-center justify-center">
|
|
128
|
+
<div class="font-title-medium-prominent text-black">
|
|
129
|
+
@{{ profileData?.name }} ยังไม่มีสถานที่โปรด
|
|
130
|
+
</div>
|
|
131
|
+
<div class="font-body-large text-gray">เมื่อเขาบันทึกสถานที่ไว้จะแสดงที่นี่</div>
|
|
132
|
+
</div>
|
|
133
|
+
</template>
|
|
134
|
+
</ShadTabsContent>
|
|
135
|
+
</div>
|
|
136
|
+
</ShadTabs>
|
|
137
|
+
</Drawer>
|
|
138
138
|
</template>
|
|
139
139
|
|
|
140
140
|
<script setup>
|
|
@@ -30,9 +30,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
|
|
|
30
30
|
"onExplore-profiles"?: (() => any) | undefined;
|
|
31
31
|
"onExplore-places"?: (() => any) | undefined;
|
|
32
32
|
}>, {
|
|
33
|
-
isMyProfile: boolean;
|
|
34
33
|
profileId: string;
|
|
35
34
|
defaultTab: "followers" | "following" | "favorites";
|
|
35
|
+
isMyProfile: boolean;
|
|
36
36
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
37
|
declare const _default: typeof __VLS_export;
|
|
38
38
|
export default _default;
|
|
@@ -1,108 +1,108 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Drawer class="w-[888px]" :title="drawerTitle" :loading="loading" v-model="isOpen">
|
|
3
|
-
<!-- backoffice: แสดงแบบมี tabs -->
|
|
4
|
-
<ShadTabs v-if="props.state === 'backoffice'" default-value="business-info">
|
|
5
|
-
<ShadTabsList>
|
|
6
|
-
<ShadTabsTrigger value="business-info">ข้อมูลธุรกิจ</ShadTabsTrigger>
|
|
7
|
-
<ShadTabsTrigger value="image">รูปภาพ</ShadTabsTrigger>
|
|
8
|
-
<ShadTabsTrigger value="video">วิดีโอ</ShadTabsTrigger>
|
|
9
|
-
</ShadTabsList>
|
|
10
|
-
<ShadTabsContent value="business-info">
|
|
11
|
-
<SuggestPlaceForm v-model="formData" :state="props.state" />
|
|
12
|
-
</ShadTabsContent>
|
|
13
|
-
<ShadTabsContent value="image">
|
|
14
|
-
<div class="flex flex-col gap-[16px] w-full">
|
|
15
|
-
<div class="flex justify-between items-center">
|
|
16
|
-
<div class="flex flex-col gap-[4px]">
|
|
17
|
-
<div class="font-body-large-prominent">รูปภาพ</div>
|
|
18
|
-
<div class="font-label-serif-medium text-gray">
|
|
19
|
-
รองรับไฟล์ *.jpg *.jpeg *.png *.webp *.bmp *.gif ขนาดไฟล์ไม่เกิน
|
|
20
|
-
30 mb
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="flex gap-[8px]">
|
|
24
|
-
<Icon
|
|
25
|
-
name="lucide:list"
|
|
26
|
-
size="20"
|
|
2
|
+
<Drawer class="w-[888px]" :title="drawerTitle" :loading="loading" v-model="isOpen">
|
|
3
|
+
<!-- backoffice: แสดงแบบมี tabs -->
|
|
4
|
+
<ShadTabs v-if="props.state === 'backoffice'" default-value="business-info">
|
|
5
|
+
<ShadTabsList>
|
|
6
|
+
<ShadTabsTrigger value="business-info">ข้อมูลธุรกิจ</ShadTabsTrigger>
|
|
7
|
+
<ShadTabsTrigger value="image">รูปภาพ</ShadTabsTrigger>
|
|
8
|
+
<ShadTabsTrigger value="video">วิดีโอ</ShadTabsTrigger>
|
|
9
|
+
</ShadTabsList>
|
|
10
|
+
<ShadTabsContent value="business-info">
|
|
11
|
+
<SuggestPlaceForm v-model="formData" :state="props.state" />
|
|
12
|
+
</ShadTabsContent>
|
|
13
|
+
<ShadTabsContent value="image">
|
|
14
|
+
<div class="flex flex-col gap-[16px] w-full">
|
|
15
|
+
<div class="flex justify-between items-center">
|
|
16
|
+
<div class="flex flex-col gap-[4px]">
|
|
17
|
+
<div class="font-body-large-prominent">รูปภาพ</div>
|
|
18
|
+
<div class="font-label-serif-medium text-gray">
|
|
19
|
+
รองรับไฟล์ *.jpg *.jpeg *.png *.webp *.bmp *.gif ขนาดไฟล์ไม่เกิน
|
|
20
|
+
30 mb
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="flex gap-[8px]">
|
|
24
|
+
<Icon
|
|
25
|
+
name="lucide:list"
|
|
26
|
+
size="20"
|
|
27
27
|
:class="
|
|
28
28
|
photoColumns ? 'text-primary' : 'cursor-pointer text-gray'
|
|
29
|
-
"
|
|
30
|
-
@click="photoColumns = true"
|
|
31
|
-
/>
|
|
32
|
-
<Icon
|
|
33
|
-
name="lucide:layout-grid"
|
|
34
|
-
size="20"
|
|
29
|
+
"
|
|
30
|
+
@click="photoColumns = true"
|
|
31
|
+
/>
|
|
32
|
+
<Icon
|
|
33
|
+
name="lucide:layout-grid"
|
|
34
|
+
size="20"
|
|
35
35
|
:class="
|
|
36
36
|
!photoColumns ? 'text-primary' : 'cursor-pointer text-gray'
|
|
37
|
-
"
|
|
38
|
-
@click="photoColumns = false"
|
|
39
|
-
/>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
<InputFile
|
|
43
|
-
accept="image/*"
|
|
44
|
-
:column="photoColumns"
|
|
45
|
-
show-cover
|
|
46
|
-
:model-value="formData.photos"
|
|
37
|
+
"
|
|
38
|
+
@click="photoColumns = false"
|
|
39
|
+
/>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<InputFile
|
|
43
|
+
accept="image/*"
|
|
44
|
+
:column="photoColumns"
|
|
45
|
+
show-cover
|
|
46
|
+
:model-value="formData.photos"
|
|
47
47
|
@update:model-value="(val) => {
|
|
48
48
|
formData = { ...formData, photos: val };
|
|
49
|
-
}"
|
|
50
|
-
/>
|
|
51
|
-
</div>
|
|
52
|
-
</ShadTabsContent>
|
|
53
|
-
<ShadTabsContent value="video">
|
|
54
|
-
<div class="flex flex-col gap-[16px] w-full">
|
|
55
|
-
<div class="flex justify-between items-center">
|
|
56
|
-
<div class="flex flex-col gap-[4px]">
|
|
57
|
-
<div class="font-body-large-prominent">วิดีโอ</div>
|
|
58
|
-
<div class="font-label-serif-medium text-gray">
|
|
59
|
-
รองรับไฟล์ *.mp4 *.mov ขนาดไฟล์ไม่เกิน 25 Mb หรือ 10-60 วินาที
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
<div class="flex gap-[8px]">
|
|
63
|
-
<Icon
|
|
64
|
-
name="lucide:list"
|
|
65
|
-
size="20"
|
|
49
|
+
}"
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
</ShadTabsContent>
|
|
53
|
+
<ShadTabsContent value="video">
|
|
54
|
+
<div class="flex flex-col gap-[16px] w-full">
|
|
55
|
+
<div class="flex justify-between items-center">
|
|
56
|
+
<div class="flex flex-col gap-[4px]">
|
|
57
|
+
<div class="font-body-large-prominent">วิดีโอ</div>
|
|
58
|
+
<div class="font-label-serif-medium text-gray">
|
|
59
|
+
รองรับไฟล์ *.mp4 *.mov ขนาดไฟล์ไม่เกิน 25 Mb หรือ 10-60 วินาที
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="flex gap-[8px]">
|
|
63
|
+
<Icon
|
|
64
|
+
name="lucide:list"
|
|
65
|
+
size="20"
|
|
66
66
|
:class="
|
|
67
67
|
videoColumns ? 'text-primary' : 'cursor-pointer text-gray'
|
|
68
|
-
"
|
|
69
|
-
@click="videoColumns = true"
|
|
70
|
-
/>
|
|
71
|
-
<Icon
|
|
72
|
-
name="lucide:layout-grid"
|
|
73
|
-
size="20"
|
|
68
|
+
"
|
|
69
|
+
@click="videoColumns = true"
|
|
70
|
+
/>
|
|
71
|
+
<Icon
|
|
72
|
+
name="lucide:layout-grid"
|
|
73
|
+
size="20"
|
|
74
74
|
:class="
|
|
75
75
|
!videoColumns ? 'text-primary' : 'cursor-pointer text-gray'
|
|
76
|
-
"
|
|
77
|
-
@click="videoColumns = false"
|
|
78
|
-
/>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<InputFile
|
|
82
|
-
accept="video/*"
|
|
83
|
-
:column="videoColumns"
|
|
84
|
-
:model-value="formData.videos"
|
|
76
|
+
"
|
|
77
|
+
@click="videoColumns = false"
|
|
78
|
+
/>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<InputFile
|
|
82
|
+
accept="video/*"
|
|
83
|
+
:column="videoColumns"
|
|
84
|
+
:model-value="formData.videos"
|
|
85
85
|
@update:model-value="(val) => {
|
|
86
86
|
formData = { ...formData, videos: val };
|
|
87
|
-
}"
|
|
88
|
-
/>
|
|
89
|
-
</div>
|
|
90
|
-
</ShadTabsContent>
|
|
91
|
-
</ShadTabs>
|
|
92
|
-
|
|
93
|
-
<!-- personal / business: แสดงตรงๆ ไม่มี tabs -->
|
|
94
|
-
<div v-else>
|
|
95
|
-
<SuggestPlaceForm v-model="formData" :state="props.state" />
|
|
96
|
-
</div>
|
|
97
|
-
<template #footer>
|
|
98
|
-
<div class="flex gap-[8px] justify-end">
|
|
99
|
-
<Button variant="outline">ยกเลิก</Button>
|
|
100
|
-
<Button color="primary" :disabled="!isFormValid" @click="onSubmit">{{
|
|
101
|
-
props.state === "personal" ? "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01" : "\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E41\u0E25\u0E30\u0E40\u0E1C\u0E22\u0E41\u0E1E\u0E23\u0E48"
|
|
102
|
-
}}</Button>
|
|
103
|
-
</div>
|
|
104
|
-
</template>
|
|
105
|
-
</Drawer>
|
|
87
|
+
}"
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
</ShadTabsContent>
|
|
91
|
+
</ShadTabs>
|
|
92
|
+
|
|
93
|
+
<!-- personal / business: แสดงตรงๆ ไม่มี tabs -->
|
|
94
|
+
<div v-else>
|
|
95
|
+
<SuggestPlaceForm v-model="formData" :state="props.state" />
|
|
96
|
+
</div>
|
|
97
|
+
<template #footer>
|
|
98
|
+
<div class="flex gap-[8px] justify-end">
|
|
99
|
+
<Button variant="outline">ยกเลิก</Button>
|
|
100
|
+
<Button color="primary" :disabled="!isFormValid" @click="onSubmit">{{
|
|
101
|
+
props.state === "personal" ? "\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01" : "\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E41\u0E25\u0E30\u0E40\u0E1C\u0E22\u0E41\u0E1E\u0E23\u0E48"
|
|
102
|
+
}}</Button>
|
|
103
|
+
</div>
|
|
104
|
+
</template>
|
|
105
|
+
</Drawer>
|
|
106
106
|
</template>
|
|
107
107
|
|
|
108
108
|
<script setup>
|