-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathsidebar.gjs
126 lines (112 loc) · 4.8 KB
/
sidebar.gjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import PixButtonLink from '@1024pix/pix-ui/components/pix-button-link';
import PixNavigation from '@1024pix/pix-ui/components/pix-navigation';
import PixNavigationButton from '@1024pix/pix-ui/components/pix-navigation-button';
import { LinkTo } from '@ember/routing';
import { service } from '@ember/service';
import Component from '@glimmer/component';
import { t } from 'ember-intl';
import { or } from 'ember-truth-helpers';
export default class Sidebar extends Component {
@service session;
@service currentUser;
@service accessControl;
get userFullName() {
const adminMember = this.currentUser?.adminMember;
return `${adminMember?.firstName} ${adminMember?.lastName}`;
}
<template>
<PixNavigation
@navigationAriaLabel={{t "components.layout.sidebar.labels.main"}}
@openLabel={{t "components.layout.sidebar.labels.open"}}
@closeLabel={{t "components.layout.sidebar.labels.close"}}
>
<:brand>
<LinkTo @route="authenticated.index">
<img src="/admin-logo.svg" alt={{t "common.home-page"}} />
</LinkTo>
</:brand>
<:navElements>
<PixNavigationButton
class="sidebar__link"
@route="authenticated.organizations"
@icon="buildings"
@ariaHidden={{true}}
>
{{t "components.layout.sidebar.organizations"}}
</PixNavigationButton>
<PixNavigationButton class="sidebar__link" @route="authenticated.users" @icon="infoUser">
{{t "components.layout.sidebar.users"}}
</PixNavigationButton>
<PixNavigationButton
class="sidebar__link"
@route="authenticated.certification-centers"
@icon="mapPin"
aria-label={{t "components.layout.sidebar.certification-centers-label"}}
>
{{t "components.layout.sidebar.certification-centers"}}
</PixNavigationButton>
<PixNavigationButton class="sidebar__link" @route="authenticated.sessions" @icon="session">
{{t "components.layout.sidebar.sessions"}}
</PixNavigationButton>
{{#if this.accessControl.hasAccessToCertificationActionsScope}}
<PixNavigationButton
class="sidebar__link"
@route="authenticated.certifications"
@icon="newRealease"
aria-label={{t "components.layout.sidebar.certifications"}}
>
{{t "components.layout.sidebar.certifications"}}
</PixNavigationButton>
{{/if}}
<PixNavigationButton
class="sidebar__link"
@route="authenticated.complementary-certifications"
@icon="extension"
aria-label={{t "components.layout.sidebar.complementary-certifications-label"}}
>
{{t "components.layout.sidebar.complementary-certifications"}}
</PixNavigationButton>
{{#if this.accessControl.hasAccessToTargetProfilesActionsScope}}
<PixNavigationButton class="sidebar__link" @route="authenticated.target-profiles" @icon="assignment">
{{t "components.layout.sidebar.target-profiles"}}
</PixNavigationButton>
{{/if}}
{{#if
(or
this.currentUser.adminMember.isSuperAdmin
this.currentUser.adminMember.isMetier
this.currentUser.adminMember.isSupport
)
}}
<PixNavigationButton class="sidebar__link" @route="authenticated.autonomous-courses" @icon="signpost">
{{t "components.layout.sidebar.autonomous-courses"}}
</PixNavigationButton>
{{/if}}
{{#if this.currentUser.adminMember.isSuperAdmin}}
<PixNavigationButton class="sidebar__link" @route="authenticated.team" @icon="users">
{{t "components.layout.sidebar.team"}}
</PixNavigationButton>
{{/if}}
{{#if this.accessControl.hasAccessToTrainings}}
<PixNavigationButton class="sidebar__link" @route="authenticated.trainings" @icon="book">
{{t "components.layout.sidebar.trainings"}}
</PixNavigationButton>
{{/if}}
{{#if this.accessControl.hasAccessToTools}}
<PixNavigationButton class="sidebar__link" @route="authenticated.tools" @icon="tools">
{{t "components.layout.sidebar.tools"}}
</PixNavigationButton>
{{/if}}
{{#if this.currentUser.adminMember.isSuperAdmin}}
<PixNavigationButton class="sidebar__link" @route="authenticated.administration" @icon="shieldPerson">
{{t "components.layout.sidebar.administration"}}
</PixNavigationButton>
{{/if}}
</:navElements>
<:footer>
<p class="sidebar-footer__full-name">{{this.userFullName}}</p>
<PixButtonLink @variant="tertiary" @route="logout">{{t "components.layout.sidebar.logout"}}</PixButtonLink>
</:footer>
</PixNavigation>
</template>
}