{"version":3,"file":"index-d9beaf7b.js","sources":["../src/components/TripSegment.jsx","../src/pages/trip/MyTripsPage.jsx","../src/components/CommissionAmount.jsx","../src/components/Collapsible.jsx","../src/components/TripDestinationPlaysRow.jsx","../src/components/activity/ActivityPicker.jsx","../src/components/TripDestinationPlays.jsx","../src/components/TripDestination.jsx","../src/pages/trip/TripPage.jsx","../src/pages/trip/TripTemplatesPage.jsx","../src/pages/trip/HomePage.jsx","../src/pages/trip/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from '@styles/TripSegment.module.css';\nimport { Label } from 'semantic-ui-react';\nimport { DestinationName } from '@utils/constants';\n\nfunction TripSegment({ trip = {}, handleOnView, handleOnCopy, handleOnDelete }) {\n const gotoTrip = (tripID) => {\n if (!!handleOnView) {\n handleOnView(tripID);\n }\n };\n return (\n
\n
\n
\n {trip.userDefined} {!!trip.public && }\n
\n
\n {!!handleOnView && (\n \n )}\n\n {!!handleOnCopy && (\n <>\n
\n \n \n )}\n\n {!!handleOnDelete && (\n <>\n
\n handleOnDelete(trip.id)}\n title=\"删除\"\n >\n 删除\n \n \n )}\n
\n
\n {trip.total > 0 &&
参考价格: $A{trip.total}
}\n {!!trip.notes &&
{trip.notes}
}\n\n {trip?.destinations?.length > 0 ? (\n
\n {trip.destinations.map((elem, index) => {\n return (\n
\n
{DestinationName(elem.name)}
\n
{elem?.plays?.length > 0 && `(${elem.plays.length} 个活动)`}
\n
\n );\n })}\n
\n ) : (\n
请点击“查看”,添加目的地和体验
\n )}\n
\n );\n}\n\nTripSegment.propTypes = {\n trip: PropTypes.shape({}).isRequired,\n handleOnView: PropTypes.func,\n handleOnDelete: PropTypes.func,\n handleOnCopy: PropTypes.func,\n};\n\nexport default TripSegment;\n","import React, { useEffect, useState } from 'react';\nimport styles from '@styles/TripsPage.module.css';\nimport axios from 'axios';\nimport * as config from '@config';\nimport { Dimmer, Loader } from 'semantic-ui-react';\nimport { useNavigate } from 'react-router';\nimport TripSegment from '@components/TripSegment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrips } from '@features/trips/tripsSlice';\nimport BackBar from '@components/BackBar';\nimport { GetToken } from '../../utils/storage';\n\nfunction MyTripsPage(props) {\n const trips = useSelector((state) => state.trips.data);\n const fetching = useSelector((state) => state.trips.fetching);\n const [submitting, setSubmitting] = useState(false);\n\n const dispatch = useDispatch();\n const navigate = useNavigate();\n\n const controller = new AbortController();\n\n useEffect(() => {\n return () => {\n if (submitting) controller.abort();\n };\n }, []);\n\n const handleOnCreate = () => {\n const req = {};\n const url = new URL(`${config.apiURL}/trips`);\n setSubmitting(true);\n axios\n .post(url, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n // console.log(res.data);\n dispatch(fetchTrips());\n const id = res.data.id;\n if (id) {\n navigate(id);\n }\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const handleDelete = (id) => {\n if (confirm('确定删除整个行程?') != true) return;\n setSubmitting(true);\n const url = new URL(`${config.apiURL}/trip/${id}`);\n axios\n .delete(url, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n const reply = res.data.reply;\n if (reply) {\n alert(reply);\n }\n dispatch(fetchTrips());\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const gotoTrip = (id, hash) => {\n navigate(`${id}`);\n };\n\n return (\n <>\n \n
\n
\n
\n 我的行程 \n
\n \n
\n
\n {trips?.map((item, index) => {\n return (\n \n );\n })}\n
\n \n \n \n
\n \n );\n}\n\nexport default MyTripsPage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport axios from 'axios';\nimport * as config from '@config';\nimport { useState, useEffect } from 'react';\nimport { GetToken } from '../utils/storage';\n\n// total is used to trigger re-render\nfunction CommissionAmount({ orderItemID = '', playID = '', dstID = '', tripID = '', total = 0 }) {\n const [fetching, setFetching] = useState(false);\n const [amount, setAmount] = useState();\n\n const controller = new AbortController();\n\n useEffect(() => {\n if (!!orderItemID || !!playID || !!dstID || !!tripID) {\n fetchCommission();\n }\n return () => {\n if (fetching) controller.abort();\n };\n }, [orderItemID, playID, dstID, tripID, total]);\n\n const fetchCommission = () => {\n setFetching(true);\n const url = new URL(`${config.apiURL}/commission/amount`);\n url.searchParams.set('orderItemID', orderItemID);\n url.searchParams.set('playID', playID);\n url.searchParams.set('destinationID', dstID);\n url.searchParams.set('tripID', tripID);\n axios\n .get(url, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n const amount = res.data.amount;\n setAmount(amount);\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setFetching(false);\n });\n };\n\n return <>{!!fetching ? '加载中...' : !!amount ? `A$${amount}` : '-'};\n}\n\nCommissionAmount.propTypes = {\n orderItemID: PropTypes.string,\n playID: PropTypes.string,\n dstID: PropTypes.string, //destinationID\n tripID: PropTypes.string,\n total: PropTypes.number, //used to trigger re-render\n};\n\nexport default CommissionAmount;\n","import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from '@styles/Collapsible.module.css';\nimport { MdKeyboardArrowDown, MdKeyboardArrowUp } from 'react-icons/md';\n\n/**\n * Collapsible includes trigger\n *\n * @param trigger - Element to trigger\n * @param className - Collapsible style\n * @param basic - hide left badge\n * @param children - Content\n * @param active - collapsed\n */\nfunction Collapsible({\n trigger,\n trailingBadge,\n className,\n initCollapsed = true,\n active = null,\n basic = false,\n animate = true,\n callAfterCollapsed = () => {},\n children,\n}) {\n const [collapsed, setCollapsed] = useState(true);\n const [collapsibleClassList, setCollapsibleClassList] = useState(styles.collapsible);\n const ref = useRef();\n const observerRef = useRef(null);\n\n useLayoutEffect(() => {\n if (!initCollapsed) {\n setCollapsed(false);\n }\n }, []);\n\n useLayoutEffect(() => {\n const txEndHandler = (e) => {\n const maxHeight = ref.current.style.maxHeight;\n if (!!maxHeight == false) {\n callAfterCollapsed();\n }\n };\n ref.current.addEventListener('transitionend', txEndHandler);\n return () => {\n ref.current.removeEventListener('transitionend', txEndHandler);\n };\n }, []);\n\n useLayoutEffect(() => {\n if (collapsed) {\n close();\n } else {\n open();\n }\n }, [collapsed]);\n\n // controlled from outside\n useLayoutEffect(() => {\n if (active != null) {\n setCollapsed(active);\n }\n }, [active]);\n\n const open = () => {\n setCollapsibleClassList(`${styles.collapsible} ${styles.expand} ${basic && styles.basic}`);\n const content = ref.current;\n if (animate) {\n content.style.maxHeight = content.scrollHeight + 'px'; //has animation\n } else {\n content.style.maxHeight = '10000vh'; // no animation\n }\n };\n\n const close = () => {\n setCollapsibleClassList(`${styles.collapsible} ${basic && styles.basic}`);\n const content = ref.current;\n content.style.maxHeight = null;\n };\n\n const handleOnClick = () => {\n setCollapsed((prev) => !prev);\n };\n\n return (\n
\n
\n
\n {trigger}\n {trailingBadge != null && (\n
\n {trailingBadge}\n
\n )}\n
\n
\n
\n {children}\n
\n
\n );\n}\n\nCollapsible.propTypes = {\n trigger: PropTypes.element,\n initCollapsed: PropTypes.bool,\n active: PropTypes.bool,\n trailingBadge: PropTypes.element,\n callAfterCollapsed: PropTypes.func,\n basic: PropTypes.bool,\n animate: PropTypes.bool,\n};\n\nexport default Collapsible;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport styles from '@styles/TripDestinationPlaysRow.module.css';\nimport ActivityPricing from '@components/activity/ActivityPricing';\nimport QtyController from './QtyController';\nimport axios from 'axios';\nimport * as config from '@config';\nimport { Link } from 'react-router-dom';\nimport { Icon, Label } from 'semantic-ui-react';\nimport CommissionAmount from './CommissionAmount';\nimport { GetToken } from '../utils/storage';\n\nfunction TripDestinationPlaysRow({ play = {}, callback = () => {}, compact }) {\n const activities = useSelector((state) => state.activities.data);\n const [activity, setActivity] = useState({});\n const [req, setReq] = useState();\n const [submitting, setSubmitting] = useState(false);\n\n const controller = new AbortController();\n\n useEffect(() => {\n filterActivity();\n return () => {};\n }, [activities, play.activityID]);\n\n useEffect(() => {\n if (!!req) {\n handleBookingChange(req);\n }\n }, [req]);\n\n useEffect(() => {\n return () => {\n if (submitting) controller.abort();\n };\n }, []);\n\n const filterActivity = () => {\n const activity = activities.find((item) => item.id == play.activityID);\n if (activity) {\n setActivity(activity);\n }\n };\n\n const handleOnChangeSegment = (e) => {\n const segmentID = e.target.value;\n // console.log('segmentID', segmentID);\n if (!!segmentID) {\n setReq((prev) => {\n return { ...prev, segmentID };\n });\n }\n };\n\n const handleOnChangeVariant = (e) => {\n const variantID = e.target.value;\n // console.log('variantID', variantID);\n if (!!variantID) {\n setReq((prev) => {\n return { ...prev, variantID };\n });\n }\n };\n\n const handleBookingChange = (data) => {\n const req = {\n activityID: play.activityID,\n destinationID: play.destinationID,\n ...data,\n };\n // console.log(req);\n setSubmitting(true);\n axios\n .patch(`${config.apiURL}/play/${play.id}`, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n callback();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const handleDelete = () => {\n if (confirm(`删除 \"${activity.name}\"?`) != true) return;\n setSubmitting(true);\n axios\n .delete(`${config.apiURL}/play/${play.id}`, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n callback();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n return (\n
\n
\n {compact != true && (\n (e.currentTarget.src = `${config.baseURL}/public/empty_image.png`)}\n loading=\"lazy\"\n />\n )}\n
\n
\n {activity.name}\n {activity.tourCode && (\n <>\n  \n \n )}\n  \n \n \n \n
\n {activity.segmented && (\n
\n \n \n
\n )}\n {activity?.variants?.length > 0 && (\n
\n \n \n {!play?.bookingInfo?.variant?.id && }\n {activity?.variants?.map((item, index) => {\n return (\n \n );\n })}\n \n
\n 套餐说明:\n {activity?.variants?.map((item, index) => {\n if (item.id == play?.bookingInfo?.variant?.id) {\n return {item.description};\n } else {\n return null;\n }\n })}\n
\n
\n )}\n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
价格: A${play.total}
\n\n {/*
\n 佣金: \n
*/}\n\n
\n \n
\n
\n );\n}\n\nTripDestinationPlaysRow.propTypes = {\n play: PropTypes.shape({\n id: PropTypes.string.isRequired,\n activityID: PropTypes.string.isRequired,\n destinationID: PropTypes.string.isRequired,\n effectPricing: PropTypes.object,\n bookingInfo: PropTypes.object,\n total: PropTypes.number,\n }).isRequired,\n callback: PropTypes.func.isRequired,\n compact: PropTypes.bool,\n};\n\nexport default TripDestinationPlaysRow;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from '@styles/ActivityPicker.module.css';\nimport { Button, Icon, Modal } from 'semantic-ui-react';\nimport * as config from '@config';\n\nfunction ActivityPicker({ activities = [], plays = [], onSelect = () => {} }) {\n return (\n
\n {activities.map((item, index) => {\n const selected = !!plays.find((elem) => elem.activityID == item.id);\n return ;\n })}\n
\n );\n}\n\nActivityPicker.propTypes = {\n activities: PropTypes.array.isRequired,\n plays: PropTypes.array,\n onSelect: PropTypes.func.isRequired,\n};\n\nfunction ActivityPickerItem({ activity = [], selected = [], onSelect = () => {} }) {\n const [open, setOpen] = useState(false);\n return (\n
\n
\n (e.currentTarget.src = `${config.baseURL}/public/empty_image.png`)}\n loading=\"lazy\"\n />\n
\n
\n {activity.name}\n {selected && `(已选)`}\n {selected && }\n
\n
\n \n \n
\n setOpen(false)} open={open} size=\"fullscreen\" closeIcon>\n {activity.name}\n \n
\n
\n {activity?.photos?.map((elem, index) => {\n return (\n
\n \n (e.currentTarget.src = `${config.baseURL}/public/empty_image.png`)\n }\n />\n
\n );\n })}\n
\n
\n

