Files
YGChatCS/src/pages/ChatModule/SharedVisual/ActionRow.vue
duanshuwen 79b101978a style: replace legacy padding classes with inline pixel values
Remove the unused padding.scss stylesheet and its import from the main SCSS entrypoint. Update all legacy padding utility class names across every Vue component to use inline pixel-based utility classes (such as replacing `pl-12` with `pl-[12px]`). Also clean up extraneous whitespace and line breaks in component templates for improved readability.
2026-07-24 16:36:44 +08:00

62 lines
1.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="visual-action-row flex flex-items-center gap-12 p-[12px] bg-white rounded-18 border-box"
:class="{ 'is-disabled': disabled }" @click="handleClick">
<view
class="visual-action-row__icon flex flex-items-center flex-justify-center w-42 h-42 rounded-14 font-size-18 font-900"
:class="toneClass">
<slot name="icon">{{ icon }}</slot>
</view>
<view class="visual-action-row__body flex-full">
<view class="visual-action-row__title color-1E293B font-size-14 font-900 ellipsis-1">{{ title }}</view>
<view v-if="subtitle" class="visual-action-row__subtitle ellipsis-1">
{{ subtitle }}
</view>
</view>
<view class="visual-action-row__arrow color-CBD5E1 font-700"></view>
</view>
</template>
<script setup>
import { computed } from "vue";
const props = defineProps({
title: {
type: String,
default: "",
},
subtitle: {
type: String,
default: "",
},
icon: {
type: String,
default: "",
},
tone: {
type: String,
default: "green",
},
disabled: {
type: Boolean,
default: false,
},
payload: {
type: Object,
default: () => ({}),
},
});
const emit = defineEmits(["action"]);
const toneClass = computed(() => `visual-action-row__icon--${props.tone}`);
const handleClick = () => {
if (props.disabled) return;
emit("action", props.payload);
};
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>