This commit is contained in:
leejinho 2020-01-03 10:29:49 +09:00
commit 404d6c0dfe
4 changed files with 489 additions and 313 deletions

View File

@ -4,186 +4,274 @@
</div> </div>
<div class="app-layout-native-title-bar-title">DS Talk</div> <div class="app-layout-native-title-bar-title">DS Talk</div>
<div class="app-layout-native-title-bar-spacer"></div> <div class="app-layout-native-title-bar-spacer"></div>
<div *ngIf="!!loginRes" class="app-layout-native-title-bar-link"> <div class="btn-area">
<button <div *ngIf="!!loginRes" class="app-layout-native-title-bar-link">
mat-icon-button <!--s[추가된 전체 웹링크] weblink-->
*ngFor="let link of weblink" <button
class="button app-layout-native-title-bar-logout" mat-icon-button
[matTooltip]="link.title" *ngFor="let link of weblink"
(click)="onClickWebLink(link)" class="button"
> [matTooltip]="link.title"
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"> matTooltip="웹하드"
<path (click)="onClickWebLink(link)"
d="M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z"
/>
</svg>
</button>
<span class="stroke-bar"></span>
<button
mat-icon-button
*ngFor="let link of weblinkBadgeTypes"
class="button app-layout-native-title-bar-logout"
[matBadgeHidden]="getHideWebLinkbadge(link)"
[matBadge]="getWebLinkBadgeCount(link)"
matBadgeDescription="확인하지 않은 메시지가 있습니다."
matBadgeColor="accent"
matBadgePosition="above after"
[matTooltip]="link.title"
(click)="onClickWebLink(link)"
>
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor">
<path
d="M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z"
/>
</svg>
</button>
<span class="stroke-bar"></span>
<button
*ngIf="updateInfo$ | async as updateInfo"
mat-icon-button
class="button app-layout-native-title-bar-setting"
matTooltip="업데이트"
(click)="onClickUpdate()"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="butt"
stroke-linejoin="round"
alt="업데이트"
> >
<circle cx="12" cy="12" r="3"></circle> <span class="weblink webhard">웹하드</span>
<path </button>
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" <button
></path> mat-icon-button
</svg> *ngFor="let link of weblink"
</button> class="button"
[matTooltip]="link.title"
matTooltip="DSP"
(click)="onClickWebLink(link)"
>
<span class="weblink dsp">DSP</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="SMS"
(click)="onClickWebLink(link)"
>
<span class="weblink sms">SMS</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="화상회의"
(click)="onClickWebLink(link)"
>
<span class="weblink vc">화상회의</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="EP"
(click)="onClickWebLink(link)"
>
<span class="weblink ep">EP</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="S&OM"
(click)="onClickWebLink(link)"
>
<span class="weblink S_OM">S&OM</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="코끼리"
(click)="onClickWebLink(link)"
>
<span class="weblink elephant">코끼리</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="IT서비스"
(click)="onClickWebLink(link)"
>
<span class="weblink it-service">IT</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="개인속보"
(click)="onClickWebLink(link)"
>
<span class="weblink Personal-news">NEWS</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="메일"
(click)="onClickWebLink(link)"
>
<span class="weblink mail">메일</span>
</button>
<button
mat-icon-button
*ngFor="let link of weblink"
class="button"
[matTooltip]="link.title"
matTooltip="결제"
(click)="onClickWebLink(link)"
>
<span class="weblink approved">결제</span>
</button>
<!--E[추가된 전체 웹링크] weblink-->
<button
mat-icon-button
*ngFor="let link of weblink"
class="button app-layout-native-title-bar-logout"
[matTooltip]="link.title"
(click)="onClickWebLink(link)"
>
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor">
<path
d="M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z"
/>
</svg>
</button>
<button <button
mat-icon-button mat-icon-button
class="button app-layout-native-title-bar-setting" *ngFor="let link of weblinkBadgeTypes"
matTooltip="공지사항" class="button app-layout-native-title-bar-logout"
(click)="onClickNotice()" [matBadgeHidden]="getHideWebLinkbadge(link)"
> [matBadge]="getWebLinkBadgeCount(link)"
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"> matBadgeDescription="확인하지 않은 메시지가 있습니다."
<path matBadgeColor="accent"
d="M22.13,8.91h-1.94V1.56c0-0.31-0.18-0.58-0.47-0.7c-0.28-0.12-0.61-0.05-0.82,0.16c-3.35,3.35-6.25,4.95-8.09,5.7 matBadgePosition="above after"
[matTooltip]="link.title"
(click)="onClickWebLink(link)"
>
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor">
<path
d="M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z"
/>
<path
d="M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z"
/>
</svg>
</button>
<button
*ngIf="updateInfo$ | async as updateInfo"
mat-icon-button
class="button app-layout-native-title-bar-setting"
matTooltip="업데이트"
(click)="onClickUpdate()"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="butt"
stroke-linejoin="round"
alt="업데이트"
>
<circle cx="12" cy="12" r="3"></circle>
<path
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"
></path>
</svg>
</button>
<span class="stroke-bar"></span>
<!--S[삭제예정] 마이프로필 설정을 이동
<button
mat-icon-button
class="button app-layout-native-title-bar-setting"
matTooltip="공지사항"
(click)="onClickNotice()"
>
<svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor">
<path
d="M22.13,8.91h-1.94V1.56c0-0.31-0.18-0.58-0.47-0.7c-0.28-0.12-0.61-0.05-0.82,0.16c-3.35,3.35-6.25,4.95-8.09,5.7
C8.82,7.54,7.61,7.56,7.6,7.56H1.87c-0.42,0-0.76,0.34-0.76,0.76v6.76c0,0.42,0.34,0.76,0.76,0.76h0.77l2.86,6.9 C8.82,7.54,7.61,7.56,7.6,7.56H1.87c-0.42,0-0.76,0.34-0.76,0.76v6.76c0,0.42,0.34,0.76,0.76,0.76h0.77l2.86,6.9
c0.12,0.28,0.39,0.47,0.7,0.47h4.19c0,0,0,0,0,0c0.42,0,0.76-0.34,0.76-0.76c0-0.12-0.03-0.23-0.08-0.33l-2.55-6.16 c0.12,0.28,0.39,0.47,0.7,0.47h4.19c0,0,0,0,0,0c0.42,0,0.76-0.34,0.76-0.76c0-0.12-0.03-0.23-0.08-0.33l-2.55-6.16
c1.69,0.33,5.57,1.6,10.38,6.42c0.14,0.14,0.34,0.22,0.53,0.22c0,0,0.01,0,0.01,0c0.41-0.01,0.74-0.34,0.74-0.76 c1.69,0.33,5.57,1.6,10.38,6.42c0.14,0.14,0.34,0.22,0.53,0.22c0,0,0.01,0,0.01,0c0.41-0.01,0.74-0.34,0.74-0.76
c0-0.02,0-0.03,0-0.05l0-7.31h1.94c0.42,0,0.76-0.34,0.76-0.76V9.67C22.88,9.25,22.54,8.91,22.13,8.91z M2.63,9.07h4.22v5.25H2.63 c0-0.02,0-0.03,0-0.05l0-7.31h1.94c0.42,0,0.76-0.34,0.76-0.76V9.67C22.88,9.25,22.54,8.91,22.13,8.91z M2.63,9.07h4.22v5.25H2.63
V9.07z M6.7,21.68l-2.35-5.67h2.55l2.35,5.67H6.7z M8.36,14.39V9c1.57-0.24,5.45-1.26,10.31-5.68v6.34v0v4.05c0,0,0,0,0,0l0,6.34 V9.07z M6.7,21.68l-2.35-5.67h2.55l2.35,5.67H6.7z M8.36,14.39V9c1.57-0.24,5.45-1.26,10.31-5.68v6.34v0v4.05c0,0,0,0,0,0l0,6.34
C13.81,15.65,9.93,14.63,8.36,14.39z M21.37,12.97h-1.19v-2.54h1.19V12.97z" C13.81,15.65,9.93,14.63,8.36,14.39z M21.37,12.97h-1.19v-2.54h1.19V12.97z"
/> />
</svg> </svg>
</button> </button>
<button <button
mat-icon-button mat-icon-button
class="button app-layout-native-title-bar-setting" class="button app-layout-native-title-bar-setting"
matTooltip="환경설정" matTooltip="환경설정"
(click)="onClickSettings()" (click)="onClickSettings()"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="butt"
stroke-linejoin="round"
alt="환경설정"
> >
<circle cx="12" cy="12" r="3"></circle> <svg
<path xmlns="http://www.w3.org/2000/svg"
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" width="18"
></path> height="18"
</svg> viewBox="0 0 24 24"
</button> fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="butt"
stroke-linejoin="round"
matTooltip="환경설정"
>
<circle cx="12" cy="12" r="3"></circle>
<path
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"
></path>
</svg>
</button>
<button <button
mat-icon-button mat-icon-button
class="button app-layout-native-title-bar-logout" class="button app-layout-native-title-bar-logout"
matTooltip="로그아웃" matTooltip="로그아웃"
(click)="onClickLogout()" (click)="onClickLogout()"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="butt"
stroke-linejoin="round"
alt="로그아웃"
class="stroke-warn-color"
> >
<path <svg
d="M10 3H6a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h4M16 17l5-5-5-5M19.8 12H9" xmlns="http://www.w3.org/2000/svg"
/> width="18"
</svg> height="18"
</button> viewBox="0 0 24 24"
fill="none"
<ucap-profile-my-profile-widget stroke="currentColor"
[profileImageRoot]="sessionVerinfo.profileRoot" stroke-width="1.5"
[profileImageFile]="getMyProfileImageWidget()" stroke-linecap="butt"
(openProfile)="onClickOpenProfile()" stroke-linejoin="round"
class="myprofile" matTooltip="로그아웃"
></ucap-profile-my-profile-widget> class="stroke-warn-color"
<span class="stroke-bar"></span> >
</div> <path
<div class="app-layout-native-title-bar-actions"> d="M10 3H6a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h4M16 17l5-5-5-5M19.8 12H9"
<button />
mat-icon-button </svg>
class="button app-layout-native-title-bar-minimize" </button>
(click)="onClickMinimize()" E[삭제예정] 마이프로필 설정을 이동-->
> <ucap-profile-my-profile-widget
<!--<mat-icon>minimize</mat-icon>--> [profileImageRoot]="sessionVerinfo.profileRoot"
<svg [profileImageFile]="getMyProfileImageWidget()"
xmlns="http://www.w3.org/2000/svg" (openProfile)="onClickOpenProfile()"
width="20" class="myprofile"
height="20" ></ucap-profile-my-profile-widget>
viewBox="0 0 24 24" </div>
fill="none" <div class="app-layout-native-title-bar-actions">
stroke="currentColor" <button
stroke-width="2" mat-icon-button
stroke-linecap="butt" class="button app-layout-native-title-bar-minimize"
stroke-linejoin="round" (click)="onClickMinimize()"
alt="창 최소화"
> >
<line x1="5" y1="18" x2="19" y2="18"></line> <!--<mat-icon>minimize</mat-icon>-->
</svg>
</button>
<button
mat-icon-button
class="button app-layout-native-title-bar-maximize"
(click)="onClickMaxmize()"
>
<ng-container [ngSwitch]="windowStateChanged$ | async">
<!--<mat-icon *ngSwitchCase="WindowState.Maximized">filter_none</mat-icon>-->
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="20" width="20"
@ -194,20 +282,65 @@
stroke-width="2" stroke-width="2"
stroke-linecap="butt" stroke-linecap="butt"
stroke-linejoin="round" stroke-linejoin="round"
*ngSwitchCase="WindowState.Maximized" alt="창 최소화"
alt="창 이전크기"
> >
<path <line x1="5" y1="18" x2="19" y2="18"></line>
class="st0"
d="M15,9.5v7c0,0.8-0.7,1.5-1.5,1.5h-7C5.7,18,5,17.3,5,16.5v-7C5,8.7,5.7,8,6.5,8h7C14.3,8,15,8.7,15,9.5z"
/>
<path
class="st0"
d="M8.8,6.8V6c0-0.8,0.7-1.5,1.5-1.5H17c0.8,0,1.5,0.7,1.5,1.5v6.8c0,0.8-0.7,1.5-1.5,1.5h-0.8"
/>
</svg> </svg>
</button>
<button
mat-icon-button
class="button app-layout-native-title-bar-maximize"
(click)="onClickMaxmize()"
>
<ng-container [ngSwitch]="windowStateChanged$ | async">
<!--<mat-icon *ngSwitchCase="WindowState.Maximized">filter_none</mat-icon>-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="round"
*ngSwitchCase="WindowState.Maximized"
alt="창 이전크기"
>
<path
class="st0"
d="M15,9.5v7c0,0.8-0.7,1.5-1.5,1.5h-7C5.7,18,5,17.3,5,16.5v-7C5,8.7,5.7,8,6.5,8h7C14.3,8,15,8.7,15,9.5z"
/>
<path
class="st0"
d="M8.8,6.8V6c0-0.8,0.7-1.5,1.5-1.5H17c0.8,0,1.5,0.7,1.5,1.5v6.8c0,0.8-0.7,1.5-1.5,1.5h-0.8"
/>
</svg>
<!--<mat-icon *ngSwitchDefault>crop_din</mat-icon>--> <!--<mat-icon *ngSwitchDefault>crop_din</mat-icon>-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="round"
*ngSwitchDefault
alt="창크기 최대"
>
<rect x="5" y="5" width="12" height="12" rx="2" ry="2"></rect>
</svg>
</ng-container>
</button>
<button
mat-icon-button
class="button app-layout-native-title-bar-close"
(click)="onClickClose()"
>
<!--<mat-icon>close</mat-icon>-->
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="20" width="20"
@ -218,34 +351,12 @@
stroke-width="2" stroke-width="2"
stroke-linecap="butt" stroke-linecap="butt"
stroke-linejoin="round" stroke-linejoin="round"
*ngSwitchDefault alt="창닫기"
alt="창크기 최대"
> >
<rect x="5" y="5" width="12" height="12" rx="2" ry="2"></rect> <line x1="18" y1="6" x2="6" y2="18"></line>
<line x1="6" y1="6" x2="18" y2="18"></line>
</svg> </svg>
</ng-container> </button>
</button> </div>
<button
mat-icon-button
class="button app-layout-native-title-bar-close"
(click)="onClickClose()"
>
<!--<mat-icon>close</mat-icon>-->
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="round"
alt="창닫기"
>
<line x1="18" y1="6" x2="6" y2="18"></line>
<line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</button>
</div> </div>
</mat-toolbar> </mat-toolbar>

