Files
nianxx-h5/src/pages/home/components/PoiDetailCard/index.vue
DEV_DSW 653cdd5139 style: update flex alignment classes and clean up UI styles
Replace all deprecated `flex-items-center` utility classes with standard `items-center` across components. Additionally, update font weight classes from `font-900` to `font-bold`, standardize hex color class syntax to use bracket notation, and remove unused SCSS styles from the SharedVisual component.
2026-05-29 10:21:21 +08:00

56 lines
1.6 KiB
Vue

<template>
<div class="poi-detail-card bg-white rounded-24 overflow-hidden">
<div class="poi-detail-card__hero relative">
<image class="poi-detail-card__image w-full h-full block rounded-18" :src="data.image" mode="aspectFill" />
<div class="poi-detail-card__badge flex items-center gap-4 font-size-10 font-bold">
<span class="poi-detail-card__badge-icon"></span>
<span>{{ data.badge?.text }}</span>
</div>
</div>
<div class="poi-detail-card__body">
<div class="poi-detail-card__title text-[#1e293b] font-size-24 font-bold">
{{ data.title }}
</div>
<div class="poi-detail-card__tip flex items-center gap-10">
<div class="poi-detail-card__spark color-047857 text-[18px] font-bold"></div>
<div class="poi-detail-card__tip-text color-047857 text-[14px] font-800">
{{ data.tip?.text }}
</div>
</div>
<div
class="poi-detail-card__button flex items-center flex-justify-center gap-8 text-white bg-0F172A text-[16px] font-bold"
:class="{ 'is-disabled': disabled }" @click="handleAction">
<span class="poi-detail-card__button-icon"></span>
<span>{{ data.action?.text }}</span>
</div>
</div>
</div>
</template>
<script setup>
const props = defineProps({
data: {
type: Object,
default: () => ({}),
},
disabled: {
type: Boolean,
default: false,
},
});
const emit = defineEmits(["action"]);
const handleAction = () => {
if (props.disabled) return;
emit("action", props.data);
};
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>