Skip to content

Commit d159764

Browse files
committed
fix: update WSS nav bar icons and improve layout styles
1 parent b39fd47 commit d159764

File tree

2 files changed

+50
-99
lines changed

2 files changed

+50
-99
lines changed

src/app/_samples/mediaco/components/wss-nav-bar/wss-nav-bar.component.html

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,13 @@
44
<!-- Toggle Button -->
55
<div class="nav-menu-container toggle-header" (click)="toggleMenu()">
66
<button type="button" mat-icon-button [disableRipple]="true">
7-
<mat-icon>{{ collapsed ? 'menu' : 'cancel' }}</mat-icon>
7+
<mat-icon>{{ collapsed ? 'menu' : 'close' }}</mat-icon>
88
</button>
99
</div>
1010

1111
<!-- Home Button -->
1212
<!-- Added 'nav-item-container' class for specific styling -->
13-
<div
14-
class="flex-box nav-item-container toggle-header"
15-
(click)="navPanelButtonClick(homePage)"
16-
[class.selected]="activePage === 'Self-service Main page'"
17-
>
13+
<div class="flex-box nav-item-container" (click)="navPanelButtonClick(homePage)" [class.selected]="activePage === 'Self-service Main page'">
1814
<button type="button" mat-icon-button [disableRipple]="true">
1915
<mat-icon>home</mat-icon>
2016
</button>
@@ -23,18 +19,14 @@
2319
</div>
2420

2521
<!-- Dynamic Pages -->
26-
<div *ngFor="let page of navPages$">
27-
<div
28-
class="flex-box mat-list-item nav-item-container toggle-header"
29-
(click)="navPanelButtonClick(page)"
30-
[class.selected]="activePage === page.pyLabel"
31-
>
22+
<ng-container *ngFor="let page of navPages$">
23+
<div class="flex-box mat-list-item nav-item-container" (click)="navPanelButtonClick(page)" [class.selected]="activePage === page.pyLabel">
3224
<button type="button" mat-icon-button [disableRipple]="true">
3325
<mat-icon>dashboard</mat-icon>
3426
</button>
3527
<div mat-button class="psdk-nav-button-span">{{ page.pyDefaultHeading }}</div>
3628
</div>
37-
</div>
29+
</ng-container>
3830
</mat-nav-list>
3931
</mat-sidenav>
4032
<mat-sidenav-content [class.collapsed-mode]="collapsed" class="page-container">

src/app/_samples/mediaco/components/wss-nav-bar/wss-nav-bar.component.scss

Lines changed: 45 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,25 @@
1111

1212
/* Ensure icons stay centered or aligned nicely when collapsed */
1313
mat-nav-list {
14-
padding-top: 0;
15-
}
16-
17-
.menu-item-text {
18-
margin-left: 10px;
19-
white-space: nowrap; /* Prevents text wrapping during animation */
20-
}
14+
padding-block: 2rem;
15+
padding-inline: 0.75rem;
16+
height: 100%;
17+
box-sizing: border-box;
18+
display: flex;
19+
flex-direction: column;
20+
gap: 0.75rem;
2121

22-
.content-padding {
23-
padding: 20px;
22+
&.collapsed-mode {
23+
padding-inline: 3.5px;
24+
align-items: center;
25+
}
2426
}
2527

2628
.horizontal-list {
2729
display: flex;
28-
flex-direction: row; /* This turns the list sideways */
2930
padding: 0;
30-
overflow-x: auto; /* Adds a scrollbar if items overflow */
31-
/* Control the exact distance between items here */
31+
overflow-x: auto;
3232
gap: 8px;
33-
34-
/* VITAL: Add a little vertical padding so the scaling doesn't hit the top/bottom edge */
35-
//padding: 10px 0;
36-
37-
/* Ensure the list itself doesn't hide the vertical overflow of the icons */
38-
//overflow-y: visible;
3933
}
4034