View File

@ -27,108 +27,162 @@
.app-layout-native-title-bar-spacer { .app-layout-native-title-bar-spacer {
flex: 1 1 auto; flex: 1 1 auto;
} }
.btn-area {
.app-layout-native-title-bar-link { display: flex;
align-items: center; margin-left: auto;
position: relative; flex-flow: row;
justify-items: center;
.stroke-bar { .app-layout-native-title-bar-link {
width: 1px; align-items: center;
height: 20px; position: relative;
background-color: rgba(256, 256, 256, 0.3); display: flex;
margin: 0 10px 0 20px; .stroke-bar {
display: inline-flex; width: 1px;
} height: 20px;
.button { background-color: rgba(256, 256, 256, 0.3);
-webkit-app-region: no-drag; margin: 0 10px 0 20px;
outline: 0; display: inline-flex;
cursor: pointer; }
border: none; .button {
height: 28px; -webkit-app-region: no-drag;
min-width: 28px; outline: 0;
max-width: 28px; cursor: pointer;
padding: 5px; border: none;
line-height: 10px; height: 30px;
border-radius: 0; min-width: 30px;
background: transparent; max-width: 30px;
transition: background 0.2s linear, color 0.2s linear; padding: 3px;
text-align: center; line-height: 10px;
font-size: 10px; background-color: #ffffff;
vertical-align: middle;
margin-left: 10px;
transform: translateY(-2px);
&.app-layout-native-title-bar-logout,
&.app-layout-native-title-bar-setting {
background-color: #efefef;
border-radius: 50%; border-radius: 50%;
} transition: background 0.2s linear, color 0.2s linear;
&:hover { text-align: center;
opacity: 0.7; font-size: 10px;
vertical-align: middle;
margin-left: 14px;
.weblink {
display: inline-flex;
line-height: 24px;
font-size: 12px;
font-weight: bold;
text-align: center;
width: 24px;
height: 24px;
background-repeat: no-repeat;
background-position: 50% 50%;
text-indent: -1000000px;
justify-content: center;
&.dsp {
text-indent: 0;
}
&.sms {
text-indent: 0;
letter-spacing: -1px;
}
&.ep,
&.it-service {
text-indent: 0;
font-size: 13px;
}
&.S_OM,
&.Personal-news {
text-indent: 0;
font-size: 11px;
letter-spacing: -1px;
}
}
&.app-layout-native-title-bar-logout,
&.app-layout-native-title-bar-setting {
background-color: #efefef;
border-radius: 50%;
}
&:hover {
opacity: 0.7;
}
} }
} }
}
.app-layout-native-title-bar-actions { .app-layout-native-title-bar-actions {
align-items: center; align-items: center;
position: relative; position: relative;
.button {
.button { -webkit-app-region: no-drag;
-webkit-app-region: no-drag; outline: 0;
outline: 0; cursor: pointer;
cursor: pointer; border: none;
border: none; height: 30px;
height: 30px; min-width: 30px;
min-width: 30px; max-width: 30px;
max-width: 30px; padding: 5px;
padding: 5px; line-height: 10px;
line-height: 10px; border-radius: 0;
border-radius: 0; background: transparent;
background: transparent; transition: background 0.2s linear, color 0.2s linear;
transition: background 0.2s linear, color 0.2s linear; text-align: center;
text-align: center; font-size: 10px;
font-size: 10px; vertical-align: middle;
vertical-align: middle; margin-left: 6px;
margin-left: 6px; transform: translateY(-2px);
transform: translateY(-2px); .mat-icon {
.mat-icon { //transform: translateY(-2px);
//transform: translateY(-2px); width: 16px;
width: 16px; height: 16px;
height: 16px; min-height: 16px;
min-height: 16px; min-width: 16px;
min-width: 16px; font-size: 16px;
font-size: 16px;
}
&.app-layout-native-title-bar-close,
&.app-layout-native-title-bar-maximize,
&.app-layout-native-title-bar-minimize {
color: darken(white, 20%);
font-weight: lighter;
}
// &.app-layout-native-title-bar-minimize .mat-icon {
// transform: translateY(-43%);
// }
&:hover {
border-radius: 4px;
&.app-layout-native-title-bar-close {
background: darken(#000000, 10%);
color: darken(white, 0);
} }
&.app-layout-native-title-bar-close,
&.app-layout-native-title-bar-maximize,
&.app-layout-native-title-bar-minimize { &.app-layout-native-title-bar-minimize {
background: darken(#000000, 10%); color: darken(white, 20%);
color: darken(white, 0); font-weight: lighter;
} }
&.app-layout-native-title-bar-maximize { // &.app-layout-native-title-bar-minimize .mat-icon {
background: darken(#000000, 10%); // transform: translateY(-43%);
color: darken(white, 0); // }
&:hover {
border-radius: 4px;
&.app-layout-native-title-bar-close {
background: darken(#000000, 10%);
color: darken(white, 0);
}
&.app-layout-native-title-bar-minimize {
background: darken(#000000, 10%);
color: darken(white, 0);
}
&.app-layout-native-title-bar-maximize {
background: darken(#000000, 10%);
color: darken(white, 0);
}
} }
} }
} }
} }
} }
} }
@mixin weblink($color) {
$color: rgba($color, 0.999);
.webhard {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='#{$color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M4.5,4.3L1.7,10v5c0,0.9,0.7,1.7,1.7,1.7h13.3c0.9,0,1.7-0.7,1.7-1.7v-5l-2.9-5.7c-0.3-0.6-0.9-0.9-1.5-0.9H6 C5.4,3.3,4.8,3.7,4.5,4.3z'/%3E%3Cline class='st0' x1='5' y1='13.3' x2='5' y2='13.3'/%3E%3Cline class='st0' x1='8.3' y1='13.3' x2='8.3' y2='13.3'/%3E%3C/svg%3E");
}
.vc {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='#{$color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-video'%3E%3Cpolygon points='23 7 16 12 23 17 23 7'%3E%3C/polygon%3E%3Crect x='1' y='5' width='15' height='14' rx='2' ry='2'%3E%3C/rect%3E%3C/svg%3E");
}
.elephant {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='#{$color}' stroke='none' xml:space='preserve'%3E%3Cpath d='M19.1,5c-1,0-2,0.4-2.7,1.1c-1.2-1-2.9-1.5-4.7-1.5c-1.7,0-3.3,0.5-4.5,1.4C6.6,5.3,5.7,5,4.8,5C2.6,5,0.9,6.7,0.9,8.8 c0,1.1,1.1,4.6,2.7,5.7c0.3,0.2,0.7,0.3,1.1,0.3c0.2,0,0.4,0,0.6-0.1c0.5-0.2,0.9-0.4,1.3-0.6c0.6,0.6,1.3,1,2.1,1.4l0.8,1.2 c0.3,0.5,0.5,1.1,0.6,1.7H9.2c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2h0.4c2.5,0,4.6-1.7,5.2-4.1l0.4-1.4c0.7-0.4,1.4-0.8,1.9-1.3 c0.4,0.3,0.9,0.5,1.5,0.8c0.2,0.1,0.4,0.1,0.6,0.1c0.4,0,0.7-0.1,1.1-0.3c1.6-1.1,2.7-4.6,2.7-5.7C22.9,6.7,21.2,5,19.1,5z M5,14.1 c-0.3,0.1-0.7,0.1-1-0.2C2.7,13,1.7,9.8,1.7,8.8c0-1.7,1.4-3.1,3.1-3.1c0.7,0,1.4,0.3,2,0.7C6.4,6.8,6.1,7.1,5.8,7.5 C5.5,7.3,5.1,7.2,4.8,7.2c-1.2,0-2.1,1-2.1,2.1c0,0.6,0.6,2.5,1.5,3.1c0.2,0.1,0.4,0.2,0.6,0.2c0.1,0,0.3,0,0.4-0.1 c0.1,0,0.2-0.1,0.3-0.1c0.2,0.4,0.4,0.8,0.7,1.1C5.8,13.8,5.4,13.9,5,14.1z M5.1,11.8c-0.1,0-0.2,0.1-0.3,0.1 c-0.1,0-0.2,0.1-0.4-0.1c-0.6-0.4-1.2-2-1.2-2.5c0-0.8,0.6-1.4,1.4-1.4C5,7.9,5.2,8,5.4,8.1c-0.3,0.7-0.5,1.4-0.5,2.2 C4.9,10.8,5,11.3,5.1,11.8z M14.7,14.8c-0.1,0-0.2,0.1-0.2,0.2l-0.4,1.6c-0.5,2.1-2.4,3.5-4.5,3.5H9.2c-0.3,0-0.5-0.2-0.5-0.5 c0-0.3,0.2-0.5,0.5-0.5h1.1c0.3,0,0.5-0.2,0.5-0.5c0-0.8-0.2-1.6-0.7-2.3L9.3,15c0-0.1-0.1-0.1-0.2-0.1c-0.8-0.3-1.5-0.8-2.1-1.3 c0,0,0-0.1-0.1-0.1c0,0-0.1-0.1-0.1-0.1c-0.4-0.4-0.7-0.9-0.9-1.4c0,0,0-0.1,0-0.1c-0.2-0.5-0.3-1-0.3-1.5c0-2.8,2.7-5,6.1-5 s6.1,2.3,6.1,5C17.9,12.2,16.7,13.9,14.7,14.8z M18.2,8.3c0.3-0.2,0.6-0.4,0.9-0.4c0.8,0,1.4,0.6,1.4,1.4c0,0.5-0.5,2.1-1.2,2.5 C19.2,12,19.1,12,19,11.9c-0.2-0.1-0.4-0.2-0.6-0.3c0.1-0.4,0.2-0.9,0.2-1.3C18.6,9.6,18.5,8.9,18.2,8.3z M19.8,13.9 c-0.3,0.2-0.7,0.3-1,0.2c-0.5-0.2-0.9-0.4-1.3-0.7c0.3-0.3,0.5-0.7,0.7-1.1c0.2,0.1,0.4,0.2,0.6,0.3c0.1,0.1,0.3,0.1,0.4,0.1 c0.2,0,0.4-0.1,0.6-0.2c0.9-0.6,1.5-2.5,1.5-3.1c0-1.2-1-2.1-2.1-2.1c-0.5,0-0.9,0.2-1.3,0.4c-0.2-0.4-0.5-0.7-0.9-1.1 c0.6-0.6,1.3-0.9,2.1-0.9c1.7,0,3.1,1.4,3.1,3.1C22.2,9.8,21.1,13,19.8,13.9z'/%3E%3Cpath d='M11.5,16.5h1c0.3,0,0.5-0.2,0.5-0.5s-0.2-0.5-0.5-0.5h-1c-0.3,0-0.5,0.2-0.5,0.5S11.2,16.5,11.5,16.5z'/%3E%3Cpath d='M13,17.6H11c-0.3,0-0.5,0.2-0.5,0.5s0.2,0.5,0.5,0.5H13c0.3,0,0.5-0.2,0.5-0.5S13.3,17.6,13,17.6z'/%3E%3Cpath d='M17,12.4c0,0.5-0.4,0.8-0.8,0.8c-0.5,0-0.8-0.4-0.8-0.8s0.4-0.8,0.8-0.8C16.7,11.6,17,12,17,12.4z'/%3E%3Cpath d='M8.5,12.4c0,0.5-0.4,0.8-0.8,0.8c-0.5,0-0.8-0.4-0.8-0.8s0.4-0.8,0.8-0.8C8.1,11.6,8.5,12,8.5,12.4z'/%3E%3C/svg%3E");
}
.mail {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='#{$color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
}
.approved {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='#{$color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z'%3E%3C/path%3E%3Cline x1='16' y1='8' x2='2' y2='22'%3E%3C/line%3E%3Cline x1='17.5' y1='15' x2='9' y2='15'%3E%3C/line%3E%3C/svg%3E");
}
}
@include weblink(#425888);

View File

@ -10,18 +10,20 @@
</span> </span>
<div class="btn-setting"> <div class="btn-setting">
<span class="presence pcOff"></span> <span class="presence pcOff"></span>
<svg <button>
xmlns="http://www.w3.org/2000/svg" <svg
width="18" xmlns="http://www.w3.org/2000/svg"
height="18" width="18"
viewBox="0 0 24 24" height="18"
fill="none" viewBox="0 0 24 24"
stroke="currentColor" fill="none"
stroke-width="1.5" stroke="currentColor"
stroke-linecap="butt" stroke-width="1.5"
stroke-linejoin="round" stroke-linecap="butt"
> stroke-linejoin="round"
<path d="M6 9l6 6 6-6" /> >
</svg> <path d="M6 9l6 6 6-6" />
</svg>
</button>
</div> </div>
</div> </div>

View File

@ -3,7 +3,6 @@
flex-flow: row; flex-flow: row;
width: 60px; width: 60px;
height: 30px; height: 30px;
bottom: 10px;
color: #ffffff; color: #ffffff;
font-size: 11px; font-size: 11px;
justify-items: flex-end; justify-items: flex-end;
@ -28,6 +27,7 @@
} }
.btn-setting { .btn-setting {
position: absolute; position: absolute;
height: 100%;
bottom: 0; bottom: 0;
display: inline-flex; display: inline-flex;
justify-items: flex-end; justify-items: flex-end;
@ -36,13 +36,22 @@
display: inline-block; display: inline-block;
bottom: 0; bottom: 0;
width: 10px; width: 10px;
height: 11px; height: 10px;
border: 1px solid #ffffff; border: 1px solid #ffffff;
align-self: flex-end; align-self: flex-end;
} }
svg { button {
&.on { cursor: pointer;
transform: rotate(180deg); width: 20px;
height: 100%;
align-items: center;
background: none;
border: none;
svg {
stroke: #ffffff;
&.on {
transform: rotate(180deg);
}
} }
} }
} }