{activity.name}

\n \n
\n
\n
\n \n
\n );\n}\n\nActivityPickerItem.ActivityPickerItem = {\n activity: PropTypes.object.isRequired,\n selected: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n};\n\nexport default ActivityPicker;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport styles from '@styles/TripDestinationPlays.module.css';\nimport { MdAddCircleOutline } from 'react-icons/md';\nimport { Modal, Button, Tab, Dimmer, Loader } from 'semantic-ui-react';\nimport { Selector } from '@utils/constants';\nimport axios from 'axios';\nimport * as config from '@config';\nimport TripDestinationPlaysRow from './TripDestinationPlaysRow';\nimport CommissionAmount from './CommissionAmount';\nimport ActivityPicker from '@components/activity/ActivityPicker';\nimport { DestinationName } from '@utils/constants';\nimport { createSelector } from '@reduxjs/toolkit';\nimport { GetToken } from '@utils/storage';\n\nfunction TripDestinationPlays({ destination = {}, callback = () => {}, compact }) {\n // Redux Memoized Selectors\n const selectorData = (state) => state.activities.data;\n const filterHiden = createSelector(selectorData, (items) => items?.filter((item) => item.hidden == false));\n const activities = useSelector((state) => {\n return filterHiden(state);\n });\n const fetching = useSelector((state) => state.activities.fetching);\n const [activityPickerActive, setActivityPickerActive] = useState(false);\n const [tickets, setTickets] = useState([]);\n const [cars, setCars] = useState([]);\n const [cityPackages, setCityPackages] = useState([]);\n const [tabIndex, setTabIndex] = useState(0);\n const [submitting, setSubmitting] = useState(false);\n\n const controller = new AbortController();\n\n useEffect(() => {\n filterTickets();\n filterCars();\n filterCityPackage();\n return () => {};\n }, [fetching]);\n\n const filterTickets = () => {\n const selector = destination.name;\n let newData = [...activities];\n newData = activities.filter((item) => {\n if (\n !item.selectors?.includes(Selector.Cars) &&\n !item.selectors?.includes(Selector.Cruises) &&\n !item.selectors?.includes(Selector.Team) &&\n !item.selectors?.includes(Selector.Package) &&\n !item.selectors?.includes(Selector.OtherExperience)\n ) {\n return true;\n }\n });\n newData = newData.filter((item) => {\n if (item.selectors?.includes(selector)) {\n return true;\n }\n });\n // sorting\n newData?.sort((a, b) => {\n const sortA = a.selectorItems.find((item) => item.name == selector).sort;\n const sortB = b.selectorItems.find((item) => item.name == selector).sort;\n return sortA - sortB;\n });\n setTickets(newData);\n };\n\n const filterCars = () => {\n const selector = destination.name;\n let newData = [...activities];\n newData = newData.filter((item) => {\n if (item.selectors?.includes(selector)) {\n for (let filter of [Selector.Cars, Selector.Transfers]) {\n if (item.selectors?.includes(filter)) {\n return true;\n }\n }\n }\n });\n // sorting\n newData?.sort((a, b) => {\n const sortA = a.selectorItems.find((item) => item.name == selector).sort;\n const sortB = b.selectorItems.find((item) => item.name == selector).sort;\n return sortA - sortB;\n });\n setCars(newData);\n };\n\n const filterCityPackage = () => {\n const selector = destination.name;\n let newData = [...activities];\n newData = newData.filter((item) => {\n if (item.selectors?.includes(selector)) {\n for (let filter of [Selector.Team, Selector.Package]) {\n if (item.selectors?.includes(filter)) {\n return true;\n }\n }\n }\n });\n // sorting\n newData?.sort((a, b) => {\n const sortA = a.selectorItems.find((item) => item.name == selector).sort;\n const sortB = b.selectorItems.find((item) => item.name == selector).sort;\n return sortA - sortB;\n });\n setCityPackages(newData);\n };\n\n const handleAdd = (activityID) => {\n setSubmitting(true);\n const req = {\n activityID: activityID,\n destinationID: destination.id,\n };\n const url = new URL(`${config.apiURL}/plays`);\n axios\n .post(url, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n // const activity = activities.find((item) => item.id == activityID);\n // if (activity) {\n // alert(`已添加\"${activity.name}\"`);\n // }\n callback();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const handleTabChange = (e, data) => {\n setTabIndex(data.activeIndex);\n };\n\n return (\n
\n {destination?.plays.length > 0 ? (\n
\n {destination.plays.map((item, index) => {\n return (\n
\n \n
\n );\n })}\n
\n ) : (\n
请添加体验或包车
\n )}\n\n
setActivityPickerActive(true)}>\n
\n 添加活动\n
\n
\n setActivityPickerActive(false)}\n closeOnDimmerClick={false}\n closeIcon\n size=\"large\"\n centered={false}\n >\n {DestinationName(destination.name)}\n \n
\n {\n return (\n \n );\n },\n },\n {\n menuItem: '城市套餐',\n render: () => {\n return (\n \n );\n },\n },\n {\n menuItem: '包车',\n render: () => {\n return (\n \n );\n },\n },\n ]}\n />\n
\n
\n \n \n \n \n \n \n \n
\n );\n}\n\nTripDestinationPlays.propTypes = {\n destination: PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n plays: PropTypes.array,\n notes: PropTypes.string,\n sort: PropTypes.number,\n }).isRequired,\n callback: PropTypes.func.isRequired,\n compact: PropTypes.bool,\n};\n\nexport default TripDestinationPlays;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Dimmer, Icon, Loader, Modal, Button, Form, TextArea } from 'semantic-ui-react';\nimport Collapsible from './Collapsible';\nimport TripDestinationPlays from './TripDestinationPlays';\nimport { DestinationName } from '@utils/constants';\nimport styles from '@styles/TripDestination.module.css';\nimport axios from 'axios';\nimport * as config from '@config';\nimport { GetToken } from '../utils/storage';\n\nfunction TripDestination({\n index,\n destination = {},\n inSortMode = false,\n callback = () => {},\n draggable = false,\n handleOnDragStart = () => {},\n handleOnDragOver = () => {},\n handleOnDrop = () => {},\n compact,\n}) {\n const [open, setOpen] = useState(false);\n const [notes, setNotes] = useState('');\n const [submitting, setSubmitting] = useState(false);\n\n const controller = new AbortController();\n\n useEffect(() => {\n if (open == false) {\n setNotes(destination.notes);\n }\n return () => {\n if (submitting) controller.abort();\n };\n }, [destination, open]);\n\n const handleOnDelete = (dstID, name) => {\n if (confirm(`确定删除\"${name}\"以及其选择的项目?`) != true) return;\n setSubmitting(true);\n const url = new URL(`${config.apiURL}/destination/${dstID}`);\n axios\n .delete(url, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n const reply = res.data.reply;\n // console.log(reply);\n callback();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const handleOnChange = (e, { name, value }) => {\n setNotes(value);\n };\n\n const handleSubmit = () => {\n var req = { notes: notes };\n setSubmitting(true);\n axios\n .patch(`${config.apiURL}/destination/${destination.id}`, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n callback();\n setOpen(false);\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n return (\n handleOnDragStart(e, index)}\n onDragOver={(e) => handleOnDragOver(e)}\n onDrop={(e) => handleOnDrop(e, index)}\n >\n
\n
\n {DestinationName(destination.name)}{' '}\n {destination?.plays.length > 0 && `(${destination?.plays.length}个活动)`}\n \n
\n {!!inSortMode ? (\n \n ) : (\n handleOnDelete(destination.id, DestinationName(destination.name))}\n />\n )}\n
\n
{destination.notes}
\n {!inSortMode && (\n <>\n } animate={false}>\n \n
\n
\n \n )}\n\n setOpen(false)} closeOnDimmerClick={false} closeIcon>\n 备注\n \n
\n \n \n \n
\n
\n \n \n \n \n
\n\n \n \n \n
\n );\n}\n\nTripDestination.propTypes = {\n index: PropTypes.number.isRequired,\n destination: PropTypes.object.isRequired,\n inSortMode: PropTypes.bool,\n callback: PropTypes.func.isRequired,\n draggable: PropTypes.bool,\n handleOnDragStart: PropTypes.func.isRequired,\n handleOnDragOver: PropTypes.func.isRequired,\n handleOnDrop: PropTypes.func.isRequired,\n compact: PropTypes.bool,\n};\n\nexport default TripDestination;\n","import React, { useEffect, useState } from 'react';\nimport { useNavigate, useParams } from 'react-router';\nimport BackBar from '@components/BackBar';\nimport axios from 'axios';\nimport * as config from '@config';\nimport styles from '@styles/TripPage.module.css';\nimport { MdAddCircleOutline } from 'react-icons/md';\nimport { Modal, Button, Icon, Form, TextArea, Dimmer, Loader, Checkbox, Popup, Label } from 'semantic-ui-react';\nimport { SelectorCityOptions } from '@utils/constants';\nimport CommissionAmount from '@components/CommissionAmount';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchTrips } from '@features/trips/tripsSlice';\nimport TripDestination from '@components/TripDestination';\nimport { DestinationName } from '@utils/constants';\nimport { GetToken, GetUserInfo } from '@utils/storage';\n\nconst defaultUserDefinedData = {\n userDefined: '',\n notes: '',\n public: false,\n};\n\nfunction TripPage(props) {\n const { tripID } = useParams();\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const activities = useSelector((state) => state.activities.data);\n const trips = useSelector((state) => state.trips.data);\n const fetching = useSelector((state) => state.trips.fetching);\n const [data, setData] = useState({}); //trip\n const [dstPickerActive, setDstPickerActive] = useState(false);\n const [userDefinedActive, setUserDefinedActive] = useState(false);\n const [userDefinedData, setUserDefinedData] = useState(defaultUserDefinedData);\n const [submitting, setSubmitting] = useState(false);\n const [sortMode, setSortMode] = useState(false);\n const [compact, setCompact] = useState(false);\n const [exportTxtActive, setExportTxtActive] = useState(false);\n const loginInfo = GetUserInfo();\n\n const controller = new AbortController();\n\n useEffect(() => {\n if (tripID) {\n initalFetch();\n }\n return () => {\n if (fetching || submitting) controller.abort();\n };\n }, [tripID, trips]);\n\n useEffect(() => {\n // Reset setUserDefinedData\n if (userDefinedActive == true) {\n setUserDefinedData({\n userDefined: data.userDefined,\n notes: data.notes,\n public: data.public,\n });\n }\n }, [userDefinedActive]);\n\n const initalFetch = () => {\n const trip = trips.find((item) => item.id == tripID);\n if (!!trip) {\n setData(trip);\n setUserDefinedData({ userDefined: trip.userDefined, notes: trip.notes, public: trip.public });\n } else {\n fetchData();\n }\n };\n\n const fetchData = () => {\n dispatch(fetchTrips()).then((res) => {\n const trips = res.payload.trips;\n const trip = trips.find((item) => item.id == tripID);\n if (!!trip) {\n setData(trip);\n setUserDefinedData({ userDefined: trip.userDefined, notes: trip.notes, public: trip.public });\n } else {\n alert('没有找到行程');\n navigate(-1);\n }\n });\n };\n\n const handleOnCreate = (name) => {\n setSubmitting(true);\n const req = {\n tripID: data.id,\n names: [name],\n };\n const url = new URL(`${config.apiURL}/destinations`);\n axios\n .post(url, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n setDstPickerActive(false);\n fetchData();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const handleOnChange = (e, { name, value, checked }) => {\n if (name == 'public') {\n value = checked;\n }\n // console.log({ [name]: value });\n setUserDefinedData((prev) => {\n return { ...prev, [name]: value };\n });\n };\n\n const handleOnUpdate = () => {\n axios\n .put(`${config.apiURL}/trip/${tripID}`, userDefinedData, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n fetchData();\n setUserDefinedActive(false);\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {});\n };\n\n const summary = () => {\n return (\n
\n
价格: {!!data.total && `A$${data.total}`}
\n {/*
\n 总佣金: \n
*/}\n
\n );\n };\n\n //Switch to sorting mode\n const handleSortModeChange = () => {\n setSortMode((prev) => !prev);\n };\n\n const handleCompactChange = () => {\n setCompact((prev) => !prev);\n };\n\n const handleOnDragStart = (e, index) => {\n e.dataTransfer.setData('index', index);\n };\n\n const handleOnDragOver = (e) => {\n e.preventDefault();\n };\n\n const handleOnDrop = (e, index) => {\n e.preventDefault();\n const draggedIndex = e.dataTransfer.getData('index');\n console.log(draggedIndex, 'dropped on', index);\n if (draggedIndex == index) {\n console.warn('Same position');\n return;\n }\n // console.log('before', articles);\n const newData = [...data.destinations];\n const dragged = newData[draggedIndex];\n newData.splice(draggedIndex, 1); //remove dragged one\n newData.splice(index, 0, dragged);\n // console.log('after', newData);\n const ids = newData.map((item) => item.id);\n handleUpdateSort(ids);\n };\n\n const handleUpdateSort = (ids) => {\n // console.log(ids);\n var req = { ids: ids };\n setSubmitting(true);\n axios\n .patch(`${config.apiURL}/destinations`, req, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n fetchData();\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n const TripTextSummary = () => {\n return (\n
\n
{data.userDefined}
\n {data.destinations.map((destination, i) => {\n return (\n
\n
\n {DestinationName(destination.name)}\n
\n
    \n {destination?.plays?.map((play, j) => {\n const activity = activities.find((item) => item.id == play.activityID);\n return (\n
  1. \n {activity.name}\n
  2. \n );\n })}\n
\n
\n );\n })}\n
\n );\n };\n\n const Order = () => {\n let counter = 0;\n data.destinations?.forEach((dst) => {\n counter = counter + dst.plays.length ?? 0;\n });\n if (counter > 0 && data.public == false) {\n return (\n
\n
\n 生成报价单 \n
\n
\n );\n } else {\n <>;\n }\n };\n\n const handleGenerateOrder = () => {\n if (confirm('生成报价单?') != true) {\n return;\n }\n setSubmitting(true);\n axios\n .post(\n `${config.apiURL}/trip/${tripID}/order`,\n {},\n {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n }\n )\n .then((res) => {\n dispatch(fetchTrips());\n const orderID = res.data.orderID;\n if (orderID) {\n navigate(`/dashboard/orders/${orderID}`, { replace: true });\n }\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n window.alert(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n return (\n
\n \n
\n
\n {data.userDefined} {!!data.public && } \n
\n
\n setUserDefinedActive(true)}\n title=\"修改名称和备注\"\n >\n 修改名称和备注\n \n
\n \n setExportTxtActive(false)} open={exportTxtActive} closeIcon>\n {data.userDefined}\n \n \n \n \n
\n
\n
{data.notes}
\n setUserDefinedActive(false)}\n closeOnDimmerClick={false}\n closeIcon\n >\n 自定义信息\n \n
\n \n \n \n \n \n {loginInfo.email.startsWith('guxkai') && (\n \n \n 设置为模版\n }\n />\n \n }\n onChange={handleOnChange}\n />\n \n )}\n \n
\n \n \n \n \n \n\n {data.destinations?.length > 0 && summary()}\n
\n
\n \n \n
\n\n {data.destinations?.map((item, index) => {\n return (\n \n );\n })}\n
\n
\n
\n
setDstPickerActive(true)}>\n 添加目的地\n
\n
\n \n
\n\n setDstPickerActive(false)}\n closeOnDimmerClick={false}\n closeIcon\n >\n 选择观光地点\n \n
\n {SelectorCityOptions.map((item, index) => {\n return (\n handleOnCreate(item.value)}\n >\n {item.name}\n
\n );\n })}\n
\n \n \n \n \n \n \n \n \n
\n );\n}\n\nTripPage.propTypes = {};\n\nexport default TripPage;\n","import React, { useEffect, useState } from 'react';\nimport styles from '@styles/TripsPage.module.css';\nimport axios from 'axios';\nimport * as config from '@config';\nimport { Dimmer, Loader } from 'semantic-ui-react';\nimport { useNavigate } from 'react-router';\nimport TripSegment from '@components/TripSegment';\nimport BackBar from '@components/BackBar';\nimport { GetToken } from '../../utils/storage';\n\nfunction TripTemplatesPage(props) {\n const [fetching, setFetching] = useState(false);\n const [data, setData] = useState([]); //trips\n const [submitting, setSubmitting] = useState(false);\n\n const navigate = useNavigate();\n\n const controller = new AbortController();\n\n useEffect(() => {\n fetchData();\n return () => {};\n }, []);\n\n const fetchData = () => {\n setFetching(true);\n const url = new URL(`${config.apiURL}/trips`);\n url.searchParams.set('public', true);\n axios\n .get(url, {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n })\n .then((res) => {\n const trips = res.data.trips;\n if (trips) {\n setData(trips);\n }\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setFetching(false);\n });\n };\n\n const gotoTrip = (id) => {\n navigate(id);\n };\n\n const handleOnCopy = (tripID) => {\n const url = new URL(`${config.apiURL}/trip/${tripID}/copy`);\n setSubmitting(true);\n axios\n .post(\n url,\n {},\n {\n signal: controller.signal,\n headers: { Authorization: `Bearer ${GetToken()}` },\n }\n )\n .then((res) => {\n // goto copied trip\n const reply = res.data.reply;\n if (reply) {\n alert('已复制到“我的行程”');\n }\n const tripID = res.data.tripID;\n if (tripID) {\n navigate(`../my-trips/${tripID}`, { replace: true });\n }\n })\n .catch((err) => {\n let msg = err.toString();\n if (err.response?.data?.error) {\n console.log('***', err.response.data.error);\n msg = err.response.data.error;\n }\n console.error(msg);\n })\n .finally(() => {\n setSubmitting(false);\n });\n };\n\n return (\n <>\n \n\n
\n
\n
行程模板
\n
\n
\n {data.map((item, index) => {\n return (\n \n );\n })}\n
\n \n \n \n
\n \n );\n}\n\nexport default TripTemplatesPage;\n","import React from 'react';\nimport styles from '@styles/TripsHomePage.module.css';\nimport { Icon } from 'semantic-ui-react';\nimport { Link } from 'react-router-dom';\n\nfunction HomePage() {\n return (\n
\n
行程规划
\n
\n \n
\n
\n
创建自己的旅程
\n
\n
\n
\n 使用我们的行程规划工具来组织您旅程的每个部分,创建或者编辑自己的行程。\n
\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
使用策划的旅程规划
\n
\n
\n
\n
\n
1
\n
\n 选择策划好的旅程规划\n
\n

每一次旅行都是由专家针对不同目的地和主题精心策划的。

\n
\n
\n
\n
\n
2
\n
\n 让它成为你自己的\n
\n

混合搭配旅程项目或复制整个行程。让规划行程变得快速而简单。

\n
\n
\n
\n
\n
3
\n
{' '}\n 预订并完成\n
\n

在一个地方预订所有景点。

\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n );\n}\n\nexport default HomePage;\n","import React from 'react';\nimport { Route, Routes } from 'react-router';\nimport MyTripsPage from './MyTripsPage';\nimport TripPage from './TripPage';\nimport TripTemplatesPage from './TripTemplatesPage';\nimport HomePage from './HomePage';\nimport { useSelector } from 'react-redux';\nimport { Dimmer, Loader } from 'semantic-ui-react';\n\nfunction Index() {\n const fetching = useSelector((state) => state.activities.fetching);\n return (\n <>\n \n } />\n } />\n } />\n } />\n } />\n \n \n \n \n \n );\n}\n\nexport default Index;\n"],"names":["TripSegment","trip","handleOnView","handleOnCopy","handleOnDelete","gotoTrip","tripID","jsxs","styles","jsx","Label","Fragment","_a","elem","index","DestinationName","PropTypes","MyTripsPage","props","trips","useSelector","state","fetching","submitting","setSubmitting","useState","dispatch","useDispatch","navigate","useNavigate","controller","useEffect","handleOnCreate","req","url","config.apiURL","axios","GetToken","res","fetchTrips","id","err","msg","_b","handleDelete","reply","hash","BackBar","Loader","item","Dimmer","Collapsible","trigger","trailingBadge","className","initCollapsed","active","basic","animate","callAfterCollapsed","children","collapsed","setCollapsed","collapsibleClassList","setCollapsibleClassList","ref","useRef","useLayoutEffect","txEndHandler","e","close","open","content","handleOnClick","prev","TripDestinationPlaysRow","play","callback","compact","activities","activity","setActivity","setReq","filterActivity","handleBookingChange","handleOnChangeSegment","segmentID","handleOnChangeVariant","variantID","data","config.baseURL","Link","Icon","_d","_c","_f","_e","_g","_h","_j","_i","_l","_k","_m","_n","ActivityPricing","_o","QtyController","_p","_q","ActivityPicker","plays","onSelect","selected","ActivityPickerItem","setOpen","Button","Modal","TripDestinationPlays","destination","filterHiden","createSelector","items","activityPickerActive","setActivityPickerActive","tickets","setTickets","cars","setCars","cityPackages","setCityPackages","tabIndex","setTabIndex","filterTickets","filterCars","filterCityPackage","selector","newData","Selector","a","b","sortA","sortB","filter","handleAdd","activityID","handleTabChange","MdAddCircleOutline","Tab","TripDestination","inSortMode","draggable","handleOnDragStart","handleOnDragOver","handleOnDrop","notes","setNotes","dstID","name","handleOnChange","value","handleSubmit","Form","TextArea","defaultUserDefinedData","TripPage","useParams","setData","dstPickerActive","setDstPickerActive","userDefinedActive","setUserDefinedActive","userDefinedData","setUserDefinedData","sortMode","setSortMode","setCompact","exportTxtActive","setExportTxtActive","loginInfo","GetUserInfo","initalFetch","fetchData","checked","handleOnUpdate","summary","handleSortModeChange","handleCompactChange","draggedIndex","dragged","ids","handleUpdateSort","TripTextSummary","i","j","Order","counter","dst","handleGenerateOrder","orderID","Checkbox","Popup","SelectorCityOptions","TripTemplatesPage","setFetching","HomePage","Index","Routes","Route"],"mappings":"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"}