@chat21/chat21-ionic 3.0.5-9.2 → 3.0.6-2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +202 -0
- package/LICENSE +661 -21
- package/README.md +13 -1
- package/angular.json +4 -0
- package/config.xml +4 -5
- package/deploy_pre.sh +44 -5
- package/deploy_prod.sh +36 -7
- package/env.sample +4 -2
- package/package.json +12 -8
- package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash.png +0 -0
- package/src/app/app-routing.module.ts +15 -0
- package/src/app/app.component.html +14 -4
- package/src/app/app.component.scss +18 -1
- package/src/app/app.component.ts +98 -37
- package/src/app/app.module.ts +14 -5
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -25
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +160 -50
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +108 -18
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +21 -36
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +19 -7
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +63 -42
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +141 -21
- package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.ts +13 -10
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +7 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +148 -63
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +101 -39
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +73 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +168 -98
- package/src/app/components/ddp-header/ddp-header.component.html +20 -6
- package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
- package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
- package/src/app/components/image-viewer/image-viewer.component.scss +2 -2
- package/src/app/components/project-item/project-item.component.html +141 -118
- package/src/app/components/project-item/project-item.component.scss +173 -91
- package/src/app/components/project-item/project-item.component.ts +59 -25
- package/src/app/components/sidebar/sidebar.component.html +275 -0
- package/src/app/components/sidebar/sidebar.component.scss +79 -0
- package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
- package/src/app/components/sidebar/sidebar.component.ts +541 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +137 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +389 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +530 -0
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +9 -2
- package/src/app/pages/conversation-detail/conversation-detail.page.html +53 -49
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +1254 -753
- package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
- package/src/app/pages/conversations-list/conversations-list.page.html +24 -11
- package/src/app/pages/conversations-list/conversations-list.page.scss +20 -1
- package/src/app/pages/conversations-list/conversations-list.page.ts +687 -420
- package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
- package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
- package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
- package/src/app/pages/create-requester/create-requester.module.ts +28 -0
- package/src/app/pages/create-requester/create-requester.page.html +67 -0
- package/src/app/pages/create-requester/create-requester.page.scss +30 -0
- package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
- package/src/app/pages/create-requester/create-requester.page.ts +138 -0
- package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
- package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
- package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
- package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
- package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
- package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
- package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
- package/src/app/pages/profile-info/profile-info.page.html +4 -4
- package/src/app/pages/profile-info/profile-info.page.scss +13 -2
- package/src/app/pages/profile-info/profile-info.page.ts +23 -21
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +16 -11
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +157 -63
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +51 -16
- package/src/app/services/app-config.ts +14 -14
- package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
- package/src/app/shared/shared.module.ts +21 -7
- package/src/app/utils/scrollbar-theme.directive.ts +58 -24
- package/src/assets/i18n/de.json +266 -0
- package/src/assets/i18n/en.json +85 -10
- package/src/assets/i18n/es.json +266 -0
- package/src/assets/i18n/fr.json +266 -0
- package/src/assets/i18n/it.json +104 -37
- package/src/assets/i18n/pt.json +266 -0
- package/src/assets/i18n/ru.json +266 -0
- package/src/assets/i18n/sr.json +266 -0
- package/src/assets/i18n/tr.json +266 -0
- package/src/assets/images/default-avatar-x-select.png +0 -0
- package/src/assets/images/language_flag/ar.png +0 -0
- package/src/assets/images/language_flag/bg.png +0 -0
- package/src/assets/images/language_flag/ca.png +0 -0
- package/src/assets/images/language_flag/cs.png +0 -0
- package/src/assets/images/language_flag/da.png +0 -0
- package/src/assets/images/language_flag/de.png +0 -0
- package/src/assets/images/language_flag/el.png +0 -0
- package/src/assets/images/language_flag/en.png +0 -0
- package/src/assets/images/language_flag/es.png +0 -0
- package/src/assets/images/language_flag/fa.png +0 -0
- package/src/assets/images/language_flag/fi.png +0 -0
- package/src/assets/images/language_flag/fr.png +0 -0
- package/src/assets/images/language_flag/he.png +0 -0
- package/src/assets/images/language_flag/hi.png +0 -0
- package/src/assets/images/language_flag/hr.png +0 -0
- package/src/assets/images/language_flag/hu.png +0 -0
- package/src/assets/images/language_flag/id.png +0 -0
- package/src/assets/images/language_flag/it.png +0 -0
- package/src/assets/images/language_flag/ja.png +0 -0
- package/src/assets/images/language_flag/ko.png +0 -0
- package/src/assets/images/language_flag/ml-IN.png +0 -0
- package/src/assets/images/language_flag/ne-NP.png +0 -0
- package/src/assets/images/language_flag/nl.png +0 -0
- package/src/assets/images/language_flag/no.png +0 -0
- package/src/assets/images/language_flag/pl.png +0 -0
- package/src/assets/images/language_flag/pt-BR.png +0 -0
- package/src/assets/images/language_flag/pt.png +0 -0
- package/src/assets/images/language_flag/ro.png +0 -0
- package/src/assets/images/language_flag/ru.png +0 -0
- package/src/assets/images/language_flag/sk.png +0 -0
- package/src/assets/images/language_flag/sl.png +0 -0
- package/src/assets/images/language_flag/sr.png +0 -0
- package/src/assets/images/language_flag/sv-SE.png +0 -0
- package/src/assets/images/language_flag/ta.png +0 -0
- package/src/assets/images/language_flag/th.png +0 -0
- package/src/assets/images/language_flag/tr.png +0 -0
- package/src/assets/images/language_flag/uk.png +0 -0
- package/src/assets/images/language_flag/vi.png +0 -0
- package/src/assets/images/language_flag/zh-CN.png +0 -0
- package/src/assets/images/language_flag/zh-TW.png +0 -0
- package/src/assets/images/no_image_user.png +0 -0
- package/src/assets/images/priority_icons/high.svg +3 -0
- package/src/assets/images/priority_icons/high_v2.svg +14 -0
- package/src/assets/images/priority_icons/low.svg +10 -0
- package/src/assets/images/priority_icons/low_v2.svg +14 -0
- package/src/assets/images/priority_icons/medium.svg +16 -0
- package/src/assets/images/priority_icons/medium_v2.svg +11 -0
- package/src/assets/images/priority_icons/urgent.svg +4 -0
- package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
- package/src/assets/js/chat21client.js +16 -3
- package/src/assets/tiledesk-solo-logo.png +0 -0
- package/src/chat-config-mqtt.json +27 -17
- package/src/chat-config-pre-test.json +5 -1
- package/src/chat-config-pre.json +15 -3
- package/src/chat-config-template.json +6 -2
- package/src/chat-config.json +5 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +61 -45
- package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +23 -0
- package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +1 -1
- package/src/chat21-core/utils/constants.ts +8 -1
- package/src/chat21-core/utils/utils-message.ts +19 -0
- package/src/chat21-core/utils/utils.ts +12 -1
- package/src/global.scss +408 -2
- package/src/index.html +7 -0
- package/publish_pre.sh +0 -33
- package/publish_prod.sh +0 -33
|
@@ -7,140 +7,163 @@
|
|
|
7
7
|
<!-- *ngIf="!showSpinner" -->
|
|
8
8
|
<div class="left-sidebar-project" style="margin-right: -10px;">
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<div class="
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</style>
|
|
26
|
-
<path class="notifications-icons"
|
|
27
|
-
d="M7.847 23.488C9.207 23.488 11.443 23.363 14.467 22.806 13.944 24.228 12.581 25.247 10.98 25.247 9.649 25.247 8.483 24.542 7.825 23.488L7.847 23.488ZM24.923 15.73C25.17 17.002 24.278 18.127 22.27 19.076 21.17 19.595 18.724 20.583 14.684 21.369 11.568 21.974 9.285 22.113 7.848 22.113 7.421 22.113 7.068 22.101 6.79 22.085 4.574 21.958 3.324 21.248 3.077 19.976 2.702 18.049 3.295 17.305 4.278 16.073L4.537 15.748C5.2 14.907 5.459 14.081 5.035 11.902 4.086 7.022 6.284 3.687 11.064 2.753 15.846 1.83 19.134 4.096 20.083 8.977 20.506 11.156 21.056 11.824 21.986 12.355L21.986 12.356 22.348 12.561C23.72 13.335 24.548 13.802 24.923 15.73Z">
|
|
28
|
-
</path>
|
|
29
|
-
</svg> -->
|
|
30
|
-
|
|
31
|
-
<!-- <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="bell"
|
|
32
|
-
class="svg-inline--fa fa-bell fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg"
|
|
33
|
-
viewBox="0 0 448 512" height="auto" width="24px">
|
|
34
|
-
<path fill="currentColor"
|
|
35
|
-
d="M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z">
|
|
36
|
-
</path>
|
|
37
|
-
</svg> -->
|
|
38
|
-
|
|
39
|
-
<svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false"
|
|
40
|
-
class="style-scope yt-icon"
|
|
41
|
-
style="pointer-events: none; width: 37px; height:auto; fill: rgb(107,107,107);margin-left:4px">
|
|
42
|
-
<g class="style-scope yt-icon">
|
|
43
|
-
<path
|
|
44
|
-
d="M10,20h4c0,1.1-0.9,2-2,2S10,21.1,10,20z M20,17.35V19H4v-1.65l2-1.88v-5.15c0-2.92,1.56-5.22,4-5.98V3.96 c0-1.42,1.49-2.5,2.99-1.76C13.64,2.52,14,3.23,14,3.96l0,0.39c2.44,0.75,4,3.06,4,5.98v5.15L20,17.35z M19,17.77l-2-1.88v-5.47 c0-2.47-1.19-4.36-3.13-5.1c-1.26-0.53-2.64-0.5-3.84,0.03C8.15,6.11,7,7.99,7,10.42v5.47l-2,1.88V18h14V17.77z"
|
|
45
|
-
class="style-scope yt-icon"></path>
|
|
46
|
-
</g>
|
|
47
|
-
</svg>
|
|
48
|
-
|
|
49
|
-
</div>
|
|
50
|
-
<div class="unassigned-notifications-badge">
|
|
51
|
-
<!-- || currentUserRequestCount > 0 -->
|
|
52
|
-
<!-- <span *ngIf="unservedRequestCount > 0 "> -->
|
|
53
|
-
<!-- + currentUserRequestCount -->
|
|
54
|
-
<span class="notification-count">{{ unservedRequestCount }}</span>
|
|
55
|
-
<!-- </span> -->
|
|
56
|
-
|
|
57
|
-
</div>
|
|
58
|
-
|
|
10
|
+
<div class="small-projects-sidebar">
|
|
11
|
+
<!-- <div class="pinned-project">Pinned project </div> margin-left:4px -->
|
|
12
|
+
<div *ngIf="project?.id_project?.status !== 0" class="flex-container-project-for-panel project-row">
|
|
13
|
+
<div class="flex-child-left" [tooltip]="conversationsInQueue" [options]="tooltipOptions" placement="top"
|
|
14
|
+
content-type="template" (click)="openUnservedConvs()">
|
|
15
|
+
<div class="unassigned-notifications-icon-wpr">
|
|
16
|
+
<svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false"
|
|
17
|
+
class="style-scope yt-icon"
|
|
18
|
+
style="pointer-events: none; width: 37px; height:auto; fill: rgb(107,107,107);margin-top: 9px;">
|
|
19
|
+
<g class="style-scope yt-icon">
|
|
20
|
+
<path
|
|
21
|
+
d="M10,20h4c0,1.1-0.9,2-2,2S10,21.1,10,20z M20,17.35V19H4v-1.65l2-1.88v-5.15c0-2.92,1.56-5.22,4-5.98V3.96 c0-1.42,1.49-2.5,2.99-1.76C13.64,2.52,14,3.23,14,3.96l0,0.39c2.44,0.75,4,3.06,4,5.98v5.15L20,17.35z M19,17.77l-2-1.88v-5.47 c0-2.47-1.19-4.36-3.13-5.1c-1.26-0.53-2.64-0.5-3.84,0.03C8.15,6.11,7,7.99,7,10.42v5.47l-2,1.88V18h14V17.77z"
|
|
22
|
+
class="style-scope yt-icon"></path>
|
|
23
|
+
</g>
|
|
24
|
+
</svg>
|
|
59
25
|
</div>
|
|
26
|
+
<div class="unassigned-notifications-badge" *ngIf="unservedRequestCount > 0">
|
|
27
|
+
<!-- || currentUserRequestCount > 0 -->
|
|
28
|
+
<!-- <span *ngIf="unservedRequestCount > 0 "> -->
|
|
29
|
+
<!-- + currentUserRequestCount -->
|
|
30
|
+
<span class="notification-count">{{ unservedRequestCount }}</span>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
60
33
|
|
|
61
|
-
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
34
|
+
<ng-template #conversationsInQueue>
|
|
35
|
+
<span *ngIf="unservedRequestCount > 1">
|
|
36
|
+
{{ unservedRequestCount }}
|
|
37
|
+
{{translationMap?.get('CONVERSATIONS_IN_QUEUE') }}
|
|
38
|
+
</span>
|
|
39
|
+
<span *ngIf="unservedRequestCount === 1">
|
|
40
|
+
{{ unservedRequestCount }}
|
|
41
|
+
{{translationMap?.get('CONVERSATION_IN_QUEUE') }}
|
|
42
|
+
</span>
|
|
43
|
+
<span *ngIf="unservedRequestCount === 0">
|
|
44
|
+
{{translationMap?.get('NO_CONVERSATION_IN_QUEUE') }}
|
|
45
|
+
|
|
46
|
+
</span>
|
|
47
|
+
</ng-template>
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<div class="flex-child-right">
|
|
51
|
+
<div class="project-name-project-for-panel" [ngClass]="{'project-name-project-for-panel-on-desktop': IS_ON_MOBILE_DEVICE === false}" [tooltip]="conversationsInQueueOnProjectName"
|
|
52
|
+
[options]="tooltipOptions" placement="top" content-type="template" (click)="openUnservedConvs()">
|
|
53
|
+
<div class="project---name"> {{ project?.id_project?.name }} </div>
|
|
54
|
+
</div>
|
|
55
|
+
<ng-template #conversationsInQueueOnProjectName>
|
|
56
|
+
<span *ngIf="unservedRequestCount > 1">
|
|
57
|
+
{{ unservedRequestCount }}
|
|
58
|
+
{{translationMap?.get('CONVERSATIONS_IN_QUEUE') }}
|
|
59
|
+
</span>
|
|
60
|
+
<span *ngIf="unservedRequestCount === 1">
|
|
61
|
+
{{ unservedRequestCount }}
|
|
62
|
+
{{translationMap?.get('CONVERSATION_IN_QUEUE') }}
|
|
63
|
+
</span>
|
|
64
|
+
<span *ngIf="unservedRequestCount === 0">
|
|
65
|
+
{{translationMap?.get('NO_CONVERSATION_IN_QUEUE') }}
|
|
66
|
+
</span>
|
|
67
|
+
</ng-template>
|
|
68
|
+
|
|
69
|
+
<div class="availabily-and-busy-wpr">
|
|
70
|
+
<div class="availabily---wpr" tooltip="{{avaialble_status_for_tooltip}}" [options]="tooltipOptions">
|
|
71
|
+
<div class="onoffswitch"
|
|
72
|
+
(click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
|
|
73
|
+
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox"
|
|
74
|
+
id="switchavailableunavailablestatus" tabindex="0" [checked]="project?.ws_projct_user_available">
|
|
75
|
+
<label class="onoffswitch-label" for="switchavailableunavailablestatus"></label>
|
|
76
|
+
</div>
|
|
65
77
|
</div>
|
|
66
78
|
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
|
|
80
|
+
<!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
|
|
81
|
+
<span *ngIf="project?.ws_projct_user_available === true" class="availibility-status-text"
|
|
69
82
|
[ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
[ngStyle]="{ 'background-color':(project?.ws_projct_user_available)?'#4caf50':'#f44336' }">
|
|
78
|
-
</span>
|
|
79
|
-
<span class="status--icon-project-for-panel busy--icon"
|
|
80
|
-
*ngIf="project?.ws_projct_user_isBusy === true">
|
|
81
|
-
</span>
|
|
82
|
-
</div> -->
|
|
83
|
-
<div class="availabily-and-busy-wpr">
|
|
84
|
-
<!-- <div class="onoffswitch"
|
|
85
|
-
(click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
|
|
86
|
-
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch"
|
|
87
|
-
tabindex="0" [checked]="project?.ws_projct_user_available">
|
|
88
|
-
<label class="onoffswitch-label" for="myonoffswitch"></label>
|
|
89
|
-
</div> -->
|
|
90
|
-
<div class="availabily---wpr">
|
|
91
|
-
<!-- <div class="i_onoffswitch"
|
|
92
|
-
(click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
|
|
93
|
-
<input type="checkbox" name="i_onoffswitch" class="i_onoffswitch-checkbox"
|
|
94
|
-
id="i_switch_availability" tabindex="0" [checked]="project?.ws_projct_user_available">
|
|
95
|
-
<label style="margin-bottom: 0px" class="i_onoffswitch-label" for="i_switch_availability"></label>
|
|
96
|
-
</div> -->
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
<div class="onoffswitch"
|
|
100
|
-
(click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
|
|
101
|
-
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch"
|
|
102
|
-
tabindex="0" [checked]="project?.ws_projct_user_available">
|
|
103
|
-
<label class="onoffswitch-label" for="myonoffswitch"></label>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
83
|
+
{{translationMap?.get('Available') }}
|
|
84
|
+
</span>
|
|
85
|
+
<!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
|
|
86
|
+
<span *ngIf="project?.ws_projct_user_available === false" class="availibility-status-text"
|
|
87
|
+
[ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
|
|
88
|
+
{{translationMap?.get('Unavailable')}}
|
|
89
|
+
</span>
|
|
106
90
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
{{translationMap?.get('Available') }}
|
|
111
|
-
</span>
|
|
112
|
-
<!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
|
|
113
|
-
<span *ngIf="project?.ws_projct_user_available === false" class="availibility-status-text"
|
|
114
|
-
[ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
|
|
115
|
-
{{translationMap?.get('Unavailable')}}
|
|
116
|
-
</span>
|
|
117
|
-
<div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true">
|
|
118
|
-
<!-- <span class="material-icons project-item--isBusy-icon">
|
|
91
|
+
<div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true" tooltip="{{translationMap?.get('Busy')}}"
|
|
92
|
+
[options]="tooltipOptions" placement="top" >
|
|
93
|
+
<!-- <span class="material-icons project-item--isBusy-icon">
|
|
119
94
|
access_time
|
|
120
95
|
</span> -->
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
96
|
+
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="16px"
|
|
97
|
+
viewBox="0 0 24 24" width="16px" fill="#FEB92C">
|
|
98
|
+
<g>
|
|
99
|
+
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
100
|
+
</g>
|
|
101
|
+
<g>
|
|
102
|
+
<path
|
|
103
|
+
d="M11.99,2C6.47,2,2,6.48,2,12s4.47,10,9.99,10C17.52,22,22,17.52,22,12S17.52,2,11.99,2z M15.29,16.71L11,12.41V7h2v4.59 l3.71,3.71L15.29,16.71z" />
|
|
104
|
+
</g>
|
|
105
|
+
</svg>
|
|
106
|
+
</div>
|
|
107
|
+
<!-- <span *ngIf="project?.ws_projct_user_isBusy === true"
|
|
108
|
+
class="project-item--isBusy-busy-text text-pulse-animation">
|
|
109
|
+
{{translationMap?.get('Busy')}}
|
|
110
|
+
</span> -->
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<div *ngIf="IS_ON_MOBILE_DEVICE === true" class="flex-child-view-all-convs">
|
|
115
|
+
<div class="view-all-convs-icon-wpr" style="cursor: pointer;" [tooltip]="viewAllConvs"
|
|
116
|
+
[options]="tooltipOptions" placement="top" content-type="template">
|
|
117
|
+
|
|
118
|
+
<ion-button ion-button fill="clear" class="open-unserved-convs-btn"
|
|
119
|
+
(click)="openUnservedConvsAndGoToProjectList()">
|
|
120
|
+
|
|
121
|
+
<span class="push-icon-and-list-wpr">
|
|
122
|
+
<!-- <svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
|
|
123
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
|
|
124
|
+
style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 20px;">
|
|
125
|
+
<style type="text/css">
|
|
126
|
+
.st0 {
|
|
127
|
+
fill: #3880ff;
|
|
128
|
+
}
|
|
129
|
+
</style>
|
|
130
|
+
<path class="st0"
|
|
131
|
+
d="M22.8,15v-2c-1.7,0-3-1.3-3-3V5h1c0.5,0,1-0.5,1-1s-0.5-1-1-1h-10c-0.5,0-1,0.5-1,1s0.5,1,1,1h1v5
|
|
132
|
+
c0,1.7-1.3,3-3,3v2h6v5c0.6,0,1.4,0,2,0v-5H22.8z M12.8,13c0.7-0.9,1-1.9,1-3V5h4v5c0,1.1,0.4,2.2,1,3H12.8z" />
|
|
133
|
+
<rect x="1.2" y="13" class="st0" width="6.3" height="2" />
|
|
134
|
+
<rect x="1.2" y="18" class="st0" width="12.1" height="2" />
|
|
135
|
+
<rect x="1.2" y="7.6" class="st0" width="9.2" height="2" />
|
|
136
|
+
</svg> -->
|
|
137
|
+
|
|
138
|
+
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
|
|
139
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
|
|
140
|
+
style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 16px;">
|
|
141
|
+
<style type="text/css">
|
|
142
|
+
.st0 {
|
|
143
|
+
fill: #165CEE;
|
|
144
|
+
}
|
|
145
|
+
</style>
|
|
146
|
+
<path class="st0" d="M20.6,16.3v-2.4c-2.1,0-3.7-1.6-3.7-3.7V4h1.2c0.6,0,1.2-0.6,1.2-1.2s-0.6-1.2-1.2-1.2H5.9
|
|
147
|
+
c-0.6,0-1.2,0.6-1.2,1.2S5.3,4,5.9,4h1.2v6.1c0,2.1-1.6,3.7-3.7,3.7v2.4h7.3v6.1c0.7,0,1.7,0,2.4,0v-6.1H20.6z M8.3,13.8
|
|
148
|
+
c0.9-1.1,1.2-2.3,1.2-3.7V4h4.9v6.1c0,1.3,0.5,2.7,1.2,3.7H8.3z" />
|
|
130
149
|
</svg>
|
|
131
|
-
</div>
|
|
132
|
-
<span *ngIf="project?.ws_projct_user_isBusy === true" class="project-item--isBusy-busy-text text-pulse-animation">
|
|
133
|
-
{{translationMap?.get('Busy')}}
|
|
134
150
|
</span>
|
|
135
|
-
</div>
|
|
136
151
|
|
|
137
|
-
</div>
|
|
138
152
|
|
|
153
|
+
|
|
154
|
+
</ion-button>
|
|
155
|
+
</div>
|
|
156
|
+
<ng-template #viewAllConvs>
|
|
157
|
+
<span>
|
|
158
|
+
{{translationMap?.get('CHANGE_PINNED_PROJECT') }}</span>
|
|
159
|
+
</ng-template>
|
|
139
160
|
</div>
|
|
140
|
-
</div>
|
|
141
161
|
|
|
162
|
+
</div>
|
|
142
163
|
</div>
|
|
143
164
|
|
|
165
|
+
<!-- </div> -->
|
|
166
|
+
|
|
144
167
|
</div>
|
|
145
168
|
</div>
|
|
146
169
|
</div>
|
|
@@ -9,19 +9,18 @@
|
|
|
9
9
|
width: 100%;
|
|
10
10
|
// min-height: 70px;
|
|
11
11
|
// height: 70px;
|
|
12
|
-
min-height:
|
|
13
|
-
height:
|
|
12
|
+
min-height: 64px;
|
|
13
|
+
height: 64px;
|
|
14
14
|
position: relative;
|
|
15
|
-
top: -5px;
|
|
15
|
+
// top: -5px; //nk x AS
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
|
|
19
|
+
|
|
18
20
|
// .main-content-project-for-panel:hover {
|
|
19
21
|
// background-color: rgb(244, 243, 244);
|
|
20
22
|
// }
|
|
21
|
-
|
|
22
|
-
padding: 0px !important;
|
|
23
|
-
width: 296px;
|
|
24
|
-
}
|
|
23
|
+
|
|
25
24
|
|
|
26
25
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
27
26
|
.main-content-projects-for-panel::-webkit-scrollbar {
|
|
@@ -216,38 +215,68 @@
|
|
|
216
215
|
}
|
|
217
216
|
}
|
|
218
217
|
|
|
218
|
+
.container-project-for-panel {
|
|
219
|
+
padding: 0px !important;
|
|
220
|
+
width: 296px;
|
|
221
|
+
}
|
|
222
|
+
|
|
219
223
|
.flex-container-project-for-panel {
|
|
220
224
|
display: flex;
|
|
221
225
|
width: 100%;
|
|
222
226
|
justify-content: center;
|
|
223
227
|
align-items: center;
|
|
224
|
-
position: relative;
|
|
225
|
-
cursor: pointer;
|
|
228
|
+
// position: relative;
|
|
229
|
+
// cursor: pointer;
|
|
226
230
|
-moz-transition: all 0.2s ease-in;
|
|
227
231
|
-o-transition: all 0.2s ease-in;
|
|
228
232
|
-webkit-transition: all 0.2s ease-in;
|
|
229
233
|
transition: all 0.2s ease-in;
|
|
230
|
-
height:
|
|
234
|
+
height: 64px;
|
|
231
235
|
}
|
|
232
236
|
|
|
233
237
|
.flex-container:hover {
|
|
234
238
|
background-color: rgba(200, 200, 200, 0.2);
|
|
235
239
|
}
|
|
236
240
|
|
|
241
|
+
.flex-child-right {
|
|
242
|
+
flex: 1;
|
|
243
|
+
padding: 18px 0px;
|
|
244
|
+
// width: 227px;
|
|
245
|
+
// width: 207px;
|
|
246
|
+
height: 100%;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
|
|
237
250
|
.flex-child-left {
|
|
238
251
|
// flex: 0 0 20%;
|
|
239
252
|
width: 60px;
|
|
240
253
|
text-align: center;
|
|
241
|
-
padding:
|
|
254
|
+
padding: 18px 0px;
|
|
255
|
+
height: 100%;
|
|
242
256
|
}
|
|
243
257
|
// border: 2px solid yellow;
|
|
244
258
|
|
|
245
|
-
.flex-child-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
259
|
+
.flex-child-view-all-convs {
|
|
260
|
+
width: 40px;
|
|
261
|
+
text-align: center;
|
|
262
|
+
padding: 18px 0px;
|
|
263
|
+
height: 100%;
|
|
264
|
+
margin-top: 5px;
|
|
265
|
+
margin-right: 10px;
|
|
249
266
|
}
|
|
250
267
|
|
|
268
|
+
@media (max-width: 768px) {
|
|
269
|
+
.container-project-for-panel {
|
|
270
|
+
width: 100%;
|
|
271
|
+
}
|
|
272
|
+
.flex-child-view-all-convs {
|
|
273
|
+
margin-right: 20px;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
251
280
|
.status--icon-project-for-panel {
|
|
252
281
|
width: 13px;
|
|
253
282
|
height: 13px;
|
|
@@ -282,7 +311,8 @@
|
|
|
282
311
|
color: #1e2129;
|
|
283
312
|
font-weight: 400;
|
|
284
313
|
margin-left: 10px;
|
|
285
|
-
width:
|
|
314
|
+
width: 185px ;
|
|
315
|
+
// width: 220px !important;
|
|
286
316
|
white-space: nowrap !important;
|
|
287
317
|
overflow: hidden !important;
|
|
288
318
|
text-overflow: ellipsis !important;
|
|
@@ -290,6 +320,30 @@
|
|
|
290
320
|
font-size: 14px;
|
|
291
321
|
position: relative;
|
|
292
322
|
top: -1px;
|
|
323
|
+
cursor: pointer;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
.project-name-project-for-panel-on-desktop {
|
|
328
|
+
width: 217px
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// .project-name-project-for-panel:hover span {
|
|
332
|
+
// color: rgba(0, 0, 0, 0.35);
|
|
333
|
+
// // display: none;
|
|
334
|
+
// width: fit-content;
|
|
335
|
+
// display: block;
|
|
336
|
+
// }
|
|
337
|
+
.project---name {
|
|
338
|
+
width: fit-content;
|
|
339
|
+
|
|
340
|
+
}
|
|
341
|
+
.project---name:hover {
|
|
342
|
+
color: rgba(0, 0, 0, 0.35);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.view-all-convs-icon:hover {
|
|
346
|
+
color: rgba(0, 0, 0, 0.35);
|
|
293
347
|
}
|
|
294
348
|
|
|
295
349
|
// .im-available-project-for-panel {
|
|
@@ -336,7 +390,7 @@
|
|
|
336
390
|
|
|
337
391
|
.project-item--isBusy-icon {
|
|
338
392
|
border-radius: 50%;
|
|
339
|
-
background-color
|
|
393
|
+
background-color: #feb92c;
|
|
340
394
|
font-size: 14px;
|
|
341
395
|
color: #fff;
|
|
342
396
|
position: relative;
|
|
@@ -363,7 +417,7 @@
|
|
|
363
417
|
color: #999999;
|
|
364
418
|
}
|
|
365
419
|
50% {
|
|
366
|
-
color: #
|
|
420
|
+
color: #feb92c;
|
|
367
421
|
}
|
|
368
422
|
100% {
|
|
369
423
|
color: #999999;
|
|
@@ -375,7 +429,7 @@
|
|
|
375
429
|
color: #999999;
|
|
376
430
|
}
|
|
377
431
|
50% {
|
|
378
|
-
color: #
|
|
432
|
+
color: #feb92c;
|
|
379
433
|
}
|
|
380
434
|
100% {
|
|
381
435
|
color: #999999;
|
|
@@ -387,7 +441,7 @@
|
|
|
387
441
|
color: #999999;
|
|
388
442
|
}
|
|
389
443
|
50% {
|
|
390
|
-
color: #
|
|
444
|
+
color: #feb92c;
|
|
391
445
|
}
|
|
392
446
|
100% {
|
|
393
447
|
color: #999999;
|
|
@@ -395,9 +449,21 @@
|
|
|
395
449
|
}
|
|
396
450
|
|
|
397
451
|
.unassigned-notifications-icon-wpr {
|
|
398
|
-
padding-left: 3px;
|
|
452
|
+
// padding-left: 3px;
|
|
453
|
+
// position: relative;
|
|
454
|
+
// top: 3px;
|
|
455
|
+
|
|
399
456
|
position: relative;
|
|
400
|
-
top:
|
|
457
|
+
top: -8px;
|
|
458
|
+
background: transparent;
|
|
459
|
+
border-radius: 50%;
|
|
460
|
+
width: 50px;
|
|
461
|
+
left: 10px;
|
|
462
|
+
height: 50px;
|
|
463
|
+
cursor: pointer;
|
|
464
|
+
}
|
|
465
|
+
.unassigned-notifications-icon-wpr:hover {
|
|
466
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
401
467
|
}
|
|
402
468
|
|
|
403
469
|
.unassigned-notifications-badge {
|
|
@@ -411,8 +477,8 @@
|
|
|
411
477
|
width: 22px;
|
|
412
478
|
height: 22px;
|
|
413
479
|
color: #fff;
|
|
414
|
-
|
|
415
|
-
left:
|
|
480
|
+
|
|
481
|
+
left: 34px;
|
|
416
482
|
border: 1px solid #fff;
|
|
417
483
|
}
|
|
418
484
|
.notification-count {
|
|
@@ -433,79 +499,95 @@
|
|
|
433
499
|
width: 22px;
|
|
434
500
|
}
|
|
435
501
|
|
|
502
|
+
|
|
503
|
+
.open-unserved-convs-btn {
|
|
504
|
+
padding: 5px;
|
|
505
|
+
margin: 0;
|
|
506
|
+
height: 31px;
|
|
507
|
+
width: 31px;
|
|
508
|
+
font-size: 24px;
|
|
509
|
+
--padding-start: 0px;
|
|
510
|
+
--padding-end: 0px;
|
|
511
|
+
color: #165cee;
|
|
512
|
+
background-color: transparent;
|
|
513
|
+
border-radius: 50%; // nk
|
|
514
|
+
&:hover {
|
|
515
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
436
518
|
// --------------------------------------------------
|
|
437
519
|
// ANIMATED ARROW https://codepen.io/cbrst/pen/ebxwLJ
|
|
438
520
|
// --------------------------------------------------
|
|
439
|
-
.arrow-wrapper {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
#arrow_1 .arrow {
|
|
445
|
-
$size: 16px;
|
|
446
|
-
$width: 2px;
|
|
447
|
-
|
|
448
|
-
cursor: pointer;
|
|
449
|
-
display: block;
|
|
450
|
-
width: $size / 1.414;
|
|
451
|
-
height: $size / 1.414 * 2;
|
|
452
|
-
position: relative;
|
|
453
|
-
|
|
454
|
-
& span,
|
|
455
|
-
&:before,
|
|
456
|
-
&:after {
|
|
457
|
-
// background: #fff;
|
|
458
|
-
background: #b1b4b8;
|
|
459
|
-
content: "";
|
|
460
|
-
display: block;
|
|
461
|
-
width: $size;
|
|
462
|
-
height: $width;
|
|
463
|
-
position: absolute;
|
|
464
|
-
top: calc(50% - (#{$width} / 2));
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
&:before {
|
|
468
|
-
transform: rotate(-45deg);
|
|
469
|
-
}
|
|
470
|
-
&:after {
|
|
471
|
-
transform: rotate(45deg);
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
& span {
|
|
475
|
-
width: 0;
|
|
476
|
-
}
|
|
477
|
-
&:hover span {
|
|
478
|
-
width: $size * 1.414;
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
@each $direction in "left" "right" {
|
|
482
|
-
&.arrow--#{$direction} {
|
|
483
|
-
& span,
|
|
484
|
-
&:before,
|
|
485
|
-
&:after {
|
|
486
|
-
#{$direction}: 0;
|
|
487
|
-
transform-origin: #{$direction} 50%;
|
|
488
|
-
}
|
|
521
|
+
// .arrow-wrapper {
|
|
522
|
+
// display: flex;
|
|
523
|
+
// align-items: center;
|
|
524
|
+
// }
|
|
489
525
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
}
|
|
526
|
+
// #arrow_1 .arrow {
|
|
527
|
+
// $size: 16px;
|
|
528
|
+
// $width: 2px;
|
|
494
529
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
530
|
+
// cursor: pointer;
|
|
531
|
+
// display: block;
|
|
532
|
+
// width: $size / 1.414;
|
|
533
|
+
// height: $size / 1.414 * 2;
|
|
534
|
+
// position: relative;
|
|
498
535
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
536
|
+
// & span,
|
|
537
|
+
// &:before,
|
|
538
|
+
// &:after {
|
|
539
|
+
// // background: #fff;
|
|
540
|
+
// background: #b1b4b8;
|
|
541
|
+
// content: "";
|
|
542
|
+
// display: block;
|
|
543
|
+
// width: $size;
|
|
544
|
+
// height: $width;
|
|
545
|
+
// position: absolute;
|
|
546
|
+
// top: calc(50% - (#{$width} / 2));
|
|
547
|
+
// }
|
|
548
|
+
|
|
549
|
+
// &:before {
|
|
550
|
+
// transform: rotate(-45deg);
|
|
551
|
+
// }
|
|
552
|
+
// &:after {
|
|
553
|
+
// transform: rotate(45deg);
|
|
554
|
+
// }
|
|
555
|
+
|
|
556
|
+
// & span {
|
|
557
|
+
// width: 0;
|
|
558
|
+
// }
|
|
559
|
+
// &:hover span {
|
|
560
|
+
// width: $size * 1.414;
|
|
561
|
+
// }
|
|
562
|
+
|
|
563
|
+
// @each $direction in "left" "right" {
|
|
564
|
+
// &.arrow--#{$direction} {
|
|
565
|
+
// & span,
|
|
566
|
+
// &:before,
|
|
567
|
+
// &:after {
|
|
568
|
+
// #{$direction}: 0;
|
|
569
|
+
// transform-origin: #{$direction} 50%;
|
|
570
|
+
// }
|
|
571
|
+
|
|
572
|
+
// &:before,
|
|
573
|
+
// &:after {
|
|
574
|
+
// transition: #{$direction} 0.3s 0.05s;
|
|
575
|
+
// }
|
|
576
|
+
|
|
577
|
+
// & span {
|
|
578
|
+
// transition: width 0.3s, #{$direction} 0.3s 0.05s;
|
|
579
|
+
// }
|
|
580
|
+
|
|
581
|
+
// // &:hover {
|
|
582
|
+
// // & span,
|
|
583
|
+
// // &:before,
|
|
584
|
+
// // &:after {
|
|
585
|
+
// // #{$direction}: $size / 1.414 * -1;
|
|
586
|
+
// // }
|
|
587
|
+
// // }
|
|
588
|
+
// }
|
|
589
|
+
// }
|
|
590
|
+
// }
|
|
509
591
|
|
|
510
592
|
// ------------------------------------------------------------------
|
|
511
593
|
// on-off availability switch btn // https://proto.io/freebies/onoff/
|