aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/dialpad
diff options
context:
space:
mode:
authorLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2021-09-12 13:24:51 +0530
committerLibravatar GitHub <noreply@github.com>2021-09-12 07:54:51 +0000
commit6d520ff1ddb74e7257e1d943f8e91117079db675 (patch)
tree541a784f0c249a1b1ddf29fcac44834752d223da /recipes/dialpad
parentNew recipe: 'teamweek' (#694) (diff)
downloadferdium-recipes-6d520ff1ddb74e7257e1d943f8e91117079db675.tar.gz
ferdium-recipes-6d520ff1ddb74e7257e1d943f8e91117079db675.tar.zst
ferdium-recipes-6d520ff1ddb74e7257e1d943f8e91117079db675.zip
New recipe: 'dialpad' (#695)
Diffstat (limited to 'recipes/dialpad')
-rw-r--r--recipes/dialpad/darkmode.css595
-rw-r--r--recipes/dialpad/icon.svg17
-rw-r--r--recipes/dialpad/index.js1
-rw-r--r--recipes/dialpad/package.json11
-rw-r--r--recipes/dialpad/webview.js16
-rw-r--r--recipes/dialpad/whitemode.css3
6 files changed, 643 insertions, 0 deletions
diff --git a/recipes/dialpad/darkmode.css b/recipes/dialpad/darkmode.css
new file mode 100644
index 0000000..0ec1e40
--- /dev/null
+++ b/recipes/dialpad/darkmode.css
@@ -0,0 +1,595 @@
1body {
2 background-color: #282828;
3 color: #ebdbb2;
4}
5.header-3, .header-4 {
6 color: #ebdbb2;
7}
8.link {
9 color: #458588;
10}
11
12/* loading */
13.scroll-man-loading .table-loading {
14 background-image: url(/static/img/app/black_paging.gif) !important;
15}
16
17/* headers/settings */
18#app-settings, #sm-container, #header-bar, #app-version-container {
19 background-color: #504945 !important;
20}
21.d-svg.d-svg--system {
22 fill: #ebdbb2;
23}
24.app-settings-action {
25 color: #ebdbb2;
26}
27.app-settings-btn {
28 border: 1px solid #ebdbb2;
29}
30.app-settings-btn:hover {
31 color: #ebdbb2;
32 border: 1px solid #ebdbb2;
33 background-color: hsla(0, 0%, 84.7%, .3);
34}
35.body-copy-4 {
36 color: #a89984;
37}
38.status-menu, .d-input--sm {
39 background-color: #282828;
40 border: 1px solid hsla(0, 0%, 84.7%, .3);
41 color: #ebdbb2;
42}
43.status-menu-timer div, .status-menu__save {
44 color: #458588 !important;
45}
46.status-menu__save:hover {
47 text-decoration: none;
48}
49.settings-link:hover, .sm-suggested-status:hover {
50 background-color: hsla(0, 0%, 84.7%, .3);
51}
52.wn-header {
53 border-bottom: 1px solid #504945;
54}
55.wn-log-link {
56 border-top: 1px solid #504945;
57}
58.wn-log-link a {
59 color: #458588;
60}
61.wn-row {
62 background-color: #3c3836;
63 border-bottom: 1px solid #504945;
64}
65.wn-row-seen {
66 background-color: #282828;
67}
68.wn-row-title, .wn-row-link a {
69 color: #458588;
70}
71.wn-row-description {
72 color: #ebdbb2;
73}
74.wn-row-date {
75 color: #ab9984;
76}
77
78/* alerts */
79#harness-warning, .whats-new-alert-icon__container, #alertbar .alert2 {
80 /* I know this is a different color, but... man that alert is loud. */
81 background-color: #af3a03;
82}
83#harness-download {
84 color: #ebdbb2;
85 background-color: #504945;
86}
87#alertbar-table>tbody>tr>td, .alertbar-external-link {
88 color: #ebdbb2;
89}
90svg.icon-dnd_off-inv, svg.icon-dropdown-inv, svg.icon-emoji-inv, svg.icon-error-inv, svg.icon-error_smallx, svg.icon-plus-inv, svg.icon-popup_x-inv, svg.icon-sad_face-inv {
91 fill: #ebdbb2;
92 stroke: #ebdbb2;
93}
94.snooze-dropdown-title {
95 border:1px solid #af3a03;
96}
97.body-copy-20 {
98 color: #af3a03;
99}
100
101/* summary pages */
102.filtered-transcript-table:hover, table.filtered>tbody>tr:hover {
103 background-color: hsla(0, 0%, 84.7%, .3);
104}
105.filtered-transcript-table>tr>td, table.filtered>tbody>tr>td {
106 border-bottom: 1px solid #3c3836;
107}
108.filter-tabs {
109 border-bottom: 3px solid #504945;
110}
111.filter-tabs .item.selected {
112 border-bottom: 3px solid #458588;
113}
114.filter-tabs .item:hover {
115 color: #ebdbb2;
116}
117.filter-3 {
118 color: #ebdbb2;
119}
120.filter-4 {
121 color: #ab9984;
122}
123.subhead-9, .subhead-12 {
124 color: #a89984;
125}
126.filter-desc {
127 border-bottom: 1px solid #3c3836;
128}
129
130#filter-icon svg {
131 fill: #a89984;
132 stroke: #a89984;
133}
134.tooltip-callout, .tooltip-content {
135 background-color: #282828;
136 color: #ebdbb2;
137}
138.tooltip-content {
139 border: 1px solid #3c3836;
140}
141
142.filtered-transcript-table:hover, table.filtered>tbody>tr:hover {
143 /*
144 There's a bug which causes this to get applied *twice* on hover. That
145 doesn't matter when the background is white, but that doesn't work for us,
146 so we can't just do:
147
148 background-color: hsla(0, 0%, 84.7%, .3);
149
150 Fortunately, when can just pre-calculate this. Math to the rescue!
151 Convenient calculator: http://marcodiiga.github.io/rgba-to-rgb-conversion
152
153 #282828 + hsla(0, 0%, 84.7%, .3) = #5d5d5d
154 */
155 background-color: #5d5d5d;
156}
157.subhead-3 {
158 color: #bdae93;
159}
160svg.contact-fav-heart {
161 fill: #bdae93;
162 stroke: #bdae93;
163}
164svg.contact-fav-heart.contact-fav-heart-filled {
165 fill: #458588;
166 stroke: #458588;
167}
168
169table.filtered.empty .filtered-transcript-table:hover, table.filtered.empty>tbody>tr:hover {
170 /*
171 I wonder why this rule exists? In vanilla Dialpad, it just forces the
172 background color to be white on hover for a bunch of resources... which are
173 already white.
174 */
175 background-color: #282828;
176}
177
178/* conversation view */
179.cr-text .cr-container {
180 background-color: #3c3836;
181}
182.cr-me.cr-text .cr-container {
183 /* the Gruvbox color looks too bright here */
184 /* background-color: #83a598; */
185 background-color: rgba(68, 85, 136, 0.5);
186}
187.feed-item-text, .feed-item-rich-media-inline {
188 background-color: #3c3836 !important;
189 --highlight-color: #504945 !important;
190}
191.feed-item-mms {
192 background-color: #3c3836 !important;
193}
194.rich-media-link, .rich-media-mention, .feed-rich-media-mention.base-rich-media-mention {
195 color: #458588 !important
196}
197
198.contact-blocked {
199 color: #af3a03;
200}
201#unknown-number, .rate-item {
202 background-color: #458588;
203 color: #ebdbb2;
204}
205
206.d-btn--primary {
207 background-color: #458588;
208 border-color: #458588;
209}
210.d-btn--primary:hover {
211 background-color: #83a598;
212}
213.d-btn--outlined {
214 border-color: #458588;
215}
216
217.c-menu-box {
218 border: 1px solid hsla(0, 0%, 84.7%, .3);
219}
220.c-did-header {
221 background-color: #504945;
222}
223.c-did-list, .c-did-list .selected {
224 color: #ebdbb2;
225}
226.c-did-list li:hover {
227 background-color: hsla(0, 0%, 84.7%, .3);
228 color: #ebdbb2;
229}
230
231.contact-bar-wrapper {
232 border-bottom: 1px solid #3c3836;
233}
234.contact-search-text {
235 color: #83a598;
236}
237svg.contact-search-svg {
238 fill: #83a598;
239}
240.body-copy-7, .body-copy-8, .body-copy-9, .body-copy-32, .body-copy-33, .stamp-2 {
241 color: #ebdbb2 !important;
242}
243.stamp-3 {
244 color: #a89984;
245}
246
247.markdown-code-block, .rich-media-codeblock {
248 background-color: #32302f;
249 border: 1px solid #504945;
250 border-radius: 0;
251}
252
253.feed-item-base:hover .feed-item-actions--transparent-background, .feed-item-actions {
254 background-color: hsla(0, 0%, 84.7%, .3) !important;
255}
256
257.feed-item-rich-media-card {
258 background-color: hsla(0, 0%, 0%, 0) !important;
259}
260
261.rich-media-uc-card {
262 border: 0rem !important;
263}
264
265.rich-media-uc-card .rich-media-uc-card__content {
266 background-color: #3c3836 !important;
267}
268
269#conversation-progress-bar {
270 background-color: #3c3836;
271}
272.message-text-container {
273 background-color: #282828;
274}
275
276.feed-item-call--incoming, .feed-item-call--incoming .feed-item-call-highlights__content, .feed-item-call__footer--incoming, .feed-item-call__footer--incoming .feed-item-call-highlights__content, .feed-item-call--cancelled, .feed-item-call--cancelled .feed-item-call-highlights__content, .feed-item-call--outgoing, .feed-item-call--outgoing .feed-item-call-highlights__content, .feed-item-call__footer--cancelled, .feed-item-call__footer--cancelled .feed-item-call-highlights__content, .feed-item-call__footer--outgoing, .feed-item-call__footer--outgoing .feed-item-call-highlights__content {
277 background-color: #3c3836;
278}
279.feed-item-base:hover .feed-item-call--incoming, .feed-item-base:hover .feed-item-call--incoming .feed-item-call-highlights__content, .feed-item-base:hover .feed-item-call__footer--incoming, .feed-item-base:hover .feed-item-call__footer--incoming .feed-item-call-highlights__content, .feed-item-base:hover .feed-item-call--cancelled, .feed-item-base:hover .feed-item-call--cancelled .feed-item-call-highlights__content, .feed-item-base:hover .feed-item-call--outgoing, .feed-item-base:hover .feed-item-call--outgoing .feed-item-call-highlights__content, .feed-item-base:hover .feed-item-call__footer--cancelled, .feed-item-base:hover .feed-item-call__footer--cancelled .feed-item-call-highlights__content, .feed-item-base:hover .feed-item-call__footer--outgoing, .feed-item-base:hover .feed-item-call__footer--outgoing .feed-item-call-highlights__content {
280 background-color: hsla(0, 0%, 84.7%, .3);
281}
282.feed-item-base__time {
283 color: #ebdbb2 !important;
284}
285.feed-item-actions-button:hover {
286 background-color: hsla(0, 0%, 84.7%, .3) !important;
287}
288.feed-item-actions__summary {
289 color: #458588 !important;
290}
291
292.feed-list__is-typing {
293 background-color: #504945 !important;
294 color: #ebdbb2 !important;
295 padding-left: 1rem;
296}
297
298/* left bar */
299#sidebar {
300 border-right-color: #504945;
301}
302.leftbar, .leftbar-cta {
303 background-color: #504945;
304}
305.leftbar-section {
306 background-color: #504945;
307}
308.leftbar-cta__btn {
309 background-color: #258588;
310 border-left-color: #83a598;
311 border-right-color: #83a598;
312}
313.leftbar-cta__btn--first {
314 border-left-width: 0;
315}
316.leftbar-cta__btn--last {
317 border-right-width: 0;
318}
319.leftbar-cta__btn:hover {
320 background-color: #83a598;
321}
322.leftbar-section__list li a:hover, .leftbar-links__link:hover, .leftbar-links__link--selected {
323 background-color: hsla(0, 0%, 84.7%, .3);;
324}
325.leftbar-section__list li a, .leftbar-links__link, .leftbar-section-header {
326 color: #ebdbb2;
327}
328.leftbar-section-item__status {
329 color: #a89984;
330}
331.leftbar-section-item--selected .leftbar-section-item__status {
332 color: #ebdbb2;
333}
334.leftbar-section-item:active {
335 background-color: #504945;
336 border-color: #504945;
337}
338
339/* right bar */
340#rightbar {
341 background-color: #282828;
342 border-left-color: #504945 !important;
343}
344.header-v2-5 {
345 color: #a89984;
346}
347.subhead-4 {
348 color: #ebdbb2;
349}
350.contact-info-divider {
351 border-top: 1px solid #3c3836;
352}
353
354svg.icon-add-contact, svg.icon-add-field, svg.icon-new-tab, .hide-button svg, .remove-row svg, .contact-info-left-column .iblock svg.icon-contact-info {
355 stroke: #83a598;
356 fill: #83a598;
357}
358.subhead-2 {
359 color: #83a598;
360}
361
362/* TODO: scrollbar colors? */
363.nav-divider {
364 border-color: #3c3836;
365}
366.body-copy-v2-1, .header-v2-11, .header-v2-12 {
367 color: #ebdbb2;
368}
369.contact-group-contact-row:hover {
370 background-color: hsla(0, 0%, 84.7%, .3);
371}
372
373.wlink, a.wlink, .contact-label__add-or-edit, .contact-label__save {
374 color: #458588;
375}
376
377/* tooltips */
378.c-menu-box {
379 background-color: #282828;
380}
381.c-menu .c-menu-item .c-menu-item-a:focus, .c-menu .c-menu-item .c-menu-item-a:hover {
382 background-color: rgba(68, 85, 136, 0.5);
383 color: #a89984;
384}
385.c-menu .c-menu-item .c-menu-item-a {
386 color: #a89984;
387}
388
389/* new message */
390/* TODO font*/
391#new-message-search-overlay {
392 background-color: #282828;
393}
394.target-menu-single-item {
395 color: #458588;
396}
397#new-message-search-view .search-overlay #search-input::-webkit-input-placeholder, #search-input[contentEditable=true]:empty:before {
398 color: #ebdbb2;
399}
400.header-7, .header-8, .header-9 {
401 color: #ebdbb2;
402}
403#search-input:focus {
404 outline: none;
405}
406.stamp-4 {
407 color: #ebdbb2;
408}
409
410/* search */
411.search-overlay {
412 background-color: #282828;
413}
414.search-overlay input#search-input {
415 color: #ebdbb2;
416}
417.search-overlay input#search-input::placeholder {
418 color: #ebdbb2;
419 opacity: 50%;
420}
421#multi-column-container {
422 background-color: #3c3836;
423}
424.filtered-transcript-table:hover, .frequent-contact-suggestions-column tr:hover, table.filtered>tbody>tr:hover {
425 background-color: hsla(0, 0%, 84.7%, .3);
426}
427
428.search-tab__results--selected {
429 color: #ebdbb2;
430}
431.search-tab__badge--selected {
432 background-color: #458588;
433}
434svg.icon-contact-info {
435 fill: #458488;
436}
437
438.search-overlay .selected {
439 background-color: hsla(0, 0%, 84.7%, .3);
440}
441
442/* shared calls */
443.branding-background {
444 background: #458588;
445}
446.branding-header-type svg.voiceai-vi-mark {
447 height: 20px !important; /* not exactly "dark mode", but its nice when things are the right size... */
448}
449.branding-main {
450 background-color: #282828;
451 border-radius: 0;
452}
453
454.cr-search__input {
455 background-color: #3c3836 !important;
456 border: #3c3836 !important;
457 border-radius: 0 !important;
458 color: #ebdbb2 !important;
459}
460.cr-search__input::placeholder {
461 color: #ebdbb2 !important;
462 opacity: 50%;
463}
464.cr-share {
465 background-color: #458588 !important;
466 color: #ebdbb2 !important;
467}
468
469.cr-nav-header {
470 background-color: #3c3836;
471 color: #ebdbb2;
472}
473.cr-nav-header__tooltip-icon {
474 background-color: #a89984;
475 color: #458588;
476}
477.cr-nav-category__container--selected, .cr-nav-category__container:active {
478 background-color: #a89984;
479}
480.cr-nav-category__container:hover:not(.cr-nav-category__container--selected) {
481 background-color: #bdae93;
482}
483
484.cr-playbar-container {
485 background-color: #504945;
486}
487.cr-playbar .audio-seek-bar-clickable {
488 background-color: #fbf1c7;
489}
490.base-call-recording-controls__play-button .base-audio-icon-container {
491 background-color: #458588;
492 color: #ebdbb2;
493}
494svg.base-audio-icon {
495 fill: #ebdbb2;
496}
497.cr-playbar__recording-handle {
498 background-color: #d5c4a1
499}
500.cr-playbar__recording-handle::before {
501 color: #458588;
502}
503.base-media-dropdown-speed-control__select-button {
504 color: #458588 !important;
505}
506.cr-playbar__show-caller-button {
507 color: #458588;
508 border-color: #a89984 !important;
509}
510.dropdown-menu-callout {
511 background-color: #504945;
512 border-color: #7c6f64;
513 border-radius: 0;
514}
515.dropdown-menu-item {
516 color: #ebdbb2;
517}
518.dropdown-menu-item--highlight, .dropdown-menu-item:hover {
519 background-color: hsla(0, 0%, 84.7%, .3);
520 border-radius: 0;
521}
522
523.cr-tab-active {
524 border-bottom-color: #ebdbb2 !important;
525}
526.cr-participant-filter__text, .cr-participant-filter__text:hover {
527 color: #458588;
528}
529.vue-checkbox__input:checked {
530 background-color: #458588;
531 border-color: #458588;
532}
533
534.cr-nav-header__tooltip {
535 border-radius: 0;
536 background-color: #504945;
537 border-color: #7c6f64;
538 color: #ebdbb2;
539}
540.cr-nav-header__tooltip-link {
541 color: #458588 !important;
542}
543
544.cr-row-controls-wrapper--highlight, .cr-row-controls-wrapper--highlight:hover {
545 background-color: #504945 !important;
546}
547.cr-row-controls-wrapper:hover {
548 background-color: #7c6f64;
549}
550
551.cr-excerpts-section-item {
552 background-color: #504945;
553}
554.cr-excerpts-section-item__header {
555 color: #ebdbb2;
556}
557.cr-excerpts-section-header:hover {
558 background-color: #7c6f64 !important;
559}
560.cr-excerpts-section-item__timestamp {
561 color: #a89984;
562}
563.cr-excerpts-section-item:hover {
564 background-color: #7c6f64;
565}
566.cr-excerpts-section-item--selected {
567 background-color: #665c54 !important;
568}
569.pageable-list-default-button {
570 background-color: #7c6f64 !important;
571 color: #ebdbb2 !important;
572}
573.cr-excerpts-section-header, .cr-excerpts-section-item {
574 border-radius: 0 !important;
575}
576.cr-excerpts-section-item__text .highlight, .cr-transcript-row-text .cr-transcript-row-text__text span.highlight {
577 border-radius: 0;
578 background-color: #928374 !important;
579 padding: 1px; /* readability */
580}
581
582.cr-ch-login-button {
583 background-color: #458588 !important;
584 color: #ebdbb2 !important;
585}
586.call-review-rightbar-transcript {
587 background-color: #504945;
588}
589.cr-rightbar-transcript__close-button {
590 right: 1.8rem; /* someone forgot about scrollbars */
591}
592
593.branding-footer-item-button {
594 color: #458588 !important;
595}
diff --git a/recipes/dialpad/icon.svg b/recipes/dialpad/icon.svg
new file mode 100644
index 0000000..b08ac56
--- /dev/null
+++ b/recipes/dialpad/icon.svg
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="utf-8"?>
2<svg version="1.1" id="Art"
3 xmlns="http://www.w3.org/2000/svg"
4 xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5 width="500.000000pt" height="500.000000pt" viewBox="0 0 500.000000 500.000000" preserveAspectRatio="xMidYMid meet">
6 <style type="text/css">
7 .st0 {
8 fill: #314FFF;
9 }
10 </style>
11 <g transform="scale(4,4) translate(-43.0,-30.000000)">
12 <path class="st0" d="M132.4,70c-13.5,0-24.7,10-26.5,23.1V56.2c0-0.4-0.4-0.5-0.7-0.3L89.6,
13 72.1c-3.2-1.4-6.7-2.1-10.4-2.1c-14.8,0-26.7,12-26.7,26.7s12,26.7,26.7,26.7c13.5,0,
14 24.7-10,26.5-23.1v36.8c0,0.4,0.4,0.5,0.7,0.3l15.6-16.2c3.2,1.4,6.7,2.1,10.4,2.1c14.8,
15 0,26.7-12,26.7-26.7S147.2,70,132.4,70z" />
16 </g>
17</svg>
diff --git a/recipes/dialpad/index.js b/recipes/dialpad/index.js
new file mode 100644
index 0000000..23607bd
--- /dev/null
+++ b/recipes/dialpad/index.js
@@ -0,0 +1 @@
module.exports = Ferdi => Ferdi;
diff --git a/recipes/dialpad/package.json b/recipes/dialpad/package.json
new file mode 100644
index 0000000..d2a97d2
--- /dev/null
+++ b/recipes/dialpad/package.json
@@ -0,0 +1,11 @@
1{
2 "id": "dialpad",
3 "name": "Dialpad",
4 "version": "1.0.0",
5 "license": "MIT",
6 "repository": "https://github.com/TheKevJames/franz-recipe-dialpad",
7 "config": {
8 "serviceURL": "https://dialpad.com/app",
9 "hasNotificationSound": true
10 }
11}
diff --git a/recipes/dialpad/webview.js b/recipes/dialpad/webview.js
new file mode 100644
index 0000000..2bf23f3
--- /dev/null
+++ b/recipes/dialpad/webview.js
@@ -0,0 +1,16 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
6 function getMessages() {
7 var unreadCount = 0;
8 $.each($('[data-qa-has-unreads]'), (idx, item) => unreadCount += Ferdi.safeParseInt(item.attributes["data-qa-has-unreads"].value));
9
10 Ferdi.setBadge(unreadCount);
11 }
12
13 Ferdi.loop(getMessages);
14
15 Ferdi.injectCSS(_path.default.join(__dirname, 'whitemode.css'));
16};
diff --git a/recipes/dialpad/whitemode.css b/recipes/dialpad/whitemode.css
new file mode 100644
index 0000000..c574989
--- /dev/null
+++ b/recipes/dialpad/whitemode.css
@@ -0,0 +1,3 @@
1#center-column {
2 background-color: #fff !important;
3}