- Implement unified design system tokens, 10px radius, and IRANSans typography - Modernize sidebar with Gemini-style collapsed expander, square 1:1 items, and elevated profile flyout - Standardize all modal dialogs with 16px padding, fixed header/footer, 16px medium title, and sticky bottom actions - Refactor DealFormView and CustomFieldsSection with standard UiField, UiInput, and UiSelect components - Add draggable bottom-left QuickCreate floating action button
67 lines
1.1 KiB
Vue
67 lines
1.1 KiB
Vue
<script setup lang="ts">
|
|
import { brand } from '@mento/shared';
|
|
|
|
withDefaults(
|
|
defineProps<{
|
|
size?: number;
|
|
showText?: boolean;
|
|
variant?: 'full' | 'mark';
|
|
}>(),
|
|
{
|
|
size: 40,
|
|
showText: true,
|
|
variant: 'full',
|
|
},
|
|
);
|
|
</script>
|
|
|
|
<template>
|
|
<div class="brand-logo" :class="variant">
|
|
<img
|
|
class="mark"
|
|
:src="brand.logo"
|
|
:alt="brand.name"
|
|
:style="{ width: `${size}px`, height: `${size}px` }"
|
|
/>
|
|
<div v-if="showText && variant === 'full'" class="text">
|
|
<strong>{{ brand.name }}</strong>
|
|
<small>by {{ brand.company }}</small>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.brand-logo {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.7rem;
|
|
min-width: 0;
|
|
}
|
|
|
|
.mark {
|
|
display: block;
|
|
flex-shrink: 0;
|
|
object-fit: contain;
|
|
background: transparent;
|
|
}
|
|
|
|
.text {
|
|
display: grid;
|
|
gap: 0.05rem;
|
|
min-width: 0;
|
|
}
|
|
|
|
.text strong {
|
|
font-size: 1.08rem;
|
|
letter-spacing: -0.02em;
|
|
color: #0f172a;
|
|
line-height: 1.1;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.text small {
|
|
color: #94a3b8;
|
|
font-size: 0.72rem;
|
|
}
|
|
</style>
|