diff --git a/.agents/skills/frontend-conventions/SKILL.md b/.agents/skills/frontend-conventions/SKILL.md index 99e41aa40..aa7393daf 100644 --- a/.agents/skills/frontend-conventions/SKILL.md +++ b/.agents/skills/frontend-conventions/SKILL.md @@ -62,8 +62,8 @@ Optionally classify findings by severity before fixing: ## Global Constraints - DO NOT touch Go backend files, migration SQL, or any non-`frontend/` code. -- DO NOT add i18n keys to Italian or other locale files unless explicitly asked — English only - (`src/i18n/en/translation.json`). +- Always add new i18n keys to BOTH `src/i18n/en/translation.json` and + `src/i18n/it/translation.json` — never English only. - ALWAYS preserve the license header on every file you edit or create. - DO NOT add inline `style` attributes — Tailwind utility classes only. - DO NOT remove or rewrite functional logic unrelated to the task. diff --git a/.agents/skills/frontend-conventions/references/design-system-checklist.md b/.agents/skills/frontend-conventions/references/design-system-checklist.md index 33eacb08a..cc667e3d8 100644 --- a/.agents/skills/frontend-conventions/references/design-system-checklist.md +++ b/.agents/skills/frontend-conventions/references/design-system-checklist.md @@ -25,7 +25,8 @@ Check every item; fix all deviations in place; summarise grouped by category. ## i18n & conventions - [ ] All user-visible strings use `$t()` / `t()` — no hardcoded text -- [ ] New keys added only to `src/i18n/en/translation.json`, `snake_case`, correct domain namespace +- [ ] New keys added to both `src/i18n/en/translation.json` and `src/i18n/it/translation.json`, + `snake_case`, correct domain namespace - [ ] License header present; ` + + diff --git a/frontend/src/components/customers/CustomerInfoCard.vue b/frontend/src/components/customers/CustomerInfoCard.vue index 598d21002..0f1a6b77b 100644 --- a/frontend/src/components/customers/CustomerInfoCard.vue +++ b/frontend/src/components/customers/CustomerInfoCard.vue @@ -16,8 +16,9 @@ import { useCustomerDetail } from '@/queries/organizations/customerDetail' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' import { getOrganizationIcon } from '@/lib/organizations/organizations' import DataItem from '../common/DataItem.vue' -import { ref } from 'vue' +import { computed, ref } from 'vue' import NotesModal from '../common/NotesModal.vue' +import EnabledStatus from '../common/EnabledStatus.vue' import { canManageCustomers } from '@/lib/permissions' import { faPenToSquare, @@ -32,9 +33,12 @@ import SuspendCustomerModal from './SuspendCustomerModal.vue' import ReactivateCustomerModal from './ReactivateCustomerModal.vue' import { getLanguageLabel } from '@/lib/locale' import { formatPhoneForDisplay } from '@/lib/phone' +import UserAvatar from '../users/UserAvatar.vue' const { t } = useI18n() const { state: customerDetail, asyncStatus } = useCustomerDetail() + +const rebrandingEnabled = computed(() => customerDetail.value.data?.rebranding_enabled === true) const isNotesModalShown = ref(false) const isShownCreateOrEditCustomerDrawer = ref(false) const isShownSuspendCustomerModal = ref(false) @@ -109,7 +113,7 @@ function getKebabMenuItems() {