itube-specs 0.0.918 → 0.0.920
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/assets/scss/themes/dark/_theme.scss +61 -0
- package/assets/scss/themes/light/_theme.scss +61 -0
- package/assets/scss/vars/_palette.scss +7 -0
- package/components/card/webcam/index.vue +703 -0
- package/components/card/webcam/languages.vue +122 -0
- package/components/filter/model.vue +56 -1
- package/components/grid/webcams.vue +78 -0
- package/components/player/core.vue +15 -1
- package/components/ui/switcher.vue +114 -0
- package/components/view/webcams.vue +370 -0
- package/components/webcam/counters.vue +113 -0
- package/components/webcam/header.vue +128 -0
- package/components/webcam/icon.vue +49 -0
- package/components/webcam/main.vue +101 -0
- package/components/webcam/stripcash-card.vue +77 -0
- package/composables/fetch/use-fetch-models-count.ts +20 -0
- package/composables/fetch/use-fetch-webcam-models.ts +45 -0
- package/composables/fetch/use-fetch-webcams.ts +51 -0
- package/composables/use-webcam-preview-slot.ts +44 -0
- package/lib/index.ts +1 -0
- package/lib/scheme/sort-webcams.ts +22 -0
- package/nuxt.config.ts +1 -0
- package/package.json +3 -2
- package/pages/webcams/[[tag]].vue +75 -0
- package/runtime/constants/webcams.ts +17 -0
- package/runtime/index.ts +1 -0
- package/server/api/models/count.get.ts +18 -0
- package/server/api/webcams/block.get.ts +49 -0
- package/server/api/webcams/list.post.ts +41 -0
- package/services/api/models.service.ts +20 -0
- package/services/api/webcams.service.ts +34 -0
- package/types/index.d.ts +7 -0
- package/types/stripcash-model.d.ts +55 -0
- package/types/switcher-item.d.ts +13 -0
- package/types/webcam-counts.d.ts +29 -0
- package/types/webcam-facet.d.ts +7 -0
- package/types/webcam-model.d.ts +36 -0
- package/types/webcam-models-response.d.ts +12 -0
- package/types/webcams-config.d.ts +14 -0
- package/utils/webcams/__tests__/adapters.test.ts +22 -0
- package/utils/webcams/__tests__/build-model-link.test.ts +29 -0
- package/utils/webcams/__tests__/count-filters.test.ts +12 -0
- package/utils/webcams/__tests__/goal-percent.test.ts +16 -0
- package/utils/webcams/__tests__/model-tags.test.ts +22 -0
- package/utils/webcams/__tests__/normalize-facets.test.ts +52 -0
- package/utils/webcams/__tests__/resolve-stream-preview.test.ts +35 -0
- package/utils/webcams/__tests__/to-filter-payload.test.ts +17 -0
- package/utils/webcams/adapters.ts +30 -0
- package/utils/webcams/build-model-link.ts +22 -0
- package/utils/webcams/count-filters.ts +14 -0
- package/utils/webcams/facets.ts +31 -0
- package/utils/webcams/goal-percent.ts +6 -0
- package/utils/webcams/lang-to-flag.ts +73 -0
- package/utils/webcams/model-tags.ts +24 -0
- package/utils/webcams/normalize-facets.ts +57 -0
- package/utils/webcams/resolve-stream-preview.ts +30 -0
- package/utils/webcams/to-filter-payload.ts +16 -0
|
@@ -1057,3 +1057,64 @@ $document-text: $color-zinc-400;
|
|
|
1057
1057
|
$document-heading: $color-white;
|
|
1058
1058
|
$document-link: $color-indigo-400;
|
|
1059
1059
|
$document-link--hover: $color-indigo-300;
|
|
1060
|
+
|
|
1061
|
+
// ─── Вебкам-блок ───
|
|
1062
|
+
$webcam-icon-text: $color-white;
|
|
1063
|
+
$webcam-icon-bg: $color-white-10;
|
|
1064
|
+
$webcam-header-promo-text: $color-white;
|
|
1065
|
+
$webcam-header-promo-bg: $color-indigo-600;
|
|
1066
|
+
$webcam-header-promo-bg--hover: $color-indigo-500;
|
|
1067
|
+
$webcam-counters-text: $color-emerald-400;
|
|
1068
|
+
$webcam-counters-bg: $color-emerald-500-10;
|
|
1069
|
+
$webcam-counters-dot: $color-emerald-400;
|
|
1070
|
+
$webcam-counters-language-text: $color-zinc-300;
|
|
1071
|
+
$webcam-counters-language-bg: $color-zinc-800-70;
|
|
1072
|
+
$card-webcam-poster-bg: $color-zinc-800;
|
|
1073
|
+
$card-webcam-online-dot: $color-emerald-400;
|
|
1074
|
+
$card-webcam-online-ring: $color-black-42;
|
|
1075
|
+
$card-webcam-badge-text: $color-white-90;
|
|
1076
|
+
$card-webcam-badge-bg: $color-black-45;
|
|
1077
|
+
$card-webcam-badge-border: $color-white-25;
|
|
1078
|
+
$card-webcam-badge-shadow: $color-black-90;
|
|
1079
|
+
$card-webcam-goal-text: $color-white;
|
|
1080
|
+
$card-webcam-goal-label: $color-zinc-400;
|
|
1081
|
+
$card-webcam-goal-percent: $color-white-70;
|
|
1082
|
+
$card-webcam-goal-plain-text: $color-zinc-300;
|
|
1083
|
+
$card-webcam-goal-plain-percent: $color-zinc-400;
|
|
1084
|
+
$card-webcam-goal-track-bg: $color-white-15;
|
|
1085
|
+
$card-webcam-goal-fill-bg: $color-emerald-400;
|
|
1086
|
+
$card-webcam-goal-shade-from: $color-black-95;
|
|
1087
|
+
$card-webcam-goal-shade-via: $color-black-70;
|
|
1088
|
+
$card-webcam-name-text: $color-white;
|
|
1089
|
+
$card-webcam-name-text--hover: $color-indigo-300;
|
|
1090
|
+
$card-webcam-meta-text: $color-zinc-500;
|
|
1091
|
+
$card-webcam-meta-text--hover: $color-zinc-300;
|
|
1092
|
+
$card-webcam-tag-text: $color-zinc-300;
|
|
1093
|
+
$card-webcam-tag-bg: $color-zinc-800;
|
|
1094
|
+
$card-webcam-tag-text--hover: $color-white;
|
|
1095
|
+
$card-webcam-tag-bg--hover: $color-zinc-700;
|
|
1096
|
+
$page-webcams-divider: $color-zinc-700;
|
|
1097
|
+
$page-webcams-control-bg: $color-zinc-800-30;
|
|
1098
|
+
$page-webcams-control-border: $color-zinc-700-30;
|
|
1099
|
+
$page-webcams-control-text: $color-white;
|
|
1100
|
+
|
|
1101
|
+
// ─── Switcher ───
|
|
1102
|
+
$switcher-bg: $color-zinc-900-80;
|
|
1103
|
+
$switcher-border: $color-zinc-800;
|
|
1104
|
+
$switcher-text: $color-zinc-400;
|
|
1105
|
+
$switcher-text--hover: $color-white;
|
|
1106
|
+
$switcher-text--active: $color-white;
|
|
1107
|
+
$switcher-bg--active: $color-indigo-600;
|
|
1108
|
+
$switcher-icon: $color-zinc-500;
|
|
1109
|
+
$switcher-icon--active: $color-emerald-400;
|
|
1110
|
+
$switcher-subtitle: $color-zinc-600;
|
|
1111
|
+
$switcher-subtitle--active: $color-white-60;
|
|
1112
|
+
|
|
1113
|
+
// ─── Filter: сброс всех фильтров в облаке чипсов ───
|
|
1114
|
+
$filter-model-clear-text: $color-zinc-500;
|
|
1115
|
+
$filter-model-clear-text--hover: $color-white;
|
|
1116
|
+
|
|
1117
|
+
// ─── Вебкам-карточка (продолжение) ───
|
|
1118
|
+
$card-webcam-languages-border: $color-white-20;
|
|
1119
|
+
$card-webcam-languages-fallback-bg: $color-zinc-800;
|
|
1120
|
+
$card-webcam-languages-fallback-icon: $color-zinc-300;
|
|
@@ -1085,3 +1085,64 @@ $document-text: $color-gray-700;
|
|
|
1085
1085
|
$document-heading: $color-gray-900;
|
|
1086
1086
|
$document-link: $color-indigo-400;
|
|
1087
1087
|
$document-link--hover: $color-indigo-300;
|
|
1088
|
+
|
|
1089
|
+
// ─── Вебкам-блок ───
|
|
1090
|
+
$webcam-icon-text: $color-gray-700;
|
|
1091
|
+
$webcam-icon-bg: $color-gray-200;
|
|
1092
|
+
$webcam-header-promo-text: $color-white;
|
|
1093
|
+
$webcam-header-promo-bg: $color-indigo-600;
|
|
1094
|
+
$webcam-header-promo-bg--hover: $color-indigo-500;
|
|
1095
|
+
$webcam-counters-text: $color-emerald-600;
|
|
1096
|
+
$webcam-counters-bg: $color-emerald-500-10;
|
|
1097
|
+
$webcam-counters-dot: $color-emerald-500;
|
|
1098
|
+
$webcam-counters-language-text: $color-gray-700;
|
|
1099
|
+
$webcam-counters-language-bg: $color-gray-200;
|
|
1100
|
+
$card-webcam-poster-bg: $color-gray-200;
|
|
1101
|
+
$card-webcam-online-dot: $color-emerald-500;
|
|
1102
|
+
$card-webcam-online-ring: $color-black-25;
|
|
1103
|
+
$card-webcam-badge-text: $color-white;
|
|
1104
|
+
$card-webcam-badge-bg: $color-black-45;
|
|
1105
|
+
$card-webcam-badge-border: $color-white-25;
|
|
1106
|
+
$card-webcam-badge-shadow: $color-black-90;
|
|
1107
|
+
$card-webcam-goal-text: $color-white;
|
|
1108
|
+
$card-webcam-goal-label: $color-gray-300;
|
|
1109
|
+
$card-webcam-goal-percent: $color-white-70;
|
|
1110
|
+
$card-webcam-goal-plain-text: $color-gray-700;
|
|
1111
|
+
$card-webcam-goal-plain-percent: $color-gray-500;
|
|
1112
|
+
$card-webcam-goal-track-bg: $color-white-15;
|
|
1113
|
+
$card-webcam-goal-fill-bg: $color-emerald-400;
|
|
1114
|
+
$card-webcam-goal-shade-from: $color-black-95;
|
|
1115
|
+
$card-webcam-goal-shade-via: $color-black-70;
|
|
1116
|
+
$card-webcam-name-text: $color-gray-950;
|
|
1117
|
+
$card-webcam-name-text--hover: $color-indigo-600;
|
|
1118
|
+
$card-webcam-meta-text: $color-gray-500;
|
|
1119
|
+
$card-webcam-meta-text--hover: $color-gray-700;
|
|
1120
|
+
$card-webcam-tag-text: $color-gray-700;
|
|
1121
|
+
$card-webcam-tag-bg: $color-gray-200;
|
|
1122
|
+
$card-webcam-tag-text--hover: $color-gray-950;
|
|
1123
|
+
$card-webcam-tag-bg--hover: $color-gray-300;
|
|
1124
|
+
$page-webcams-divider: $color-gray-300;
|
|
1125
|
+
$page-webcams-control-bg: $color-gray-100;
|
|
1126
|
+
$page-webcams-control-border: $color-gray-200;
|
|
1127
|
+
$page-webcams-control-text: $color-gray-950;
|
|
1128
|
+
|
|
1129
|
+
// ─── Switcher ───
|
|
1130
|
+
$switcher-bg: $color-gray-100;
|
|
1131
|
+
$switcher-border: $color-gray-200;
|
|
1132
|
+
$switcher-text: $color-gray-500;
|
|
1133
|
+
$switcher-text--hover: $color-gray-950;
|
|
1134
|
+
$switcher-text--active: $color-white;
|
|
1135
|
+
$switcher-bg--active: $color-indigo-600;
|
|
1136
|
+
$switcher-icon: $color-gray-500;
|
|
1137
|
+
$switcher-icon--active: $color-emerald-400;
|
|
1138
|
+
$switcher-subtitle: $color-gray-500;
|
|
1139
|
+
$switcher-subtitle--active: $color-white-60;
|
|
1140
|
+
|
|
1141
|
+
// ─── Filter: сброс всех фильтров в облаке чипсов ───
|
|
1142
|
+
$filter-model-clear-text: $color-gray-500;
|
|
1143
|
+
$filter-model-clear-text--hover: $color-gray-950;
|
|
1144
|
+
|
|
1145
|
+
// ─── Вебкам-карточка (продолжение) ───
|
|
1146
|
+
$card-webcam-languages-border: $color-gray-300;
|
|
1147
|
+
$card-webcam-languages-fallback-bg: $color-gray-200;
|
|
1148
|
+
$card-webcam-languages-fallback-icon: $color-gray-600;
|
|
@@ -5,6 +5,7 @@ $color-zinc-950-0: lab(2.51107% .242703 -.886115 / 0%); // zinc-950 / 0%
|
|
|
5
5
|
$color-zinc-950-75: lab(2.51107% .242703 -.886115 / 75%); // zinc-950 / 75%
|
|
6
6
|
$color-zinc-950-90: lab(2.51107% .242703 -.886115 / 90%); // zinc-950 / 90%
|
|
7
7
|
$color-zinc-900: lab(8.30603% .618205 -2.16572); // #18181b
|
|
8
|
+
$color-zinc-900-80: lab(8.30603% .618205 -2.16572 / 80%);
|
|
8
9
|
$color-zinc-900-70: lab(8.30603% .618205 -2.16572 / 70%); // zinc-900 / 70%
|
|
9
10
|
$color-zinc-900-60: lab(8.30603% .618205 -2.16572 / 60%); // zinc-900 / 60%
|
|
10
11
|
$color-zinc-900-50: lab(8.30603% .618205 -2.16572 / 50%); // #18181b
|
|
@@ -59,6 +60,7 @@ $color-indigo-500-20: lab(48.295% 38.3129 -81.9673 / 20%);
|
|
|
59
60
|
$color-indigo-500-40: lab(48.295% 38.3129 -81.9673 / 40%);
|
|
60
61
|
$color-indigo-500-50: lab(48.295% 38.3129 -81.9673 / 50%);
|
|
61
62
|
$color-indigo-600: lab(38.4009% 52.6132 -92.3857); // #4f39f6
|
|
63
|
+
$color-indigo-600-10: lab(38.4009% 52.6132 -92.3857 / 10%);
|
|
62
64
|
$color-indigo-600-20: lab(38.4009% 52.6132 -92.3857 / 20%);
|
|
63
65
|
$color-indigo-600-90: lab(38.4009% 52.6132 -92.3857 / 90%);
|
|
64
66
|
$color-indigo-700: lab(32.4486% 49.2217 -84.6695); // #432dd7
|
|
@@ -99,6 +101,7 @@ $mono-white-5: lab(100% 0 0 / 5%);
|
|
|
99
101
|
|
|
100
102
|
// $color- duplicates of the mono-black/mono-white opacity scale
|
|
101
103
|
$color-black-100: lab(0% 0 0);
|
|
104
|
+
$color-black-90: lab(0% 0 0 / 90%);
|
|
102
105
|
$color-black-95: lab(0% 0 0 / 95%);
|
|
103
106
|
$color-black-75: lab(0% 0 0 / 75%);
|
|
104
107
|
$color-black-70: lab(0% 0 0 / 70%);
|
|
@@ -113,11 +116,13 @@ $color-black-10: lab(0% 0 0 / 10%);
|
|
|
113
116
|
$color-black-5: lab(0% 0 0 / 5%);
|
|
114
117
|
$color-white-100: lab(100% 0 0);
|
|
115
118
|
$color-white-90: lab(100% 0 0 / 90%);
|
|
119
|
+
$color-white-70: lab(100% 0 0 / 70%);
|
|
116
120
|
$color-white-75: lab(100% 0 0 / 75%);
|
|
117
121
|
$color-white-60: lab(100% 0 0 / 60%);
|
|
118
122
|
$color-white-50: lab(100% 0 0 / 50%);
|
|
119
123
|
$color-white-45: lab(100% 0 0 / 45%);
|
|
120
124
|
$color-white-25: lab(100% 0 0 / 25%);
|
|
125
|
+
$color-white-15: lab(100% 0 0 / 15%);
|
|
121
126
|
$color-white-20: lab(100% 0 0 / 20%);
|
|
122
127
|
$color-white-10: lab(100% 0 0 / 10%);
|
|
123
128
|
$color-white-5: lab(100% 0 0 / 5%);
|
|
@@ -138,6 +143,8 @@ $color-red-900-50: color-mix(in oklab, #{$color-red-900} 50%, transparent);
|
|
|
138
143
|
$color-red-925: color-mix(in oklab, #{$color-red-900} 90%, #{$color-black});
|
|
139
144
|
$color-red-950: lab(13.003% 29.04 16.7519);
|
|
140
145
|
$color-emerald-400: lab(75.0771% -60.7313 19.4147);
|
|
146
|
+
$color-emerald-500-10: lab(66.9756% -58.27 19.5419 / 10%);
|
|
147
|
+
$color-emerald-500-20: lab(66.9756% -58.27 19.5419 / 20%);
|
|
141
148
|
$color-emerald-500: lab(66.9756% -58.27 19.5419);
|
|
142
149
|
$color-emerald-600: lab(55.0481% -49.9246 15.93);
|
|
143
150
|
$color-amber-400: lab(80.1641% 16.6016 99.2089);
|