profiles => format clean archi

This commit is contained in:
styve Lioumba
2025-10-20 20:34:45 +02:00
parent 4191ac1ed0
commit ef02c6a537
171 changed files with 25748 additions and 23863 deletions

View File

@@ -1,25 +1,31 @@
@if (project) {
<div class="bg-white rounded-2xl border p-6 max-w-sm">
<div class="">
<h3 class="text-lg font-bold text-gray-800 mb-3">{{ project.nom }}</h3>
<p class="text-gray-800 text-sm">{{ project.description }}</p>
<div class="mt-6">
<a [routerLink]="[]"
class="flex items-center flex-wrap justify-between gap-2 border rounded-3xl pl-5 pr-3 h-14 w-full hover:bg-purple-100 transition-all duration-300">
Modifier
<div class="w-11 h-11 rounded-full bg-purple-200 flex justify-center items-center">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-5 h-5 cursor-pointer">
<path
d="M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32l8.4-8.4Z"/>
<path
d="M5.25 5.25a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h10.5a3 3 0 0 0 3-3V13.5a.75.75 0 0 0-1.5 0v5.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5V8.25a1.5 1.5 0 0 1 1.5-1.5h5.25a.75.75 0 0 0 0-1.5H5.25Z"/>
</svg>
</div>
</a>
</div>
</div>
</div>
}
@if (project) {
<div class="bg-white rounded-2xl border p-6 max-w-sm">
<div class="">
<h3 class="text-lg font-bold text-gray-800 mb-3">{{ project.nom }}</h3>
<p class="text-gray-800 text-sm">{{ project.description }}</p>
<div class="mt-6">
<a
[routerLink]="[]"
class="flex items-center flex-wrap justify-between gap-2 border rounded-3xl pl-5 pr-3 h-14 w-full hover:bg-purple-100 transition-all duration-300"
>
Modifier
<div class="w-11 h-11 rounded-full bg-purple-200 flex justify-center items-center">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="currentColor"
class="w-5 h-5 cursor-pointer"
>
<path
d="M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32l8.4-8.4Z"
/>
<path
d="M5.25 5.25a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h10.5a3 3 0 0 0 3-3V13.5a.75.75 0 0 0-1.5 0v5.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5V8.25a1.5 1.5 0 0 1 1.5-1.5h5.25a.75.75 0 0 0 0-1.5H5.25Z"
/>
</svg>
</div>
</a>
</div>
</div>
</div>
}

View File

@@ -1,25 +1,24 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MyProfileProjectItemComponent } from './my-profile-project-item.component';
describe('MyProfileProjectItemComponent', () => {
let component: MyProfileProjectItemComponent;
let fixture: ComponentFixture<MyProfileProjectItemComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [MyProfileProjectItemComponent]
})
.compileComponents();
fixture = TestBed.createComponent(MyProfileProjectItemComponent);
component = fixture.componentInstance;
fixture.detectChanges();
await fixture.whenStable();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MyProfileProjectItemComponent } from './my-profile-project-item.component';
describe('MyProfileProjectItemComponent', () => {
let component: MyProfileProjectItemComponent;
let fixture: ComponentFixture<MyProfileProjectItemComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [MyProfileProjectItemComponent],
}).compileComponents();
fixture = TestBed.createComponent(MyProfileProjectItemComponent);
component = fixture.componentInstance;
fixture.detectChanges();
await fixture.whenStable();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -1,32 +1,27 @@
import {Component, inject, Input, OnInit} from '@angular/core';
import {AuthService} from "@app/core/services/authentication/auth.service";
import {ProjectService} from "@app/core/services/project/project.service";
import {Project} from "@app/shared/models/project";
import {environment} from "@env/environment";
import {RouterLink} from "@angular/router";
@Component({
selector: 'app-my-profile-project-item',
standalone: true,
imports: [
RouterLink
],
templateUrl: './my-profile-project-item.component.html',
styleUrl: './my-profile-project-item.component.scss'
})
export class MyProfileProjectItemComponent implements OnInit {
protected readonly environment = environment;
@Input({required: true}) projectId: string = '';
protected authService = inject(AuthService);
protected projectService = inject(ProjectService);
protected project: Project | undefined = undefined
ngOnInit(): void {
this.projectService.getProjectById(this.projectId).subscribe(
value => this.project = value
);
}
}
import { Component, inject, Input, OnInit } from '@angular/core';
import { AuthService } from '@app/core/services/authentication/auth.service';
import { ProjectService } from '@app/core/services/project/project.service';
import { Project } from '@app/shared/models/project';
import { environment } from '@env/environment';
import { RouterLink } from '@angular/router';
@Component({
selector: 'app-my-profile-project-item',
standalone: true,
imports: [RouterLink],
templateUrl: './my-profile-project-item.component.html',
styleUrl: './my-profile-project-item.component.scss',
})
export class MyProfileProjectItemComponent implements OnInit {
protected readonly environment = environment;
@Input({ required: true }) projectId = '';
protected authService = inject(AuthService);
protected projectService = inject(ProjectService);
protected project: Project | undefined = undefined;
ngOnInit(): void {
this.projectService.getProjectById(this.projectId).subscribe((value) => (this.project = value));
}
}