refactor user accounts structure

This commit is contained in:
2026-03-16 00:35:34 +03:30
parent 20be653499
commit 3c9f6eed1d
286 changed files with 2812 additions and 1133 deletions
@@ -0,0 +1 @@
export * from './list.component';
@@ -0,0 +1 @@
<superAdmin-consumer-businessActivities-list [consumerId]="consumerId()" />
@@ -0,0 +1,43 @@
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
import { BreadcrumbService } from '@/core/services';
import pageParamsUtils from '@/utils/page-params.utils';
import { Component, computed, inject, signal } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ConsumerBusinessActivitiesComponent } from '../../components/businessActivities/list.component';
import { superAdminConsumersNamedRoutes } from '../../constants';
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
import { ConsumerStore } from '../../store/consumer.store';
@Component({
selector: 'superAdmin-user-businessActivities',
templateUrl: './list.component.html',
imports: [ConsumerBusinessActivitiesComponent],
})
export class SuperAdminUserBusinessActivitiesComponent {
private readonly route = inject(ActivatedRoute);
private readonly breadcrumbService = inject(BreadcrumbService);
private readonly consumerStore = inject(ConsumerStore);
pageParams = computed(() => pageParamsUtils(this.route));
consumerId = signal<string>(this.pageParams()['consumerId']);
ngOnInit() {
this.setBreadcrumb();
}
setBreadcrumb() {
this.breadcrumbService.setItems([
{
...superAdminConsumersNamedRoutes.consumers.meta,
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
},
{
title: this.consumerStore.entity()?.fullname,
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
},
{
title: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta.title,
},
]);
}
}
@@ -0,0 +1,21 @@
<div class="flex flex-col gap-6">
<app-card-data cardTitle="اطلاعات فعالیت اقتصادی" [editable]="true" [(editMode)]="editMode">
<div class="flex flex-col gap-4">
<div class="grid grid-cols-3 gap-4 items-center">
<app-key-value label="عنوان" [value]="businessActivity()?.name" />
<app-key-value label="صنف" [value]="businessActivity()?.guild?.name" />
</div>
</div>
</app-card-data>
<superAdmin-consumer-complexes-list [consumerId]="consumerId()" [businessId]="businessId()" />
<superAdmin-consumer-businessActivities-form
[(visible)]="editMode"
[editMode]="true"
[consumerId]="consumerId()"
[businessActivityId]="businessId()"
[initialValues]="businessActivity() || undefined"
(onSubmit)="getData()"
/>
</div>
@@ -0,0 +1,75 @@
import { BreadcrumbService } from '@/core/services';
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
import pageParamsUtils from '@/utils/page-params.utils';
import { Component, computed, effect, inject, signal } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ConsumerBusinessActivitiesFormComponent } from '../../components/businessActivities/form.component';
import { ConsumerComplexesComponent } from '../../components/complexes/list.component';
import { superAdminConsumersNamedRoutes } from '../../constants';
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
import { BusinessActivityStore } from '../../store/businessActivity.store';
import { ConsumerStore } from '../../store/consumer.store';
@Component({
selector: 'superAdmin-user-businessActivity',
templateUrl: './single.component.html',
imports: [
AppCardComponent,
KeyValueComponent,
ConsumerBusinessActivitiesFormComponent,
ConsumerComplexesComponent,
],
})
export class SuperAdminUserBusinessActivityComponent {
private readonly route = inject(ActivatedRoute);
private readonly breadcrumbService = inject(BreadcrumbService);
private readonly store = inject(BusinessActivityStore);
private readonly consumerStore = inject(ConsumerStore);
pageParams = computed(() => pageParamsUtils(this.route));
readonly consumerId = signal<string>(this.pageParams()['consumerId']!);
readonly businessId = signal<string>(this.pageParams()['businessActivityId']!);
editMode = signal<boolean>(false);
readonly loading = computed(() => this.store.loading());
readonly businessActivity = computed(() => this.store.entity());
constructor() {
effect(() => {
if (this.businessActivity()?.id) {
this.setBreadcrumb();
}
});
}
getData() {
this.store.getData(this.consumerId(), this.businessId());
}
setBreadcrumb() {
this.breadcrumbService.setItems([
{
...superAdminConsumersNamedRoutes.consumers.meta,
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
},
{
title: this.consumerStore.entity()?.fullname,
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(this.consumerId()),
},
{
...superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta,
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
.pagePath!(this.consumerId()),
},
{
title: this.businessActivity()?.name,
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
this.consumerId(),
this.businessId(),
),
},
]);
}
}