itube-specs 0.0.898 → 0.0.899
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 +0 -3
- package/assets/scss/themes/light/_theme.scss +0 -3
- package/components/section/swiper-cards.vue +3 -0
- package/components/ui/section-title.vue +21 -6
- package/lib/scheme/profile-navigation-items.ts +0 -27
- package/package.json +1 -1
- package/pages/following.vue +4 -0
- package/pages/library/index.vue +18 -49
|
@@ -997,9 +997,6 @@ $library-feed-meta-dot: $color-zinc-600;
|
|
|
997
997
|
$library-feed-title: $color-zinc-500;
|
|
998
998
|
|
|
999
999
|
// ─── Page: library ───
|
|
1000
|
-
$page-library-heading: $color-white;
|
|
1001
|
-
$page-library-heading-icon: $color-white;
|
|
1002
|
-
$page-library-heading-icon-bg: $mono-white-10;
|
|
1003
1000
|
$page-library-toggle-text: $color-zinc-300;
|
|
1004
1001
|
$page-library-confirm-text: $color-zinc-300;
|
|
1005
1002
|
|
|
@@ -1025,9 +1025,6 @@ $library-feed-meta-dot: $color-gray-400;
|
|
|
1025
1025
|
$library-feed-title: $color-gray-500;
|
|
1026
1026
|
|
|
1027
1027
|
// ─── Page: library ───
|
|
1028
|
-
$page-library-heading: $color-gray-900;
|
|
1029
|
-
$page-library-heading-icon: $color-gray-900;
|
|
1030
|
-
$page-library-heading-icon-bg: $color-gray-200;
|
|
1031
1028
|
$page-library-toggle-text: $color-gray-700;
|
|
1032
1029
|
$page-library-confirm-text: $color-gray-700;
|
|
1033
1030
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
:title="title || t('top_models')"
|
|
7
7
|
:count="count ?? items.length"
|
|
8
8
|
:icon="icon"
|
|
9
|
+
:size="size"
|
|
9
10
|
class="section-swiper-cards__title"
|
|
10
11
|
title-tag="h2"
|
|
11
12
|
/>
|
|
@@ -69,6 +70,8 @@ withDefaults(defineProps<{
|
|
|
69
70
|
/** Счётчик в шапке; по умолчанию — число карточек */
|
|
70
71
|
count?: string | number
|
|
71
72
|
icon?: string
|
|
73
|
+
/** Размер заголовка секции — см. `UiSectionTitle` */
|
|
74
|
+
size?: 'lg' | 'xl'
|
|
72
75
|
placeholderAvatar?: string
|
|
73
76
|
/** Карточки только с аватаром и названием, без счётчика роликов */
|
|
74
77
|
withoutCount?: boolean
|
|
@@ -10,18 +10,19 @@
|
|
|
10
10
|
>
|
|
11
11
|
<h1
|
|
12
12
|
v-if="titleTag === 'h1'"
|
|
13
|
-
class="
|
|
13
|
+
:class="titleClass"
|
|
14
14
|
>{{ title }}</h1>
|
|
15
15
|
<h2
|
|
16
16
|
v-else-if="titleTag === 'h2'"
|
|
17
|
-
class="
|
|
17
|
+
:class="titleClass"
|
|
18
18
|
>{{ title }}</h2>
|
|
19
19
|
<h3
|
|
20
20
|
v-else-if="titleTag === 'h3'"
|
|
21
|
-
class="
|
|
21
|
+
:class="titleClass"
|
|
22
22
|
>{{ title }}</h3>
|
|
23
|
+
<!-- Без счётчика остаётся тот же чип, только с одной иконкой -->
|
|
23
24
|
<UiCount
|
|
24
|
-
v-if="count"
|
|
25
|
+
v-if="count || icon"
|
|
25
26
|
:icon="icon"
|
|
26
27
|
class="ui-section-title__count"
|
|
27
28
|
>{{ count }}</UiCount>
|
|
@@ -29,15 +30,23 @@
|
|
|
29
30
|
</template>
|
|
30
31
|
|
|
31
32
|
<script setup lang="ts">
|
|
32
|
-
withDefaults(defineProps<{
|
|
33
|
+
const props = withDefaults(defineProps<{
|
|
33
34
|
count?: string | number
|
|
34
35
|
titleTag?: string
|
|
35
36
|
title: string
|
|
36
37
|
icon?: string
|
|
37
38
|
img?: string
|
|
39
|
+
/** `lg` — страничный заголовок (18px, капс); `xl` — заголовок секции (20px, без капса) */
|
|
40
|
+
size?: 'lg' | 'xl'
|
|
38
41
|
}>(), {
|
|
39
|
-
titleTag: 'h1'
|
|
42
|
+
titleTag: 'h1',
|
|
43
|
+
size: 'lg'
|
|
40
44
|
});
|
|
45
|
+
|
|
46
|
+
const titleClass = computed(() => [
|
|
47
|
+
'ui-section-title__title',
|
|
48
|
+
props.size === 'xl' ? '--xl' : '_title'
|
|
49
|
+
]);
|
|
41
50
|
</script>
|
|
42
51
|
|
|
43
52
|
<style lang="scss">
|
|
@@ -48,6 +57,12 @@ withDefaults(defineProps<{
|
|
|
48
57
|
vertical-align: middle;
|
|
49
58
|
}
|
|
50
59
|
|
|
60
|
+
.ui-section-title__title.--xl {
|
|
61
|
+
@include font-xl;
|
|
62
|
+
|
|
63
|
+
font-weight: 600;
|
|
64
|
+
}
|
|
65
|
+
|
|
51
66
|
.ui-section-title__flag,
|
|
52
67
|
.ui-section-title__count.ui-count {
|
|
53
68
|
display: inline-flex;
|
|
@@ -10,33 +10,6 @@ export const profileNavigationItems = [
|
|
|
10
10
|
title: 'library',
|
|
11
11
|
icon: 'library',
|
|
12
12
|
group: 1,
|
|
13
|
-
childs: [
|
|
14
|
-
{
|
|
15
|
-
value: '/user/profile?edit=true',
|
|
16
|
-
title: 'videos',
|
|
17
|
-
icon: 'video-camera',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
value: '/user/profile?edit=true',
|
|
21
|
-
title: 'watch_later',
|
|
22
|
-
icon: 'time',
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
value: '/user/profile?edit=true',
|
|
26
|
-
title: 'playlists',
|
|
27
|
-
icon: 'list',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
value: '/user/profile?edit=true',
|
|
31
|
-
title: 'models',
|
|
32
|
-
icon: 'user',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
value: '/user/profile?edit=true',
|
|
36
|
-
title: 'channels',
|
|
37
|
-
icon: 'play-circle',
|
|
38
|
-
},
|
|
39
|
-
]
|
|
40
13
|
},
|
|
41
14
|
{
|
|
42
15
|
value: '/user/settings',
|
package/package.json
CHANGED
package/pages/following.vue
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
:header-link-text="t('following.all_models')"
|
|
18
18
|
all-link="/library/models"
|
|
19
19
|
icon="user"
|
|
20
|
+
size="xl"
|
|
20
21
|
placeholder-avatar="/img/model-placeholder.webp"
|
|
21
22
|
class="following__section"
|
|
22
23
|
without-count
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
:header-link-text="t('following.all_channels')"
|
|
32
33
|
all-link="/library/channels"
|
|
33
34
|
icon="play-circle"
|
|
35
|
+
size="xl"
|
|
34
36
|
placeholder-avatar="/img/logo-placeholder.svg"
|
|
35
37
|
class="following__section"
|
|
36
38
|
without-count
|
|
@@ -43,6 +45,7 @@
|
|
|
43
45
|
:count="t('following.updates', { count: categoriesUpdates })"
|
|
44
46
|
icon="grid"
|
|
45
47
|
title-tag="h2"
|
|
48
|
+
size="xl"
|
|
46
49
|
/>
|
|
47
50
|
|
|
48
51
|
<!-- На мобиле плитки «все» в гриде нет, поэтому ссылка вынесена в шапку -->
|
|
@@ -76,6 +79,7 @@
|
|
|
76
79
|
:count="t('following.updates', { count: playlistsUpdates })"
|
|
77
80
|
icon="playlist"
|
|
78
81
|
title-tag="h2"
|
|
82
|
+
size="xl"
|
|
79
83
|
/>
|
|
80
84
|
|
|
81
85
|
<UiLink
|
package/pages/library/index.vue
CHANGED
|
@@ -21,15 +21,12 @@
|
|
|
21
21
|
class="library__section"
|
|
22
22
|
>
|
|
23
23
|
<header class="library__section-header">
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</span>
|
|
31
|
-
{{ t('library.continue_watching') }}
|
|
32
|
-
</h2>
|
|
24
|
+
<UiSectionTitle
|
|
25
|
+
:title="t('library.continue_watching')"
|
|
26
|
+
icon="history"
|
|
27
|
+
title-tag="h2"
|
|
28
|
+
size="xl"
|
|
29
|
+
/>
|
|
33
30
|
|
|
34
31
|
<UiLink
|
|
35
32
|
:to="generateLink('/history')"
|
|
@@ -59,15 +56,12 @@
|
|
|
59
56
|
|
|
60
57
|
<section class="library__section">
|
|
61
58
|
<header class="library__section-header">
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
</span>
|
|
69
|
-
{{ t('library.collections') }}
|
|
70
|
-
</h2>
|
|
59
|
+
<UiSectionTitle
|
|
60
|
+
:title="t('library.collections')"
|
|
61
|
+
icon="layers"
|
|
62
|
+
title-tag="h2"
|
|
63
|
+
size="xl"
|
|
64
|
+
/>
|
|
71
65
|
</header>
|
|
72
66
|
|
|
73
67
|
<ul class="library__grid">
|
|
@@ -87,15 +81,12 @@
|
|
|
87
81
|
|
|
88
82
|
<section class="library__section">
|
|
89
83
|
<header class="library__section-header">
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
</span>
|
|
97
|
-
{{ t('library.following') }}
|
|
98
|
-
</h2>
|
|
84
|
+
<UiSectionTitle
|
|
85
|
+
:title="t('library.following')"
|
|
86
|
+
icon="plus"
|
|
87
|
+
title-tag="h2"
|
|
88
|
+
size="xl"
|
|
89
|
+
/>
|
|
99
90
|
|
|
100
91
|
<UiLink
|
|
101
92
|
:to="generateLink('/following')"
|
|
@@ -307,28 +298,6 @@ const breadcrumbs = [
|
|
|
307
298
|
margin-bottom: 16px;
|
|
308
299
|
}
|
|
309
300
|
|
|
310
|
-
.library__heading {
|
|
311
|
-
@include font-xl;
|
|
312
|
-
|
|
313
|
-
display: flex;
|
|
314
|
-
align-items: center;
|
|
315
|
-
column-gap: 8px;
|
|
316
|
-
margin: 0;
|
|
317
|
-
font-weight: 600;
|
|
318
|
-
color: $page-library-heading;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
.library__heading-icon {
|
|
322
|
-
display: grid;
|
|
323
|
-
place-content: center;
|
|
324
|
-
flex-shrink: 0;
|
|
325
|
-
width: 24px;
|
|
326
|
-
height: 24px;
|
|
327
|
-
color: $page-library-heading-icon;
|
|
328
|
-
background-color: $page-library-heading-icon-bg;
|
|
329
|
-
border-radius: $radius-md;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
301
|
.library__continue {
|
|
333
302
|
display: grid;
|
|
334
303
|
gap: 16px;
|