Quellcode durchsuchen

fix(admin-ui): Order widget i18n fix

* fix(admin-ui): I18n of buttons, add yesterday feat

* fix(admin-ui): I18n order widget cs

* Add missing comma in json
Lukas Chladek vor 5 Jahren
Ursprung
Commit
68b8adb599

+ 10 - 7
packages/admin-ui/src/lib/dashboard/src/widgets/order-summary-widget/order-summary-widget.component.html

@@ -11,15 +11,18 @@
     </div>
 </div>
 <div class="footer">
-    <div class="btn-group btn-outline-primary btn-sm" *ngIf="timeframe$ | async as timeframe">
-        <button class="btn" [class.btn-primary]="timeframe === 'day'" (click)="timeframe$.next('day')">
-            Day
+    <div class="btn-group btn-outline-primary btn-sm" *ngIf="selection$ | async as selection">
+        <button class="btn" [class.btn-primary]="selection.date === today" (click)="selection$.next({timeframe: 'day', date: today})">
+            {{ 'dashboard.today' | translate }}
         </button>
-        <button class="btn" [class.btn-primary]="timeframe === 'week'" (click)="timeframe$.next('week')">
-            Week
+        <button class="btn" [class.btn-primary]="selection.date === yesterday" (click)="selection$.next({timeframe: 'day', date: yesterday})">
+            {{ 'dashboard.yesterday' | translate }}
         </button>
-        <button class="btn" [class.btn-primary]="timeframe === 'month'" (click)="timeframe$.next('month')">
-            Month
+        <button class="btn" [class.btn-primary]="selection.timeframe === 'week'" (click)="selection$.next({timeframe: 'week'})">
+            {{ 'dashboard.thisWeek' | translate }}
+        </button>
+        <button class="btn" [class.btn-primary]="selection.timeframe === 'month'" (click)="selection$.next({timeframe: 'month'})">
+            {{ 'dashboard.thisMonth' | translate }}
         </button>
     </div>
 

+ 10 - 5
packages/admin-ui/src/lib/dashboard/src/widgets/order-summary-widget/order-summary-widget.component.ts

@@ -13,21 +13,26 @@ export type Timeframe = 'day' | 'week' | 'month';
     changeDetection: ChangeDetectionStrategy.OnPush,
 })
 export class OrderSummaryWidgetComponent implements OnInit {
+    today = new Date();
+    yesterday = new Date(new Date().setDate(this.today.getDate() - 1));
     totalOrderCount$: Observable<number>;
     totalOrderValue$: Observable<number>;
     currencyCode$: Observable<string | undefined>;
-    timeframe$ = new BehaviorSubject<Timeframe>('day');
+    selection$ = new BehaviorSubject<{ timeframe: Timeframe; date?: Date }>({
+        timeframe: 'day',
+        date: this.today,
+    });
     dateRange$: Observable<{ start: Date; end: Date }>;
 
     constructor(private dataService: DataService) {}
 
     ngOnInit(): void {
-        this.dateRange$ = this.timeframe$.pipe(
+        this.dateRange$ = this.selection$.pipe(
             distinctUntilChanged(),
-            map(timeframe => {
+            map(selection => {
                 return {
-                    start: dayjs().startOf(timeframe).toDate(),
-                    end: dayjs().endOf(timeframe).toDate(),
+                    start: dayjs(selection.date).startOf(selection.timeframe).toDate(),
+                    end: dayjs(selection.date).endOf(selection.timeframe).toDate(),
                 };
             }),
             shareReplay(1),

+ 6 - 2
packages/admin-ui/src/lib/static/i18n-messages/cs.json

@@ -302,10 +302,14 @@
     "latest-orders": "Poslední objednávky",
     "orders-summary": "Souhrn objednávek",
     "remove-widget": "Odebrat widget",
+    "thisMonth": "Tento měsíc",
+    "thisWeek": "Tento týden",
+    "today": "Dnes",
     "total-order-value": "Celkem",
     "total-orders": "Celkem objednávek",
     "widget-resize": "Změnit velikost",
-    "widget-width": "Šířka: {width}"
+    "widget-width": "Šířka: {width}",
+    "yesterday": "Včera"
   },
   "datetime": {
     "ago-days": "před {count, plural, one {1 dnem} other {{count} dny}}",
@@ -785,4 +789,4 @@
     "job-result": "Výsledek úlohy",
     "job-state": "Stav úlohy"
   }
-}
+}

+ 5 - 1
packages/admin-ui/src/lib/static/i18n-messages/en.json

@@ -302,10 +302,14 @@
     "latest-orders": "Latest orders",
     "orders-summary": "Orders summary",
     "remove-widget": "Remove widget",
+    "thisMonth": "This month",
+    "thisWeek": "This week",
+    "today": "Today",
     "total-order-value": "Total value",
     "total-orders": "Total orders",
     "widget-resize": "Resize",
-    "widget-width": "Width: {width}"
+    "widget-width": "Width: {width}",
+    "yesterday": "Yesterday"
   },
   "datetime": {
     "ago-days": "{count, plural, one {1 day} other {{count} days}} ago",