diff --git a/src/admin/public/brands/allegro.svg b/src/admin/public/brands/allegro.svg index afb7da5..a498690 100644 --- a/src/admin/public/brands/allegro.svg +++ b/src/admin/public/brands/allegro.svg @@ -1,5 +1 @@ - - - - - + diff --git a/src/admin/public/brands/amazon.svg b/src/admin/public/brands/amazon.svg index 8b76b54..e974849 100644 --- a/src/admin/public/brands/amazon.svg +++ b/src/admin/public/brands/amazon.svg @@ -1,6 +1,38 @@ - - - - - + + + + + + + + + + diff --git a/src/admin/public/brands/dhl.svg b/src/admin/public/brands/dhl.svg index 156e0ac..3a9af0b 100644 --- a/src/admin/public/brands/dhl.svg +++ b/src/admin/public/brands/dhl.svg @@ -1,4 +1,55 @@ - - - + +image/svg+xml + + diff --git a/src/admin/public/brands/dpd.svg b/src/admin/public/brands/dpd.svg index f547c26..aecda6a 100644 --- a/src/admin/public/brands/dpd.svg +++ b/src/admin/public/brands/dpd.svg @@ -1,4 +1,560 @@ - - - + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/admin/public/brands/ifirma.svg b/src/admin/public/brands/ifirma.svg index 12ed113..d5bfbd7 100644 --- a/src/admin/public/brands/ifirma.svg +++ b/src/admin/public/brands/ifirma.svg @@ -1,4 +1,11 @@ - - - + + iFirma diff --git a/src/admin/public/brands/inpost.svg b/src/admin/public/brands/inpost.svg index 74c0c9b..7273f8a 100644 --- a/src/admin/public/brands/inpost.svg +++ b/src/admin/public/brands/inpost.svg @@ -1,4 +1,57 @@ - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/admin/public/brands/payu.svg b/src/admin/public/brands/payu.svg index 03612f5..6e5577a 100644 --- a/src/admin/public/brands/payu.svg +++ b/src/admin/public/brands/payu.svg @@ -1,4 +1,5 @@ - - - + + + + diff --git a/src/admin/src/app/core/i18n/translations/cs.ts b/src/admin/src/app/core/i18n/translations/cs.ts index 8c5013b..6a4b87f 100644 --- a/src/admin/src/app/core/i18n/translations/cs.ts +++ b/src/admin/src/app/core/i18n/translations/cs.ts @@ -575,7 +575,7 @@ export const CS_TRANSLATIONS: TranslationMap = { 'settings.mode': 'Režim', 'settings.sandbox': 'Sandbox', 'settings.shippingHint': - 'Dopravce zapněte zde. API tokeny a URL widgetů nastavíte v Integracích.', + 'Sandbox platí pro všechny dopravce. Zapnutí a API údaje nastavíte v Integracích.', 'settings.emailTitle': 'E-mail / newsletter', 'settings.fromName': 'Jméno odesílatele', 'settings.fromAddress': 'Adresa odesílatele', diff --git a/src/admin/src/app/core/i18n/translations/de.ts b/src/admin/src/app/core/i18n/translations/de.ts index 979df28..88957b7 100644 --- a/src/admin/src/app/core/i18n/translations/de.ts +++ b/src/admin/src/app/core/i18n/translations/de.ts @@ -575,7 +575,7 @@ export const DE_TRANSLATIONS: TranslationMap = { 'settings.mode': 'Modus', 'settings.sandbox': 'Sandbox', 'settings.shippingHint': - 'Carrier hier aktivieren. API-Tokens und Widget-URLs unter Integrationen.', + 'Sandbox gilt für alle Carrier. Aktivierung und API-Zugänge unter Integrationen.', 'settings.emailTitle': 'E-Mail / Newsletter', 'settings.fromName': 'Absendername', 'settings.fromAddress': 'Absenderadresse', diff --git a/src/admin/src/app/core/i18n/translations/en.ts b/src/admin/src/app/core/i18n/translations/en.ts index 9de23d7..f72a8e1 100644 --- a/src/admin/src/app/core/i18n/translations/en.ts +++ b/src/admin/src/app/core/i18n/translations/en.ts @@ -571,7 +571,7 @@ export const EN_TRANSLATIONS: TranslationMap = { 'settings.mode': 'Mode', 'settings.sandbox': 'Sandbox', 'settings.shippingHint': - 'Enable carriers here. API tokens and widget URLs are configured under Integrations.', + 'Sandbox mode applies to all carriers. Enable each carrier and set API credentials under Integrations.', 'settings.emailTitle': 'Email / newsletter', 'settings.fromName': 'From name', 'settings.fromAddress': 'From address', diff --git a/src/admin/src/app/core/i18n/translations/pl.ts b/src/admin/src/app/core/i18n/translations/pl.ts index e972979..0391e7f 100644 --- a/src/admin/src/app/core/i18n/translations/pl.ts +++ b/src/admin/src/app/core/i18n/translations/pl.ts @@ -574,7 +574,7 @@ export const PL_TRANSLATIONS: TranslationMap = { 'settings.mode': 'Tryb', 'settings.sandbox': 'Sandbox', 'settings.shippingHint': - 'Włącz przewoźników tutaj. Tokeny API i URL widgetów ustawisz w Integracjach.', + 'Tryb sandbox dotyczy wszystkich przewoźników. Włączanie i dane API ustawisz w Integracjach.', 'settings.emailTitle': 'Email / newsletter', 'settings.fromName': 'Nazwa nadawcy', 'settings.fromAddress': 'Adres nadawcy', diff --git a/src/admin/src/app/features/orders/order-channel-icons.component.ts b/src/admin/src/app/features/orders/order-channel-icons.component.ts index debf0af..51fdb29 100644 --- a/src/admin/src/app/features/orders/order-channel-icons.component.ts +++ b/src/admin/src/app/features/orders/order-channel-icons.component.ts @@ -1,13 +1,7 @@ import { ChangeDetectionStrategy, Component, input } from '@angular/core'; -import { - LucideMapPinned, - LucidePackage, - LucidePenLine, - LucideStore, - LucideTag, - LucideTruck, -} from '@lucide/angular'; +import { LucidePenLine, LucideStore } from '@lucide/angular'; import { TranslatePipe } from '../../core/i18n/translate.pipe'; +import { IntegrationBrandComponent } from '../../shared/integration-brand.component'; import { OrderSource, ShippingCarrier, @@ -22,63 +16,90 @@ import { standalone: true, imports: [ TranslatePipe, + IntegrationBrandComponent, LucideStore, - LucideTag, - LucidePackage, LucidePenLine, - LucideTruck, - LucideMapPinned, ], template: ` -
- - @switch (channel()) { - @case ('allegro') { - - } - @case ('amazon') { - - } - @case ('manual') { - - } - @default { - - } +
+ @switch (channel()) { + @case ('allegro') { + } - @if (showLabels()) { - - {{ 'orders.source.' + channel() | translate }} + @case ('amazon') { + + } + @case ('manual') { + + + @if (showLabels()) { + + {{ 'orders.source.manual' | translate }} + + } } - + @default { + + + @if (showLabels()) { + + {{ 'orders.source.shop' | translate }} + + } + + } + } @if (showDelivery()) { - @if (service() === 'courier') { - - } @else { - - } - @if (showLabels()) { - - {{ 'orders.carrier.' + carrier() | translate }} - · - {{ 'orders.service.' + service() | translate }} - + @switch (carrier()) { + @case ('dhl') { + + } + @case ('dpd') { + + } + @default { + + } } } diff --git a/src/admin/src/app/features/settings/settings-admin.component.html b/src/admin/src/app/features/settings/settings-admin.component.html index 822afe5..a2cc93c 100644 --- a/src/admin/src/app/features/settings/settings-admin.component.html +++ b/src/admin/src/app/features/settings/settings-admin.component.html @@ -244,100 +244,6 @@ /> {{ 'settings.shippingSandbox' | translate }} -
- - - - - - - - - - - - - - - - - - - - - - - - - -
{{ 'settings.carrier' | translate }}{{ 'settings.enabled' | translate }}{{ 'settings.mode' | translate }}
- - - - - - {{ - (form.shippingUseSandbox - ? 'settings.sandbox' - : 'settings.live' - ) | translate - }} - -
- - - - - - {{ - (form.shippingUseSandbox - ? 'settings.sandbox' - : 'settings.live' - ) | translate - }} - -
- - - - - - {{ - (form.shippingUseSandbox - ? 'settings.sandbox' - : 'settings.live' - ) | translate - }} - -
-

{{ 'settings.shippingHint' | translate }}

@@ -467,6 +373,29 @@
+
+ + + {{ + (form.shippingUseSandbox + ? 'settings.sandbox' + : 'settings.live' + ) | translate + }} + +
@@ -564,6 +493,29 @@
+
+ + + {{ + (form.shippingUseSandbox + ? 'settings.sandbox' + : 'settings.live' + ) | translate + }} + +
@@ -626,6 +578,29 @@
+
+ + + {{ + (form.shippingUseSandbox + ? 'settings.sandbox' + : 'settings.live' + ) | translate + }} + +
diff --git a/src/admin/src/app/shared/integration-brand.component.ts b/src/admin/src/app/shared/integration-brand.component.ts index c6d0486..0d284d4 100644 --- a/src/admin/src/app/shared/integration-brand.component.ts +++ b/src/admin/src/app/shared/integration-brand.component.ts @@ -24,7 +24,7 @@ const BRAND_META: Record< }; /** - * Brand mark + name for settings integration sections. + * Official brand logo + name for settings and tables. */ @Component({ selector: 'app-integration-brand', @@ -34,9 +34,10 @@ const BRAND_META: Record< class="integration-brand" [attr.data-brand]="brand()" [class.integration-brand--compact]="compact()" + [class.integration-brand--icon]="!showName()" > @if (showName()) { {{ meta().label }} diff --git a/src/admin/src/styles/admin-k.css b/src/admin/src/styles/admin-k.css index 9f04738..bafad39 100644 --- a/src/admin/src/styles/admin-k.css +++ b/src/admin/src/styles/admin-k.css @@ -1866,21 +1866,24 @@ table.data tbody tr.is-selected { display: inline-flex; align-items: center; justify-content: center; - width: 40px; + width: 72px; height: 40px; + padding: 6px 8px; + box-sizing: border-box; flex-shrink: 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); - background: var(--surface); + background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); } .integration-brand__mark img { display: block; - width: 40px; - height: 40px; - object-fit: cover; + width: 100%; + height: 100%; + object-fit: contain; + object-position: center; } .integration-brand__name { @@ -1895,10 +1898,10 @@ table.data tbody tr.is-selected { gap: 8px; } -.integration-brand--compact .integration-brand__mark, -.integration-brand--compact .integration-brand__mark img { - width: 28px; +.integration-brand--compact .integration-brand__mark { + width: 56px; height: 28px; + padding: 4px 6px; border-radius: 8px; } @@ -1907,6 +1910,19 @@ table.data tbody tr.is-selected { font-weight: 600; } +.integration-brand--icon .integration-brand__mark { + width: 48px; + height: 28px; + padding: 4px 6px; + border-radius: 8px; +} + +.order-meta-icons__delivery { + display: inline-flex; + align-items: center; + gap: 4px; +} + .integration-head { display: flex; flex-wrap: wrap; @@ -1918,43 +1934,43 @@ table.data tbody tr.is-selected { .integration-head__actions { display: inline-flex; align-items: center; - gap: 10px; + gap: 12px; margin-left: auto; } .integration-brand[data-brand='payu'] .integration-brand__mark { - border-color: #c5db6a; - background: #f4f9d9; + border-color: #d7e58a; + background: #fbfef0; } .integration-brand[data-brand='inPost'] .integration-brand__mark { - border-color: #f5d76e; - background: #fff8db; + border-color: #f0d45a; + background: #fffceb; } .integration-brand[data-brand='dhl'] .integration-brand__mark { border-color: #f0c84a; - background: #fff6d6; + background: #fff8e1; } .integration-brand[data-brand='dpd'] .integration-brand__mark { - border-color: #f3a4b4; - background: #fde8ed; + border-color: #f0a0b0; + background: #fff5f7; } .integration-brand[data-brand='allegro'] .integration-brand__mark { border-color: #ffb081; - background: #fff1e8; + background: #fff7f2; } .integration-brand[data-brand='amazon'] .integration-brand__mark { border-color: #f0c26b; - background: #fff8e8; + background: #fffaf0; } .integration-brand[data-brand='ifirma'] .integration-brand__mark { border-color: #8fc4b0; - background: #e8f5ef; + background: #f2faf6; } @media (prefers-reduced-motion: reduce) {