feat(challenge6): improve readme

This commit is contained in:
thomas
2022-11-22 14:07:50 +01:00
parent a46b9eb1a9
commit b8aae9b8f8
4 changed files with 24 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ In LoginComponent, you will find 6 buttons corresponding at 6 differents users.
- Writer
- Reader and Writer
- Client
- Everyone
### Step 1
@@ -31,12 +32,20 @@ In **InformationComponent**, display the correct piece of information for each r
You should end up with something like below:
```html
<div *hasRole="Manager">Info for Manager</div>
<div *hasRole="Role1">Info for Role1</div>
```
```html
<div *hasRole="['Role1', 'Role2']">Info for Role1 and Role2</div>
```
```html
<div *hasRoleSuperAdmin="true">Info Only for superadmin</div>
```
### Step 2
In **Routes.ts**, route all user to the correct DashboardComponent using CanMatch guard.
In **Routes.ts**, route all user to the correct **DashboardComponent** using **CanMatch** guard.
### Submitting your work

View File

@@ -9,10 +9,12 @@ import { UserStore } from './user.store';
template: `
<h2 class="mt-10 text-xl">Information Panel</h2>
<!-- admin can see everything -->
<div>visible only for super admin</div>
<div>visible if manager</div>
<div>visible if manager and/or reader</div>
<div>visible if manager and/or writer</div>
<div>visible if client</div>
<div>visible for everyone</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})

View File

@@ -5,6 +5,7 @@ import { InformationComponent } from './information.component';
import {
admin,
client,
everyone,
manager,
reader,
readerAndWriter,
@@ -25,6 +26,7 @@ import { UserStore } from './user.store';
<button app-button (click)="writer()">Writer</button>
<button app-button (click)="readerWriter()">Reader and Writer</button>
<button app-button (click)="client()">Client</button>
<button app-button (click)="everyone()">Client</button>
</header>
<app-information></app-information>
@@ -55,4 +57,7 @@ export class LoginComponent {
client() {
this.userStore.add(client);
}
everyone() {
this.userStore.add(everyone);
}
}

View File

@@ -41,3 +41,9 @@ export const client: User = {
isAdmin: false,
roles: ['CLIENT'],
};
export const everyone: User = {
name: 'client',
isAdmin: false,
roles: [],
};