4135
/* Optional: Adjust item spacing */
@@ -82,106 +76,81 @@ mat-nav-list {
8276
.nav-item-container {
8377
display: flex;
8478
align-items: center;
85-
width: 100%;
86-
padding: 8px 0;
79+
justify-content: flex-start;
8780
transition: all 0.2s ease-in-out;
8881
cursor: pointer;
89-
90-
/*
91-
EXPANDED MODE (Default)
92-
Icon left, Text right
93-
*/
94-
flex-direction: row;
95-
justify-content: flex-start;
96-
text-align: left;
82+
padding: 8px 8px;
9783

9884
.psdk-nav-button-span {
99-
margin-left: 10px; /* Spacing between icon and text */
10085
opacity: 1;
10186
display: block;
102-
padding-left: 1.5rem;
10387
}
10488

10589
::ng-deep .mat-mdc-button-persistent-ripple::before {
10690
background-color: transparent !important;
10791
}
10892

109-
button {
110-
padding-left: 1.5rem;
93+
&:hover,
94+
&.active,
95+
&.focus,
96+
&.selected {
97+
border-radius: 16px;
98+
border-color: #3f51b5; /* Change to your preferred color (e.g., primary) */
99+
background-color: rgba(63, 81, 181, 0.1); /* Optional: slight background tint */
100+
}
101+
102+
&.selected {
103+
color: #6750a4;
104+
mat-icon {
105+
color: #6750a4;
106+
}
111107
}
112108
}
113109

114110
.nav-menu-container {
115111
display: flex;
112+
justify-content: center;
116113
align-items: center;
117-
padding: 8px 0;
118-
transition: all 0.2s ease-in-out;
119-
flex-direction: row;
120-
justify-content: flex-start;
121-
text-align: left;
122-
114+
width: 56px;
115+
height: 56px;
123116
border-radius: 16px;
124117
border-color: #3f51b5; /* Change to your preferred color (e.g., primary) */
125118
background-color: rgba(63, 81, 181, 0.1);
126119

127-
width: 5rem;
128-
129-
::ng-deep .mat-mdc-button-persistent-ripple::before {
130-
background-color: transparent !important;
131-
}
132-
133120
button {
134-
padding-left: 1.5rem;
121+
display: flex;
122+
align-items: center;
123+
justify-content: center;
135124
}
136125

137-
.psdk-nav-button-span {
138-
padding-left: 1.5rem;
126+
::ng-deep .mat-mdc-button-persistent-ripple::before {
127+
background-color: transparent !important;
139128
}
140129
}
141130

142131
.collapsed-mode .nav-menu-container {
143-
flex-direction: column;
144-
justify-content: center;
145-
align-items: center;
146-
text-align: center;
147-
148-
border-radius: 16px;
149-
border-color: #3f51b5; /* Change to your preferred color (e.g., primary) */
150-
background-color: rgba(63, 81, 181, 0.1); /* Optional: slight background tint */
151-
152-
button {
153-
padding-left: revert;
154-
}
155-
.psdk-nav-button-span {
156-
padding-left: revert;
157-
}
132+
margin-inline: 0.75rem;
158133
}
159134

160-
/*
161-
COLLAPSED MODE
162-
Icon top, Text bottom, Centered
163-
*/
135+
/* COLLAPSED MODE */
164136
.collapsed-mode .nav-item-container {
165137
flex-direction: column; /* Stacks items vertically */
166138
justify-content: center;
167139
align-items: center;
168140
text-align: center;
169-
// height: 5rem;
141+
width: 100%;
142+
padding: 8px 0px;
170143

171144
/* Adjust text for small space */
172145
.psdk-nav-button-span {
173146
margin-left: 0;
174147
margin-top: 4px; /* Spacing between icon and text */
175-
font-size: 0.85rem; /* Smaller text to fit 5rem width */
148+
font-size: 12px; /* Smaller text to fit 5rem width */
176149
line-height: 1.2;
177150
white-space: normal; /* Allow wrapping if needed */
178151
max-width: 100%;
179152
padding-left: revert;
180153
}
181-
182-
button {
183-
padding-left: revert;
184-
}
185154
}
186155

187156
::ng-deep .mat-sidenav-content {
@@ -192,20 +161,6 @@ mat-nav-list {
192161
margin-left: 5.313rem !important;
193162
}
194163

195-
/* Optional: Add spacing below the toggle button if needed */
196-
.toggle-header {
197-
margin-bottom: 10px;
198-
}
199-
200-
.nav-item-container:hover,
201-
.nav-item-container:active,
202-
.nav-item-container:focus,
203-
.nav-item-container.selected {
204-
border-radius: 16px;
205-
border-color: #3f51b5; /* Change to your preferred color (e.g., primary) */
206-
background-color: rgba(63, 81, 181, 0.1); /* Optional: slight background tint */
207-
}
208-
209164
.mat-drawer-container,
210165
.mat-drawer {
211166
background-color: #fef7ff !important;
@@ -227,6 +182,10 @@ mat-nav-list {
227182
display: flex;
228183
flex-direction: column;
229184
min-height: 100vh;
185+
186+
.mat-toolbar-multiple-rows {
187+
padding-top: 5px;
188+
}
230189
}
231190

232191
/*

0 commit comments

Comments
 (0)