chore: add Tailwind CSS configuration file. ux writing update

This commit is contained in:
2026-05-05 22:42:06 +03:30
parent d130a83bd4
commit 54d00e19ae
96 changed files with 187 additions and 204 deletions
@@ -1,15 +1,10 @@
<app-page-data-list
pageTitle="مدیریت حساب‌های کاربری"
[addNewCtaLabel]="'افزودن حساب کاربری جدید'"
pageTitle="لیست حساب‌های کاربری"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="حساب کاربری‌ای یافت نشد."
emptyPlaceholderDescription="برای افزودن حساب کاربری جدید، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
[showAdd]="true"
(onAdd)="openAddForm()"
(onRefresh)="refresh()"
>
</app-page-data-list>
@@ -33,7 +33,7 @@ export class ConsumerAccountListComponent extends AbstractList<IConsumerAccountR
},
{
field: 'pos',
header: 'پایانه‌ی مرتبط',
header: 'پایانه مرتبط',
customDataModel: (item) =>
`${item.pos.name} (${item.pos.complex.name} - ${item.pos.complex.business_activity.name})`,
},
@@ -52,7 +52,7 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractFormDialog<
form = this.initForm();
get preparedTitle() {
return `${this.editMode ? 'ویرایش' : 'ایجاد'} فعالیت اقتصادی`;
return `${this.editMode ? 'ویرایش' : 'افزودن'} فعالیت اقتصادی`;
}
override ngOnChanges(): void {
@@ -1,17 +1,10 @@
<app-page-data-list
pageTitle="مدیریت فعالیت‌های اقتصادی"
[addNewCtaLabel]="'افزودن فعالیت اقتصادی جدید'"
pageTitle="لیست فعالیت‌های اقتصادی"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="فعالیت اقتصادی‌ای یافت نشد."
emptyPlaceholderDescription="برای افزودن فعالیت اقتصادی جدید، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
[showAdd]="true"
[showEdit]="true"
(onAdd)="openAddForm()"
(onEdit)="onEditClick($event)"
(onDetails)="toSinglePage($event)"
(onRefresh)="refresh()"
>
@@ -1,17 +1,13 @@
// import { CatalogRolesComponent } from '@/shared/catalog/roles';
import { AbstractFormDialog } from '@/shared/abstractClasses';
import {
NameComponent,
AddressComponent,
BranchCodeComponent,
} from '@/shared/components';
import { fieldControl } from '@/shared/constants/fields';
import { AddressComponent, BranchCodeComponent, NameComponent } from '@/shared/components';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { fieldControl } from '@/shared/constants/fields';
import { Component, inject, Input } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { IComplexRequest, IComplexResponse } from '../../models';
import { AdminComplexesService } from '../../services/complexes.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'superAdmin-consumer-complex-form',
@@ -46,7 +42,7 @@ export class ConsumerComplexFormComponent extends AbstractFormDialog<
form = this.initForm();
get preparedTitle() {
return `${this.editMode ? 'ویرایش' : 'ایجاد'} شعبه`;
return `${this.editMode ? 'ویرایش' : 'افزودن'} شعبه`;
}
override ngOnChanges(): void {
@@ -1,17 +1,10 @@
<app-page-data-list
pageTitle="مدیریت شعب"
[addNewCtaLabel]="'افزودن شعبه‌ جدید'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="شعبه‌ای یافت نشد."
emptyPlaceholderDescription="برای افزودن شعبه‌ جدید، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
[showAdd]="true"
[showEdit]="true"
(onAdd)="openAddForm()"
(onEdit)="onEditClick($event)"
(onDetails)="toSinglePage($event)"
(onRefresh)="refresh()"
>
@@ -1,9 +1,9 @@
import { MustMatch } from '@/core/validators';
import { AbstractFormDialog } from '@/shared/abstractClasses';
import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components';
import { fieldControl } from '@/shared/constants/fields';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { fieldControl } from '@/shared/constants/fields';
import { Component, computed, inject, Input } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { Divider } from 'primeng/divider';
@@ -29,7 +29,7 @@ export class ConsumerUserFormComponent extends AbstractFormDialog<
@Input() consumerId?: string;
private service = inject(ConsumersService);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} مشتری`);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} مشتری`);
initForm = () => {
const form = this.fb.group({
@@ -1,4 +1,5 @@
import { AbstractFormDialog } from '@/shared/abstractClasses';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { UikitFlatpickrJalaliComponent } from '@/uikit';
import { Component, computed, inject, Input } from '@angular/core';
@@ -6,7 +7,6 @@ import { ReactiveFormsModule } from '@angular/forms';
import { PartnerSelectComponent } from '../../../partners/shared/select.component';
import { ILicenseRequest, ILicenseResponse } from '../../models';
import { LicensesService } from '../../services/licenses.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'superAdmin-consumer-license-form',
@@ -27,7 +27,7 @@ export class ConsumerLicenseFormComponent extends AbstractFormDialog<
@Input() licenseId?: string;
private service = inject(LicensesService);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} لایسنس`);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} لایسنس`);
initForm = () => {
const form = this.fb.group({
@@ -1,19 +1,19 @@
// import { CatalogRolesComponent } from '@/shared/catalog/roles';
import { AbstractFormDialog } from '@/shared/abstractClasses';
import {
NameComponent,
DeviceIdComponent,
NameComponent,
PosTypeComponent,
ProviderIdComponent,
SerialNumberComponent,
PosTypeComponent,
} from '@/shared/components';
import { fieldControl } from '@/shared/constants/fields';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { fieldControl } from '@/shared/constants/fields';
import { Component, inject, Input } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { IPosRequest, IPosResponse } from '../../models';
import { AdminPosesService } from '../../services/poses.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'superAdmin-consumer-pos-form',
@@ -77,7 +77,7 @@ export class ConsumerPosFormComponent extends AbstractFormDialog<IPosRequest, IP
form = this.initForm();
get preparedTitle() {
return `${this.editMode ? 'ویرایش' : 'ایجاد'} پایانه فروش`;
return `${this.editMode ? 'ویرایش' : 'افزودن'} پایانه فروش`;
}
override ngOnChanges(): void {
@@ -1,17 +1,10 @@
<app-page-data-list
pageTitle="مدیریت پایانه‌های فروش"
[addNewCtaLabel]="'افزودن پایانه‌ی فروش جدید'"
pageTitle="لیست پایانه‌های فروش"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="پایانه‌ی فروشی یافت نشد."
emptyPlaceholderDescription="برای افزودن پایانه‌ی فروش جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderTitle="پایانه فروشی یافت نشد."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
[showAdd]="true"
[showEdit]="true"
(onAdd)="openAddForm()"
(onEdit)="onEditClick($event)"
(onDetails)="toSinglePage($event)"
(onRefresh)="refresh()"
>
@@ -24,7 +24,7 @@ export const superAdminConsumerPosesNamedRoutes: NamedRoutes<TPosesRouteNames> =
import('../../views/poses/single.component').then((m) => m.SuperAdminUserPosComponent),
// @ts-ignore
meta: {
title: 'پایانه‌ی فروش',
title: 'پایانه فروش',
pagePath: (consumerId: string, businessId: string, complexId: string, posId: string) =>
`${baseUrl(consumerId, businessId, complexId)}/${posId}`,
},
@@ -1,5 +1,5 @@
<div class="flex flex-col gap-6">
<app-card-data cardTitle="اطلاعات فعالیت اقتصادی" [editable]="true" [(editMode)]="editMode">
<app-card-data cardTitle="اطلاعات فعالیت اقتصادی" [(editMode)]="editMode">
<div class="flex flex-col gap-4">
<div class="listKeyValue">
<app-key-value label="عنوان" [value]="businessActivity()?.name" />
@@ -1,5 +1,5 @@
<div class="flex flex-col gap-6">
<app-card-data cardTitle="اطلاعات شعبه" [editable]="true" [(editMode)]="editMode">
<app-card-data cardTitle="اطلاعات شعبه" [(editMode)]="editMode">
<div class="flex flex-col gap-4">
<div class="listKeyValue">
<app-key-value label="عنوان" [value]="complex()?.name" />
@@ -1,7 +1,7 @@
<app-page-data-list
pageTitle="مدیریت مشتری‌ها"
[columns]="columns"
emptyPlaceholderTitle="مشتری‌ای یافت نشد"
emptyPlaceholderTitle="مشتری یافت نشد"
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -1,5 +1,5 @@
<div class="flex flex-col gap-6">
<app-card-data cardTitle="اطلاعات پایانه‌ فروش" [editable]="true" [(editMode)]="editMode">
<app-card-data cardTitle="اطلاعات پایانه‌ فروش" [(editMode)]="editMode">
<div class="flex flex-col gap-4">
<div class="listKeyValue">
<app-key-value label="عنوان" [value]="pos()?.name" />
@@ -1,5 +1,5 @@
<div class="flex flex-col gap-6">
<app-card-data cardTitle="اطلاعات مشتری" [editable]="true" [(editMode)]="editMode">
<app-card-data cardTitle="اطلاعات مشتری" [(editMode)]="editMode">
<ng-template #moreActions> </ng-template>
<div class="flex flex-col gap-4">
<div class="listKeyValue">
@@ -1,11 +1,11 @@
import { AbstractFormDialog } from '@/shared/abstractClasses';
import { InputComponent } from '@/shared/components';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { Component, computed, inject, Input } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { IDeviceBrandRequest, IDeviceBrandResponse } from '../models';
import { DeviceBrandsService } from '../services/main.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'deviceBrand-form',
@@ -26,7 +26,7 @@ export class DeviceBrandFormComponent extends AbstractFormDialog<
}),
});
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} برند دستگاه`);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} برند دستگاه`);
override ngOnChanges() {
this.form.patchValue(this.initialValues ?? {});
@@ -1,10 +1,10 @@
<app-page-data-list
pageTitle="مدیریت برند دستگاه‌ها"
[addNewCtaLabel]="'افزودن برند دستگاه‍ جدید'"
[addNewCtaLabel]="'افزودن برند دستگاه‍'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="برند دستگاه یافت نشد"
emptyPlaceholderDescription="برای افزودن برند دستگاه جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن برند دستگاه، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showAdd]="true"
@@ -2,12 +2,12 @@
import { AbstractFormDialog } from '@/shared/abstractClasses';
import { CatalogDeviceBrandSelectComponent } from '@/shared/catalog/deviceBrands';
import { InputComponent } from '@/shared/components';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { Component, inject, Input } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { IDeviceRequest, IDeviceResponse } from '../models';
import { SuperAdminDeviceService } from '../services/main.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'superAdmin-device-form',
@@ -35,7 +35,7 @@ export class UserComplexFormComponent extends AbstractFormDialog<IDeviceRequest,
form = this.initForm();
get preparedTitle() {
return `${this.editMode ? 'ویرایش' : 'ایجاد'} دستگاه`;
return `${this.editMode ? 'ویرایش' : 'افزودن'} دستگاه`;
}
override ngOnChanges(): void {
@@ -1,10 +1,10 @@
<app-page-data-list
pageTitle="مدیریت دستگاه‌ها"
[addNewCtaLabel]="'افزودن دستگاه جدید'"
[addNewCtaLabel]="'افزودن دستگاه'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="دستگاه یافت نشد"
emptyPlaceholderDescription="برای افزودن دستگاه جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن دستگاه، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showAdd]="true"
@@ -1,10 +1,10 @@
<app-page-data-list
[pageTitle]="'مدیریت دسته‌بندی‌های کالا'"
[addNewCtaLabel]="'افزودن دسته‌بندی جدید'"
[addNewCtaLabel]="'افزودن دسته‌بندی'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="دسته‌بندی یافت نشد"
emptyPlaceholderDescription="برای افزودن دسته‌بندی جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن دسته‌بندی، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -51,7 +51,7 @@ export class GuildGoodFormComponent extends AbstractFormDialog<
});
get preparedTitle() {
return `${this.editMode ? 'ویرایش' : 'ایجاد'} کالا`;
return `${this.editMode ? 'ویرایش' : 'افزودن'} کالا`;
}
changeFile(payload: onSelectFileArgs) {
@@ -1,10 +1,10 @@
<app-page-data-list
pageTitle="مدیریت کالاها"
[addNewCtaLabel]="'افزودن کالای جدید'"
[addNewCtaLabel]="'افزودن کالای'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="کالایی یافت نشد"
emptyPlaceholderDescription="برای افزودن کالای جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن کالای، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showAdd]="true"
@@ -1,10 +1,10 @@
<app-page-data-list
[pageTitle]="'مدیریت اصناف'"
[addNewCtaLabel]="'افزودن صنف جدید'"
[addNewCtaLabel]="'افزودن صنف'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="صنفی یافت نشد"
emptyPlaceholderDescription="برای افزودن صنف جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن صنف، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -1,9 +1,9 @@
<app-page-data-list
pageTitle="مدیریت حساب‌های کاربری"
[addNewCtaLabel]="'افزودن حساب کاربری جدید'"
[addNewCtaLabel]="'افزودن حساب کاربری'"
[columns]="columns"
emptyPlaceholderTitle="حساب کاربری‌ای یافت نشد."
emptyPlaceholderDescription="برای افزودن حساب کاربری جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن حساب کاربری، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
(onAdd)="openAddForm()"
@@ -79,7 +79,7 @@ export class GuildFormComponent extends AbstractFormDialog<IPartnerRequest, IPar
form = this.initForm();
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} شریک تجاری`);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} شریک تجاری`);
changeFile(payload: onSelectFileArgs) {
this.logo.set(payload.file);
@@ -1,10 +1,10 @@
<app-page-data-list
pageTitle="مدیریت شرکای تجاری"
[addNewCtaLabel]="'افزودن شریک تجاری جدید'"
[addNewCtaLabel]="'افزودن شریک تجاری'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="شریک تجاری‌ای یافت نشد"
emptyPlaceholderDescription="برای افزودن شریک تجاری جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن شریک تجاری، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -1,13 +1,13 @@
import { MustMatch } from '@/core/validators';
import { AbstractFormDialog } from '@/shared/abstractClasses';
import { InputComponent, SharedPasswordInputComponent } from '@/shared/components';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component';
import { Component, computed, inject, Input } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { Divider } from 'primeng/divider';
import { IProviderRequest, IProviderResponse } from '../models';
import { ProvidersService } from '../services/main.service';
import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component';
@Component({
selector: 'provider-form',
@@ -72,7 +72,7 @@ export class ProviderFormComponent extends AbstractFormDialog<IProviderRequest,
form = this.initForm();
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} ارایه‌دهنده`);
preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} ارایه‌دهنده`);
override ngOnChanges() {
this.form.patchValue(this.initialValues ?? {});
@@ -1,10 +1,10 @@
<app-page-data-list
[pageTitle]="'مدیریت ارایه‌دهنده‌گان'"
[addNewCtaLabel]="'افزودن ارایه‌دهنده‌ جدید'"
[addNewCtaLabel]="'افزودن ارایه‌دهنده‌'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="ارایه‌دهنده‌ی یافت نشد"
emptyPlaceholderDescription="برای افزودن ارایه‌دهنده‌ی جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن ارایه‌دهنده‌ی، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -1,10 +1,10 @@
<app-page-data-list
pageTitle="مدیریت حساب‌های کاربری"
[addNewCtaLabel]="'افزودن حساب کاربری جدید'"
[addNewCtaLabel]="'افزودن حساب کاربری'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="حساب کاربری‌ای یافت نشد."
emptyPlaceholderDescription="برای افزودن حساب کاربری جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن حساب کاربری، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"
@@ -1,10 +1,10 @@
<app-page-data-list
[pageTitle]="'مدیریت کاربران'"
[addNewCtaLabel]="'افزودن کاربر جدید'"
[addNewCtaLabel]="'افزودن کاربر'"
[columns]="columns"
[showAdd]="true"
emptyPlaceholderTitle="کاربری یافت نشد"
emptyPlaceholderDescription="برای افزودن کاربر جدید، روی دکمهٔ بالا کلیک کنید."
emptyPlaceholderDescription="برای افزودن کاربر، روی دکمهٔ بالا کلیک کنید."
[items]="items()"
[loading]="loading()"
[showDetails]="true"