Skip to content

Commit 9d38201

Browse files
committed
[PRAC/cont] Add tooltip for logo
Organizing tooltips by Tippy.js, initial setup/styling. Worth noting: - Tippy's initialization separation logic (for searchLogo, for all others). core: B-3 / JS-BL
1 parent 0a278f1 commit 9d38201

File tree

5 files changed

+45
-20
lines changed

5 files changed

+45
-20
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.tippy-box[data-theme~="main"] {
2+
border-radius: 0;
3+
padding: 5px 10px;
4+
font-family: var(--open-sans), sans-serif;
5+
font-size: 1em;
6+
text-align: center;
7+
color: var(--white);
8+
background-color: var(--black);
9+
/* оптимизация рендеринга (попытка исключить "легкое" размытие текста при появлении) */
10+
will-change: transform;
11+
}
12+
13+
.tippy-box[data-theme~="main"] .tippy-arrow {
14+
margin-top: -1px;
15+
color: var(--main-purple);
16+
}

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/css/style.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
@import url("page.css");
44
@import url("crm.css");
55
@import url("crm-search.css");
6+
@import url("custom-tippy.css");

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/js/customTippy.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,28 @@
2525
}
2626
}
2727

28-
initTippy('#formInputCollapse', 'развернуть/свернуть', 'right');
29-
initTippy('#formFilterCollapse', 'развернуть/свернуть', 'right');
30-
initTippy('#tableThTag', 'сбросить сортировку', 'right', {
31-
offset: [0, -2],
32-
});
33-
initTippy('#tableThFIO', 'сортировать ⇵', 'bottom', {
34-
offset: [0, -2],
35-
});
36-
initTippy('#tableThFaculty', 'сортировать ⇵', 'bottom', {
37-
offset: [0, -2],
38-
});
39-
initTippy('#tableThBirthDate', 'сортировать ⇵', 'bottom', {
40-
offset: [0, -2],
41-
});
42-
initTippy('#tableThStartYear', 'сортировать ⇵', 'bottom', {
43-
offset: [0, -2],
44-
});
45-
initTippy('#linkToAddStudForm', 'к форме добавления', 'bottom');
46-
initTippy('#deselectBtn', 'выделения студентов', 'bottom');
47-
initTippy('#deleteBtn', 'выбранных студентов', 'right');
28+
// инициализация Tippy только/для #search-logo (в зависимости от ширины экрана)
29+
function initTippyForSearchLogo() {
30+
const isSmallWidth = window.matchMedia('(max-width: 320px)').matches;
31+
const searchLogo = document.querySelector('#search-logo');
32+
33+
if (isSmallWidth && searchLogo && !searchLogo._tippy) {
34+
initTippy('#search-logo', 'Показать/скрыть..!?', 'top', {
35+
offset: [0, 8],
36+
});
37+
} else if (!isSmallWidth && searchLogo && searchLogo._tippy) {
38+
searchLogo._tippy.destroy(); // исключение всплывающей подсказки, если экран больше 320px
39+
}
40+
}
41+
42+
// инициализация Tippy для/всех "остальных" элементов (без учёта ширины экрана)
43+
function initTippyForOther() {
44+
// initTippy('#another-element', 'Подсказка для другого элемента', 'right');
45+
}
46+
47+
initTippyForSearchLogo();
48+
initTippyForOther();
49+
50+
window.addEventListener('resize', initTippyForSearchLogo); // отслеживание изменения ширины экрана (разрешения)
4851
});
4952
})();

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/js/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
searchInputFeedback.textContent =
3131
'Введён не корректный запрос.. исключите: английские буквы, цифры!';
3232

33+
searchLogoImg.setAttribute('id', 'search-logo');
3334
searchLogoImg.setAttribute('src', 'images/skillbus-logo.svg');
3435
searchLogoImg.setAttribute('width', '50');
3536
searchLogoImg.setAttribute('height', '50');

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/libs/tippy-v6.3.7/animations/scale.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
.tippy-box[data-animation="scale"][data-placement^="top"] {
22
transform-origin: bottom;
33
}
4+
45
.tippy-box[data-animation="scale"][data-placement^="bottom"] {
56
transform-origin: top;
67
}
8+
79
.tippy-box[data-animation="scale"][data-placement^="left"] {
810
transform-origin: right;
911
}
12+
1013
.tippy-box[data-animation="scale"][data-placement^="right"] {
1114
transform-origin: left;
1215
}
16+
1317
.tippy-box[data-animation="scale"][data-state="hidden"] {
1418
transform: scale(0.5);
1519
opacity: 0;

0 commit comments

Comments
 (0)