feat: add new features, update theme and build config

- Add 40+ new UI components including chat modules, discovery cards, photo galleries, FAQ and booking tools
- Standardize brand color across all styles by replacing $theme-color-500 SCSS variables with #0ccd58
- Add sass 1.58.3 dependency and update vite config for modern scss compiler support
- Refactor existing components (AddCarCrad, login page) and remove unused /quick/list router route
- Add utility functions for URL parameter handling
- Add static assets including custom znicons font, component images and icons
- Fix scss syntax issues and deprecation warnings
This commit is contained in:
duanshuwen
2026-05-26 22:49:52 +08:00
parent 548df7020c
commit ac8f5b5f64
159 changed files with 12439 additions and 629 deletions

View File

@@ -1,55 +1,32 @@
<template>
<div class="ai-tab-wrapper">
<div class="tab-container">
<div
class="tab-item is-left"
:class="{ active: modelValue === 0 }"
@tap="handleSwitch(0)"
>
<div class="w-full">
<div class="relative w-full h-[50px] flex overflow-hidden">
<div class="tab-item is-left" :class="{ active: modelValue === 0 }" @tap="handleSwitch(0)">
<div class="tab-content">
<img
v-if="leftSelected || leftUnselected"
:src="
modelValue === 0
? leftSelected || leftUnselected
: leftUnselected || leftSelected
"
class="tab-image"
mode="scaleToFill"
/>
<img v-if="leftSelected || leftUnselected" :src="modelValue === 0
? leftSelected || leftUnselected
: leftUnselected || leftSelected
" class="tab-image" mode="scaleToFill" />
<div class="tab-label">
<spanclass="tab-text">探索发现</text>
</div>
</div>
</div>
<div
class="tab-item is-right"
:class="{ active: modelValue === 1 }"
@tap="handleSwitch(1)"
>
<div class="tab-item is-right" :class="{ active: modelValue === 1 }" @tap="handleSwitch(1)">
<div class="tab-content">
<img
v-if="rightSelected || rightUnselected"
:src="
modelValue === 1
? rightSelected || rightUnselected
: rightUnselected || rightSelected
"
class="tab-image"
mode="scaleToFill"
/>
<img v-if="rightSelected || rightUnselected" :src="modelValue === 1
? rightSelected || rightUnselected
: rightUnselected || rightSelected
" class="tab-image" mode="scaleToFill" />
<div class="tab-label">
<spanclass="tab-text">AI伴游</text>
<div
v-if="showDot"
:class="[
<div v-if="showDot" :class="[
'status-dot',
modelValue === 1
? 'status-dot--active'
: 'status-dot--inactive',
]"
></div>
]"></div>
</div>
</div>
</div>

View File

@@ -1,15 +1,3 @@
.ai-tab-wrapper {
width: 100%;
}
.tab-container {
position: relative;
width: 100%;
height: 50px;
display: flex;
overflow: hidden;
}
.tab-item {
position: relative;
flex: 1;