Merge origin/featue_v2.4.0_fuqj into feature_v2.5.0_fuqj
[ai-coding] [符启基]
| | |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | z-index: 1; |
| | | } |
| | | |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .coupon-detail-content { |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .customer-service-content { |
| | |
| | | background: #ffffff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .tip-content { |
| | |
| | | {shouldRenderRight && ( |
| | | <View className="bluetooth-operate-card-right"> |
| | | {/* {!!actionText && <View>{actionText}</View>} */} |
| | | <Image src="https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/blue-right-icon-20260706.png" /> |
| | | <Image src="https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/bluetooth-arrow-20260706.png" /> |
| | | </View> |
| | | )} |
| | | </View> |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .announcements-content { |
| | |
| | | height: 313px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | font-weight: normal; |
| | | line-height: 40px; |
| | | letter-spacing: normal; |
| | | color: #6d7fd9; |
| | | color: @black-text-main; |
| | | image { |
| | | flex-shrink: 0; |
| | | width: 24px; |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .cancel-content { |
| | |
| | | line-height: 48px; |
| | | letter-spacing: normal; |
| | | color: #141E27; |
| | | font-weight: 500; |
| | | .cancel-site-box-divider { |
| | | margin: 34px 32px 40px 0px; |
| | | border-top: 1px solid rgba(204, 208, 215, 0.25); |
| | |
| | | .credit-pay-mask { |
| | | position: absolute; |
| | | inset: 0; |
| | | background: rgba(0, 0, 0, 0.45); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .credit-pay-content { |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .evaluate-content { |
| | |
| | | } |
| | | |
| | | .evaluate-rating-switcher { |
| | | |
| | | |
| | | padding: 0 49px; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | color: #FFF; |
| | | gap: 8px; |
| | | |
| | |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | z-index: 102; |
| | | } |
| | | |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.6); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .no-route-content { |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .over-content { |
| | |
| | | @import '../../../../style/ui-variables.less'; |
| | | |
| | | .pickup-exception-popup { |
| | | position: fixed; |
| | | inset: 0; |
| | |
| | | .pickup-exception-mask { |
| | | position: absolute; |
| | | inset: 0; |
| | | background: rgba(0, 0, 0, 0.6); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .pickup-exception-content { |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: #ffffff; |
| | | border-radius: 32px 32px 0 0; |
| | | padding: 48px 40px 80px; |
| | | background: @gary-theme; |
| | | border-radius: 60px 60px 0 0; |
| | | padding: 48px 48px 80px 48px; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | |
| | | font-weight: 500; |
| | | line-height: 44px; |
| | | letter-spacing: normal; |
| | | color: rgba(0, 0, 0, 0.9); |
| | | color: @black-text-main; |
| | | } |
| | | |
| | | .pickup-exception-desc { |
| | |
| | | font-weight: normal; |
| | | letter-spacing: normal; |
| | | /* 文字色/黑色/辅助文字 40% */ |
| | | color: rgba(0, 0, 0, 0.4); |
| | | color: @black-text-04; |
| | | margin-top: 8px; |
| | | } |
| | | |
| | |
| | | position: relative; |
| | | width: 100%; |
| | | height: 358px; |
| | | border-radius: 16px; |
| | | border-radius: 32px; |
| | | overflow: hidden; |
| | | background: #D8D8D8; |
| | | background: @gary-theme; |
| | | margin-top: 48px; |
| | | } |
| | | |
| | |
| | | |
| | | .pickup-exception-message { |
| | | margin-top: 32px; |
| | | color: rgba(0, 0, 0, 0.9); |
| | | color: @black-text-main; |
| | | font-size: 28px; |
| | | line-height: 44px; |
| | | text-align: center; |
| | |
| | | line-height: 88px; |
| | | text-align: center; |
| | | color: #ffffff; |
| | | border-radius: 16px; |
| | | background: linear-gradient(96deg, #8475FF 1%, #7DD6FF 103%); |
| | | border-radius: 2000px; |
| | | background: @black-text-main; |
| | | font-size: 28px; |
| | | font-weight: 500; |
| | | border-radius: 16px; |
| | | } |
| | |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | z-index: 102; |
| | | } |
| | | |
| | |
| | | if (Array.isArray(linePoints) && linePoints.length > 1) { |
| | | nextPolylines.push({ |
| | | points: linePoints, |
| | | color: '#7B91FF', |
| | | color: '#DFB369', |
| | | width: 6, |
| | | dottedLine: true, |
| | | arrowLine: false |
| | |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | z-index: 102; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | width: 24px; |
| | | height: 24px; |
| | | display: block; |
| | | margin-right: 8px; |
| | | margin-right: 4px; |
| | | } |
| | | |
| | | .site-countdown-time { |
| | | font-family: @font-xpsans-bold; |
| | | font-size: 24px; |
| | | font-weight: normal; |
| | | line-height: 32px; |
| | | text-align: center; |
| | | letter-spacing: 0.04em; |
| | | color: #FFD181; |
| | |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .privacy-content { |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | gap: 8px; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | color: #FFFFFF; |
| | | |
| | | &-text { |
| | |
| | | @import '../../../style/ui-variables.less'; |
| | | |
| | | .order-detail-page { |
| | | background: #F2F3F7; |
| | | min-height: 100vh; |
| | |
| | | width: 8px; |
| | | height: 8px; |
| | | z-index: 0; |
| | | background: #8CB654; |
| | | background: @gold-light; |
| | | border-radius: 50%; |
| | | margin-right: 16px; |
| | | flex-shrink: 0; |
| | |
| | | } |
| | | |
| | | .first-icon { |
| | | background: #6D7FD9; |
| | | background: @black-text-main; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | } |
| | | const polylineData = [{ |
| | | points: routePath, |
| | | color: '#6D7BC1', |
| | | color: '#59B688', |
| | | width: 10, |
| | | dottedLine: false, |
| | | arrowLine: false, |
| | | }, |
| | | { |
| | | points: routePath, |
| | | color: '#7B91FF', |
| | | color: '#59B688', |
| | | width: 8, |
| | | dottedLine: false, |
| | | arrowLine: true, |
| | |
| | | } |
| | | deps.setPolyline([{ |
| | | points: displayPoints, |
| | | color: '#6D7FD9', |
| | | color: '#DFB369', |
| | | width: deps.isAndroid ? 4 : 6, |
| | | dottedLine: true, |
| | | arrowLine: false, |
| | |
| | | |
| | | // 接驾态(前往上车点)/到达终点态 上车点三角图标(与 begin-route 对齐) |
| | | const PICKUP_APPROACHING_ICON_URL = |
| | | 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/up-triangle-2026022.png'; |
| | | 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/up-triangle-20260722.png'; |
| | | // 送驾态(前往目的地)/到达终点态 下车点三角图标(与 begin-route 对齐) |
| | | const DROPOFF_INSERVICE_ICON_URL = |
| | | 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/down-triangle-20260722.png'; |
| | |
| | | const isPickupArrivedDest = [TripStatus.ArrivedDestination, TripStatus.TripFinished, TripStatus.CancelOnlyPickup].includes(deps.tripStatus); |
| | | const isPickupTriangle = isPickupApproaching || isPickupArrivedDest; |
| | | const pickupNameLabelConfig = isPickupApproaching ? SITE_NAME_LABEL_BASE : SITE_NAME_LABEL_BELOW_LG; |
| | | const isVehicleArrivedPickup = deps.tripStatus === TripStatus.VehicleArrivedPickup; |
| | | const getCustomCalloutAnchorY = () => { |
| | | if (isPickupApproaching) { |
| | | return 12; |
| | | } |
| | | if (isVehicleArrivedPickup && deps.isAndroid) { |
| | | return 8; |
| | | } |
| | | return 6; |
| | | } |
| | | return { |
| | | id: 1, |
| | | latitude: pickupSite.latitude, |
| | |
| | | } |
| | | : { |
| | | customCallout: { |
| | | anchorY: [TripStatus.Publishing, TripStatus.CallingCar].includes(deps.tripStatus) ? 150 : -5, |
| | | anchorY: getCustomCalloutAnchorY(), |
| | | anchorX: 0, |
| | | display: 'ALWAYS' |
| | | } |
| | |
| | | } |
| | | : { |
| | | customCallout: { |
| | | anchorY: -5, |
| | | anchorY: 6, |
| | | anchorX: 0, |
| | | display: 'ALWAYS' |
| | | } |
| | |
| | | deps.isAndroid && [ |
| | | TripStatus.PublishRoute, |
| | | TripStatus.VehicleApproaching, |
| | | TripStatus.VehicleArrivedPickup, |
| | | TripStatus.TripFinished, |
| | | TripStatus.PaymentSuccess, |
| | | TripStatus.CancelOnlyPickup |
| | |
| | | : durationDisplay |
| | | ), [durationDisplay]); |
| | | const shouldHideAndroidMarkerCallout = deps.isAndroid |
| | | && [TripStatus.PublishRoute, TripStatus.VehicleArrivedPickup, TripStatus.TripFinished, TripStatus.PaymentSuccess, TripStatus.CancelOnlyPickup].includes(deps.tripStatus); |
| | | && [TripStatus.PublishRoute, TripStatus.TripFinished, TripStatus.PaymentSuccess, TripStatus.CancelOnlyPickup].includes(deps.tripStatus); |
| | | const androidCarCalloutContent = useMemo(() => ( |
| | | <AndroidCarCalloutContent |
| | | routeDistance={deps.routeDistance} |
| | |
| | | // 车型图:参考 calling-car 的 calling-car-vehicle-pic,浮于背景图顶部右侧 |
| | | .calling-car-vehicle-pic { |
| | | position: absolute; |
| | | top: 24px; |
| | | right: 24px; |
| | | top: -4px; |
| | | right: 116px; |
| | | width: 342px; |
| | | height: 294px; |
| | | z-index: 10; |
| | |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.4); |
| | | background: rgba(0, 0, 0, 0.8); |
| | | z-index: 1; |
| | | } |
| | | |
| | |
| | | z-index: 11; |
| | | } |
| | | } |
| | | } |
| | | } |