Skip to content

Commit 424e230

Browse files
committed
feat(usagers): integration header mon domifa
1 parent f615fcb commit 424e230

File tree

4 files changed

+65
-46
lines changed

4 files changed

+65
-46
lines changed

packages/portail-usagers/src/app/app.component.html

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -23,52 +23,47 @@
2323
</ul>
2424
</nav>
2525
<header id="page-header" role="banner">
26-
<div id="matomo-info" *ngIf="!matomoInfo">
27-
<div
28-
class="d-print-none d-flex justify-content-center align-items-center"
29-
role="dialog"
30-
aria-modal="true"
31-
>
32-
<p class="my-0 text-start">
33-
<b>Avertissement sur la collecte de données</b><br />
34-
Nous collectons des données anonymisées à des fins statistiques via
35-
l'outil français Matomo. Pour tout savoir sur notre utilisation des
36-
données, consultez notre
37-
<a
38-
[routerLink]="['/confidentialite']"
39-
ariaCurrentWhenActive="page"
40-
routerLinkActive="router-link-active"
41-
>
42-
politique de confidentialité.
43-
</a>
44-
</p>
45-
<div class="mx-2">
26+
<div id="matomo-info" *ngIf="!matomoInfo" class="fr-notice fr-notice--info">
27+
<div class="fr-container">
28+
<div class="fr-notice__body">
29+
<p>
30+
<span class="fr-notice__title"
31+
>Avertissement sur la collecte de données</span
32+
>
33+
<span class="fr-notice__desc"
34+
>Nous collectons des données anonymisées à des fins statistiques via
35+
l'outil français Matomo. Pour tout savoir sur notre utilisation des
36+
données, consultez notre</span
37+
>
38+
<a
39+
rel="noopener external"
40+
class="fr-notice__link"
41+
[routerLink]="['/confidentialite']"
42+
ariaCurrentWhenActive="page"
43+
routerLinkActive="router-link-active"
44+
>politique de confidentialité.
45+
</a>
46+
</p>
4647
<button
48+
title="Masquer le message"
49+
onclick="const notice = this.parentNode.parentNode.parentNode; notice.parentNode.removeChild(notice)"
4750
type="button"
48-
class="btn btn-white-primary"
49-
(click)="closeMatomo()"
51+
class="fr-btn--close fr-btn"
5052
>
51-
Fermer le message
52-
<span aria-hidden="true">&times;</span>
53+
Masquer le message
5354
</button>
5455
</div>
5556
</div>
5657
</div>
57-
<div class="navbar bg-white">
58-
<a
59-
class="navbar-brand"
60-
[routerLink]="usagerProfile ? '/account' : '/auth/login'"
61-
>
62-
<img
63-
src="../assets/images/logo-mini.svg"
64-
width="30"
65-
height="30"
66-
class="d-inline-block align-top me-2"
67-
alt="Logo de Mon DomiFa"
68-
/>
69-
<span class="nav-brand">Mon DomiFa facilite votre domiciliation</span>
70-
</a>
71-
</div>
58+
<dsfr-header
59+
[logoLabel]="'République<br/>Française'"
60+
[operatorImageAlt]="'Espace d\'administration de DomiFa'"
61+
[operatorImagePath]="'../assets/images/logo-dsfr.svg'"
62+
[ariaLabel]="'Menu principal'"
63+
[logoLink]="{ routerLink: '/' }"
64+
[headerToolsLinks]="headerToolsLinks"
65+
(linkSelect)="logout()"
66+
></dsfr-header>
7267
</header>
7368
<main role="main" id="page">
7469
<router-outlet></router-outlet>

packages/portail-usagers/src/app/app.component.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { MatomoTracker } from "ngx-matomo-client";
99
import DOMIFA_NEWS from "../assets/files/news.json";
1010
import { NgbModal, NgbModalRef } from "@ng-bootstrap/ng-bootstrap";
1111
import { faRightFromBracket } from "@fortawesome/free-solid-svg-icons";
12+
import { DsfrLink } from "@edugouvfr/ngx-dsfr";
1213

1314
@Component({
1415
selector: "app-root",
@@ -25,7 +26,7 @@ export class AppComponent implements OnInit {
2526
public pendingNews = false;
2627
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2728
public news: any;
28-
29+
public headerToolsLinks: DsfrLink[] = [];
2930
@ViewChild("newsModal", { static: true })
3031
public newsModal!: TemplateRef<NgbModalRef>;
3132

@@ -34,7 +35,7 @@ export class AppComponent implements OnInit {
3435
private readonly router: Router,
3536
private readonly usagerAuthService: UsagerAuthService,
3637
private readonly matomo: MatomoTracker,
37-
private readonly modalService: NgbModal,
38+
private readonly modalService: NgbModal
3839
) {
3940
this.apiVersion = null;
4041
this.usagerProfile = null;
@@ -92,24 +93,33 @@ export class AppComponent implements OnInit {
9293
this.modalService.dismissAll();
9394
localStorage.setItem(
9495
"NEWS_MON_DOMIFA",
95-
new Date(DOMIFA_NEWS[0].date).toISOString(),
96+
new Date(DOMIFA_NEWS[0].date).toISOString()
9697
);
9798
this.pendingNews = false;
9899
}
99100

100101
public ngOnInit(): void {
101102
this.titleService.setTitle(
102-
"Mon DomiFa, l'outil qui facilite la gestion des structures domiciliatirices",
103+
"Mon DomiFa, l'outil qui facilite la gestion des structures domiciliatirices"
103104
);
104105

105106
this.usagerAuthService.currentUsagerSubject.subscribe(
106107
(usager: PortailUsagerProfile | null) => {
107108
this.usagerProfile = usager;
108109

109110
if (usager) {
111+
this.headerToolsLinks = [
112+
{
113+
ariaControls: "logoutModal",
114+
linkId: "logout",
115+
mode: "button",
116+
label: "Se déconnecter",
117+
icon: "fr-icon-logout-box-r-line",
118+
},
119+
];
110120
this.checkNews();
111121
}
112-
},
122+
}
113123
);
114124

115125
this.router.events
@@ -145,6 +155,7 @@ export class AppComponent implements OnInit {
145155
}
146156

147157
public logout(): void {
158+
this.headerToolsLinks = [];
148159
this.usagerAuthService.logoutAndRedirect();
149160
}
150161
}

packages/portail-usagers/src/app/modules/shared/shared.module.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ import { FA_ICONS } from "./constants/FA_ICONS.const";
99
import { CustomToastrComponent } from "./components/custom-toastr/custom-toastr.component";
1010
import { SeoService } from "./services/seo.service";
1111
import { ReplaceLineBreaks } from "./pipes/nl2br.pipe";
12+
import { DsfrHeaderModule } from "@edugouvfr/ngx-dsfr";
1213

1314
@NgModule({
1415
declarations: [CustomToastrComponent, ReplaceLineBreaks],
15-
exports: [CustomToastrComponent, ReplaceLineBreaks],
16+
exports: [CustomToastrComponent, ReplaceLineBreaks, DsfrHeaderModule],
1617
providers: [SeoService],
17-
imports: [CommonModule, FontAwesomeModule],
18+
imports: [CommonModule, FontAwesomeModule, DsfrHeaderModule],
1819
})
1920
export class SharedModule {
2021
constructor(private readonly library: FaIconLibrary) {
Lines changed: 12 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)