UNPKG

@salla.sa/twilight-components

Version:
72 lines (68 loc) 3.1 kB
/*! * Crafted with ❤ by Salla */ import { r as registerInstance, h, H as Host } from './index-CFtXUFT2.js'; const sallaTrustBadgesCss = ""; const SallaTrustBadges = class { constructor(hostRef) { registerInstance(this, hostRef); /** * For dark footers, show white version of icons. */ this.dark = false; this.commercialRegisterLabel = ''; this.freelanceLabel = ''; } componentWillLoad() { this.initializeTranslations(); } initializeTranslations() { salla.lang.onLoaded(() => { // Set translations synchronously const setTranslation = (lang, key, value) => { salla.helpers.setNested(salla.lang.messages[lang], key, value); }; // Add missing translations setTranslation('ar.trans', 'blocks.footer.commercial_register', 'السجل التجاري'); setTranslation('en.trans', 'blocks.footer.commercial_register', 'Commercial Register'); setTranslation('ar.trans', 'blocks.footer.freelance', 'وثيقة العمل الحر'); setTranslation('en.trans', 'blocks.footer.freelance', 'Freelance Certificate'); // Update state with translations this.commercialRegisterLabel = salla.lang.getWithDefault('blocks.footer.commercial_register', 'السجل التجاري'); this.freelanceLabel = salla.lang.getWithDefault('blocks.footer.freelance', 'وثيقة العمل الحر'); }); } getBadgeData() { const CRNumber = salla.config.get('store.settings.commercial_number'); const FLNumber = salla.config.get('store.settings.freelance_number'); // Prioritize Commercial Register over Freelance if (CRNumber) { return { number: CRNumber, label: this.commercialRegisterLabel || 'السجل التجاري', imageUrl: salla.url.cdn('images/commercial-register.png', 70, 70), type: 'commercial', }; } if (FLNumber) { return { number: FLNumber, label: this.freelanceLabel || 'وثيقة العمل الحر', imageUrl: this.dark ? salla.url.cdn('images/freelance-white.png') : salla.url.cdn('images/freelance.png'), type: 'freelance', }; } return null; } render() { const badgeData = this.getBadgeData(); if (!badgeData) { return null; } return (h(Host, { class: `s-trust-badges-wrapper ${this.dark ? 'dark' : ''}` }, h("img", { class: "s-trust-badges-image", width: "55", height: "55", src: badgeData.imageUrl, alt: badgeData.label }), h("div", { class: "s-trust-badges-content" }, h("p", { class: "s-trust-badges-label" }, badgeData.label), h("b", { class: "s-trust-badges-number" }, badgeData.number)))); } }; SallaTrustBadges.style = sallaTrustBadgesCss; export { SallaTrustBadges as salla_trust_badges };