itube-specs 0.0.477 → 0.0.478
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/components/auth/s-auth-popup.vue +5 -5
- package/components/cards/s-video-mini-card.vue +2 -2
- package/components/grids/s-grid-categories.vue +2 -2
- package/components/grids/s-grid-channels.vue +3 -3
- package/components/grids/s-grid-playlists.vue +1 -1
- package/components/grids/s-grid-videos.vue +2 -2
- package/components/page-components/s-breadcrumbs.vue +2 -2
- package/components/page-components/s-expand-row.vue +3 -3
- package/components/page-components/s-filter-button.vue +1 -1
- package/components/page-components/s-filter-chips.vue +2 -2
- package/components/page-components/s-filter-page.vue +1 -1
- package/components/page-components/s-filter-popup.vue +5 -5
- package/components/page-components/s-filter-slider.vue +1 -1
- package/components/page-components/s-filter-videos-chips.vue +1 -1
- package/components/page-components/s-filter.vue +2 -3
- package/components/page-components/s-footer-models.vue +1 -1
- package/components/page-components/s-info-grid.vue +1 -1
- package/components/page-components/s-info-socials.vue +1 -1
- package/components/page-components/s-model-filters.vue +1 -1
- package/components/page-components/s-navigation-links.vue +1 -1
- package/components/page-components/s-pagination.vue +3 -3
- package/components/page-components/s-report.vue +2 -2
- package/components/page-components/s-share.vue +2 -2
- package/components/page-components/s-videos-title.vue +1 -1
- package/components/playlist/s-playlist-add.vue +4 -4
- package/components/playlist/s-playlist-delete-video.vue +1 -1
- package/components/playlist/s-playlist-edit.vue +5 -5
- package/components/playlist/s-playlist-private-toggle.vue +1 -1
- package/components/ui/s-button.vue +1 -1
- package/components/ui/s-checkbox.vue +4 -4
- package/components/ui/s-count.vue +1 -1
- package/components/ui/s-dropdown.vue +6 -6
- package/components/ui/s-input.vue +9 -9
- package/components/ui/s-label.vue +1 -1
- package/components/ui/s-link.vue +1 -1
- package/components/ui/s-notification.vue +3 -3
- package/components/ui/s-popup.vue +6 -6
- package/components/ui/s-radio.vue +2 -2
- package/components/ui/s-select.vue +3 -3
- package/components/ui/s-toggle.vue +2 -2
- package/components/video/s-video-autoplay.vue +1 -1
- package/composables/use-fetch-categories-by-letter.ts +2 -1
- package/composables/use-fetch-categories-by-name.ts +2 -1
- package/composables/use-fetch-categories-by-phrase.ts +2 -1
- package/composables/use-fetch-categories-group-by-letter.ts +1 -1
- package/composables/use-fetch-categories-related.ts +2 -1
- package/composables/use-fetch-channels-by-model.ts +2 -1
- package/composables/use-fetch-channels-by-name.ts +2 -1
- package/composables/use-fetch-channels-by-network-name.ts +2 -1
- package/composables/use-fetch-channels.ts +2 -1
- package/composables/use-fetch-dictionaries-countries.ts +2 -1
- package/composables/use-fetch-dictionaries-genders.ts +2 -1
- package/composables/use-fetch-footer-categories.ts +2 -1
- package/composables/use-fetch-groups-categories.ts +2 -1
- package/composables/use-fetch-model-by-name.ts +2 -1
- package/composables/use-fetch-models-by-letter.ts +2 -1
- package/composables/use-fetch-models-by-phrases.ts +2 -1
- package/composables/use-fetch-models-related.ts +2 -1
- package/composables/use-fetch-models.ts +2 -1
- package/composables/use-fetch-multi-suggest.ts +2 -2
- package/composables/use-fetch-playlists-by-niche.ts +2 -1
- package/composables/use-fetch-popular-tags-by-model-name.ts +2 -1
- package/composables/use-fetch-related-searches.ts +2 -2
- package/composables/use-fetch-related-videos.ts +2 -1
- package/composables/use-fetch-top-chips-models.ts +2 -1
- package/composables/use-fetch-top-models.ts +1 -1
- package/composables/use-fetch-top-random-categories.ts +2 -1
- package/composables/use-fetch-top-random-full.ts +2 -1
- package/composables/use-fetch-video-referer-phrases.ts +2 -1
- package/composables/use-fetch-video.ts +3 -2
- package/composables/use-fetch-videos-by-categories.ts +2 -1
- package/composables/use-fetch-videos-by-channel.ts +2 -1
- package/composables/use-fetch-videos-by-model-and-channel.ts +2 -1
- package/composables/use-fetch-videos-by-model-and-tag.ts +2 -1
- package/composables/use-fetch-videos-by-model.ts +2 -1
- package/composables/use-fetch-videos-by-tag.ts +2 -1
- package/composables/use-fetch-videos-search-by-niche.ts +2 -1
- package/composables/use-fetch-videos.ts +2 -1
- package/composables/use-generate-link.ts +1 -1
- package/composables/use-global-scroll-lock.ts +1 -1
- package/composables/use-recaptcha.ts +3 -3
- package/composables/use-user.ts +1 -1
- package/lib/scheme/select-added-items.ts +1 -1
- package/lib/scheme/select-duration-items.ts +1 -1
- package/lib/scheme/sort-channels.ts +1 -1
- package/lib/scheme/sort-items-default.ts +1 -1
- package/lib/scheme/sort-models.ts +1 -1
- package/lib/scheme/sort-playlists.ts +1 -1
- package/package.json +1 -1
- package/runtime/utils/server/server-api-helper.ts +1 -1
- package/types/playlist-card.d.ts +1 -1
- package/types/playlist-data.d.ts +1 -1
- package/types/playlist-short.d.ts +1 -1
- package/types/raw/raw-category-card.d.ts +1 -1
- package/types/raw/raw-channel-card.d.ts +1 -1
- package/types/raw/raw-channel-info.d.ts +1 -1
- package/types/raw/raw-model-card.d.ts +1 -1
- package/types/raw/raw-model-info.d.ts +2 -2
- package/types/raw/raw-playlist-card.d.ts +2 -2
- package/types/raw/raw-playlist-data.d.ts +2 -2
- package/types/raw/raw-playlist-user.d.ts +1 -1
- package/types/raw/raw-video-card.d.ts +2 -2
- package/types/raw/raw-video-data.d.ts +1 -1
- package/types/report-form.d.ts +1 -1
- package/types/report-request.d.ts +1 -1
- package/types/report-scheme.d.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="s-auth-popup__decorate"
|
|
2
|
+
<div v-if="isAuthPopupOpen" class="s-auth-popup__decorate"/>
|
|
3
3
|
<transition mode="out-in">
|
|
4
4
|
<SPopup
|
|
5
5
|
v-if="currentStep === EAuthSteps.Registration && isAuthPopupOpen"
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
@back="currentStep -= 1"
|
|
11
11
|
>
|
|
12
12
|
<template #aside>
|
|
13
|
-
<slot
|
|
13
|
+
<slot/>
|
|
14
14
|
</template>
|
|
15
15
|
<template #title>{{ $t('auth.create_new') }}</template>
|
|
16
16
|
<SAuthRegister
|
|
17
|
-
@login="onLoginClick"
|
|
18
17
|
:additional-text="additionalText"
|
|
18
|
+
@login="onLoginClick"
|
|
19
19
|
/>
|
|
20
20
|
</SPopup>
|
|
21
21
|
</transition>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
@back="currentStep -= 1"
|
|
31
31
|
>
|
|
32
32
|
<template #aside>
|
|
33
|
-
<slot
|
|
33
|
+
<slot/>
|
|
34
34
|
</template>
|
|
35
35
|
<template #title>{{ $t('auth.welcome_back') }}</template>
|
|
36
36
|
<SAuthLogin @forgot="onRecoveryClick" @create="currentStep -= 1"/>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
@back="currentStep -= 1"
|
|
48
48
|
>
|
|
49
49
|
<template #aside>
|
|
50
|
-
<slot
|
|
50
|
+
<slot/>
|
|
51
51
|
</template>
|
|
52
52
|
<template #title>{{ $t('auth.recovery_title')}}</template>
|
|
53
53
|
<SAuthRecovery @login="onLoginClick"/>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<component
|
|
3
|
-
class="s-video-mini-card"
|
|
4
3
|
:is="component"
|
|
4
|
+
class="s-video-mini-card"
|
|
5
5
|
:title="card.title"
|
|
6
6
|
:to="link ? generateLink(`/playlists/${prefix}/${card.id}`) : null"
|
|
7
7
|
>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
class="s-video-mini-card__duration"
|
|
20
20
|
theme="black"
|
|
21
21
|
:text="duration"
|
|
22
|
-
|
|
22
|
+
/>
|
|
23
23
|
</div>
|
|
24
24
|
<p class="s-video-mini-card__description _truncate">{{ card.title }}</p>
|
|
25
25
|
</component>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="s-grid-channels"
|
|
4
3
|
id="anchor"
|
|
4
|
+
class="s-grid-channels"
|
|
5
5
|
>
|
|
6
6
|
<FChannelCard
|
|
7
|
-
class="s-grid-channels__card"
|
|
8
7
|
v-for="(item, index) in items"
|
|
9
|
-
:card="item"
|
|
10
8
|
:key="item.guid"
|
|
9
|
+
class="s-grid-channels__card"
|
|
10
|
+
:card="item"
|
|
11
11
|
:priority="priority && index === 0"
|
|
12
12
|
/>
|
|
13
13
|
</div>
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
<slot name="grid-start" />
|
|
9
9
|
<FVideoCard
|
|
10
10
|
v-for="(item, index) in items"
|
|
11
|
+
:key="`video-${item.guid}`"
|
|
11
12
|
class="s-grid-videos__card"
|
|
12
13
|
:card="item"
|
|
13
14
|
:priority="priority && (index === 0 || (!mobile && index === 4))"
|
|
14
15
|
:loading="(index > (mobile ? 3 : 7)) || related ? 'lazy' : 'eager'"
|
|
15
|
-
:key="`video-${item.guid}`"
|
|
16
16
|
:top-chips="topChips"
|
|
17
17
|
:playlist-id="playlistId"
|
|
18
18
|
:playlist="playlist"
|
|
19
19
|
/>
|
|
20
20
|
<slot name="grid-end" />
|
|
21
|
-
<slot
|
|
21
|
+
<slot/>
|
|
22
22
|
</div>
|
|
23
23
|
</template>
|
|
24
24
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
>
|
|
16
16
|
<span itemprop="name" v-html="item.name" />
|
|
17
17
|
</NuxtLink>
|
|
18
|
-
<meta itemprop="position" :content="String(index + 1)"
|
|
18
|
+
<meta itemprop="position" :content="String(index + 1)" >
|
|
19
19
|
</li>
|
|
20
20
|
<li
|
|
21
21
|
itemscope
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
itemtype="https://schema.org/ListItem"
|
|
24
24
|
>
|
|
25
25
|
<span class="s-breadcrumbs__item" aria-current="page" itemprop="name" v-html="items[items.length - 1].name" />
|
|
26
|
-
<meta itemprop="position" :content="String(items.length)"
|
|
26
|
+
<meta itemprop="position" :content="String(items.length)" >
|
|
27
27
|
</li>
|
|
28
28
|
</ol>
|
|
29
29
|
</nav>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="s-expand-row"
|
|
4
3
|
ref="containerRef"
|
|
4
|
+
class="s-expand-row"
|
|
5
5
|
:class="[
|
|
6
6
|
{ '--expand-show': isExpandOpened },
|
|
7
7
|
{ '--alphabet': alphabet },
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
class="s-expand-row__wrapper"
|
|
13
13
|
:class="[{ '--more-show': isElementsOverflow }]"
|
|
14
14
|
>
|
|
15
|
-
<slot name="prepend"
|
|
15
|
+
<slot name="prepend"/>
|
|
16
16
|
<slot>
|
|
17
17
|
<SChips
|
|
18
18
|
v-for="item in itemsResult"
|
|
19
|
-
:item="item"
|
|
20
19
|
:key="item.title"
|
|
20
|
+
:item="item"
|
|
21
21
|
:alphabet="alphabet"
|
|
22
22
|
is-link
|
|
23
23
|
:mini="mini"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<SExpandRow v-if="items.length > 0">
|
|
3
3
|
<template #prepend>
|
|
4
|
-
<slot
|
|
4
|
+
<slot/>
|
|
5
5
|
</template>
|
|
6
6
|
<SChips
|
|
7
7
|
v-for="(item, index) in items"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
bright
|
|
12
12
|
:item="item"
|
|
13
13
|
@click="onChipsClick(item)"
|
|
14
|
-
|
|
14
|
+
/>
|
|
15
15
|
</SExpandRow>
|
|
16
16
|
</template>
|
|
17
17
|
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
/>
|
|
28
28
|
<SSelect
|
|
29
29
|
v-if="(item.kind === 'select') && (item.group.name === group?.name)"
|
|
30
|
+
:key="`model-filter-select-${subIndex}`"
|
|
30
31
|
:name="item.name"
|
|
31
32
|
:model-value="getSelectValue(item.name)"
|
|
32
33
|
:items="selectItems(item)"
|
|
33
34
|
:count="getCount(item)"
|
|
34
35
|
:active="isActiveSelect(item.name)"
|
|
35
|
-
:key="`model-filter-select-${subIndex}`"
|
|
36
36
|
:label="item.title"
|
|
37
37
|
@update:model-value="val => updateSelectFilter(item.name, val)"
|
|
38
38
|
/>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<SPopup
|
|
3
|
-
v-model="isOpen"
|
|
4
3
|
v-if="isOpen"
|
|
4
|
+
v-model="isOpen"
|
|
5
5
|
sheet
|
|
6
6
|
@close="closePopup"
|
|
7
7
|
>
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
<template #fixedContent>
|
|
11
11
|
<div class="s-filter-popup__main-filters">
|
|
12
12
|
<SSelect
|
|
13
|
-
name="duration"
|
|
14
13
|
v-model="durationValue"
|
|
14
|
+
name="duration"
|
|
15
15
|
:items="translateTitle(durationItems)"
|
|
16
16
|
:placeholder="t('duration')"
|
|
17
17
|
icon="tape"
|
|
18
18
|
/>
|
|
19
19
|
<SSelect
|
|
20
|
-
name="added"
|
|
21
20
|
v-model="addedValue"
|
|
21
|
+
name="added"
|
|
22
22
|
:items="translateTitle(addedItems)"
|
|
23
23
|
:placeholder="t('added')"
|
|
24
24
|
icon="clock"
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
<div class="s-filter-popup__filters">
|
|
30
30
|
<SSelect
|
|
31
31
|
v-for="(item, index) in scheme"
|
|
32
|
-
:name="item.title"
|
|
33
32
|
:key="`scheme-${index}`"
|
|
34
33
|
v-model="filterValue[item.name.toLowerCase()]"
|
|
34
|
+
:name="item.title"
|
|
35
35
|
:items="item.items"
|
|
36
36
|
:label="item?.label"
|
|
37
37
|
:placeholder="item.placeholder"
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
theme="secondary"
|
|
45
45
|
wide
|
|
46
46
|
size="l"
|
|
47
|
-
@click="reset"
|
|
48
47
|
:disabled="!isFiltered"
|
|
48
|
+
@click="reset"
|
|
49
49
|
>{{ t('reset_all') }}
|
|
50
50
|
</SButton>
|
|
51
51
|
<SButton
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<ClientOnly v-if="getRangeInfo(item.options)">
|
|
3
3
|
<SSlider
|
|
4
4
|
v-if="(item.kind === 'range') && (item.group.name === groupName)"
|
|
5
|
+
:key="`model-filter-range-${index}`"
|
|
5
6
|
:min="getRangeInfo(item.options)?.min"
|
|
6
7
|
:max="getRangeInfo(item.options)?.max"
|
|
7
8
|
:step="getRangeInfo(item.options)?.step"
|
|
@@ -10,7 +11,6 @@
|
|
|
10
11
|
maxRangeValue(item)
|
|
11
12
|
]"
|
|
12
13
|
:title="item.title"
|
|
13
|
-
:key="`model-filter-range-${index}`"
|
|
14
14
|
:active="isActive(item.name)"
|
|
15
15
|
:format="formatterSlider(item.options)"
|
|
16
16
|
:between="betweenText(item.options, getRangeInfo(item.options)?.min, getRangeInfo(item.options)?.max)"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="s-filter">
|
|
3
3
|
<SFilterButton
|
|
4
|
-
:count="filterCount"
|
|
5
4
|
v-model="filterOpen"
|
|
5
|
+
:count="filterCount"
|
|
6
6
|
:theme="buttonTheme"
|
|
7
7
|
:size="buttonSize"
|
|
8
8
|
/>
|
|
@@ -21,9 +21,8 @@
|
|
|
21
21
|
</template>
|
|
22
22
|
|
|
23
23
|
<script setup lang="ts">
|
|
24
|
-
import type { ButtonSizes, ButtonThemes, IFilterScheme } from '../../types';
|
|
24
|
+
import type { ButtonSizes, ButtonThemes, IFilterScheme, ISelectItem } from '../../types';
|
|
25
25
|
import type { LocationQuery } from '#vue-router';
|
|
26
|
-
import type { ISelectItem } from '../../types';
|
|
27
26
|
|
|
28
27
|
const route = useRoute();
|
|
29
28
|
const filterOpen = ref(false);
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<div class="s-info-grid">
|
|
3
3
|
<div
|
|
4
4
|
v-for="(item, index) in card.parameters"
|
|
5
|
-
class="s-info-grid__item"
|
|
6
5
|
:key="`s-info-grid-item-${index}`"
|
|
6
|
+
class="s-info-grid__item"
|
|
7
7
|
>
|
|
8
8
|
<span class="s-info-grid__item-title">{{ item.title }}</span>
|
|
9
9
|
<p class="s-info-grid__item-values">
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<div class="s-info-socials">
|
|
3
3
|
<NuxtLink
|
|
4
4
|
v-for="(item, index) in items"
|
|
5
|
-
class="s-info-socials__item"
|
|
6
5
|
:key="`info-social-${index}`"
|
|
6
|
+
class="s-info-socials__item"
|
|
7
7
|
:to="Array.isArray(item.name) ? item.name[0] : item.name"
|
|
8
8
|
target="_blank"
|
|
9
9
|
:aria-label="item.title"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="s-navigation-links">
|
|
3
3
|
<SLink
|
|
4
|
-
class="s-navigation-links__button"
|
|
5
4
|
v-for="(item, index) in items"
|
|
6
5
|
:key="`sort-item-${index}`"
|
|
6
|
+
class="s-navigation-links__button"
|
|
7
7
|
:to="item.query ? linkTo(item, index) : generateLink(item.value)"
|
|
8
8
|
:active="isActive(item, index)"
|
|
9
9
|
:size="size"
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
<template v-if="length <= 6">
|
|
9
9
|
<NuxtLink
|
|
10
|
+
v-for="number in length"
|
|
11
|
+
:key="`pagination-${number}`"
|
|
10
12
|
class="s-pagination__item"
|
|
11
13
|
:class="[
|
|
12
14
|
number === activeNumber && 's-pagination__item--active',
|
|
13
15
|
theme && `s-button --${theme}`
|
|
14
16
|
]"
|
|
15
|
-
v-for="number in length"
|
|
16
|
-
:key="`pagination-${number}`"
|
|
17
17
|
:to="linkTo(number)"
|
|
18
18
|
>
|
|
19
19
|
{{ number }}
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
</NuxtLink>
|
|
50
50
|
<NuxtLink
|
|
51
51
|
v-for="number in activeNumbers"
|
|
52
|
+
:key="`pagination-${number}`"
|
|
52
53
|
:class="[
|
|
53
54
|
number === activeNumber && 's-pagination__item--active',
|
|
54
55
|
theme && `s-button --${theme}`
|
|
55
56
|
]"
|
|
56
57
|
class="s-pagination__item"
|
|
57
|
-
:key="`pagination-${number}`"
|
|
58
58
|
:to="linkTo(number)"
|
|
59
59
|
>
|
|
60
60
|
{{ number }}
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
<div class="s-report__forms">
|
|
17
17
|
<details
|
|
18
18
|
v-for="(item, index) in reportFormsScheme"
|
|
19
|
+
:key="`report-form-${index}`"
|
|
19
20
|
class="s-report__form"
|
|
20
21
|
name="report-details"
|
|
21
|
-
:key="`report-form-${index}`"
|
|
22
22
|
@toggle="(event) => onToggle(event, item.subject)"
|
|
23
23
|
>
|
|
24
24
|
<summary
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
>
|
|
59
59
|
<SInput
|
|
60
60
|
v-if="['text', 'tel', 'textarea'].includes(subItem.type)"
|
|
61
|
-
v-model="form.data[subItem.value] as string"
|
|
62
61
|
:key="`report-form-${index}`"
|
|
62
|
+
v-model="form.data[subItem.value] as string"
|
|
63
63
|
:label=" t(`report_form.${subItem.label}`)"
|
|
64
64
|
:type="subItem.type as InputTypes"
|
|
65
65
|
:class="{'--wide': subItem.wide}"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<transition mode="out-in">
|
|
3
3
|
<SPopup
|
|
4
|
-
v-model="isSharePopupOpen"
|
|
5
4
|
v-if="isSharePopupOpen"
|
|
5
|
+
v-model="isSharePopupOpen"
|
|
6
6
|
sheet
|
|
7
7
|
>
|
|
8
8
|
<template #title>{{ $t('share') }}</template>
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
<div class="s-share__buttons">
|
|
16
16
|
<a
|
|
17
17
|
v-for="(item, index) in buttons"
|
|
18
|
+
:key="`share-button-${index}`"
|
|
18
19
|
class="s-share__button"
|
|
19
20
|
target="_blank"
|
|
20
|
-
:key="`share-button-${index}`"
|
|
21
21
|
:href="item.link"
|
|
22
22
|
>
|
|
23
23
|
<SImg
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<h1 v-if="titleTag === 'h1'" class="s-videos-title__title _title" v-html="title"/>
|
|
4
4
|
<h2 v-else-if="titleTag === 'h2'" class="s-videos-title__title _title" v-html="title"/>
|
|
5
5
|
<h3 v-else-if="titleTag === 'h3'" class="s-videos-title__title _title" v-html="title"/>
|
|
6
|
-
<SCount class="s-videos-title__count"
|
|
6
|
+
<SCount v-if="count" class="s-videos-title__count">{{ count }}</SCount>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="s-playlist-add__decorate _to-sm"
|
|
2
|
+
<div v-if="isPlaylistAdd" class="s-playlist-add__decorate _to-sm"/>
|
|
3
3
|
<!-- Add-->
|
|
4
4
|
<transition mode="out-in">
|
|
5
5
|
<SPopup
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
v-if="playlistsItems && playlistsItems.length"
|
|
25
25
|
>
|
|
26
26
|
<SSelect
|
|
27
|
-
name="add-playlist"
|
|
28
27
|
v-model="selectValue"
|
|
28
|
+
name="add-playlist"
|
|
29
29
|
:items="playlistsItems"
|
|
30
30
|
:placeholder="$t('choose_playlist')"
|
|
31
31
|
/>
|
|
@@ -81,11 +81,11 @@
|
|
|
81
81
|
>
|
|
82
82
|
<template #title>{{ $t('playlist.new_playlist') }}</template>
|
|
83
83
|
<SPlaylistNew
|
|
84
|
+
:loading-post-playlist="loadingPostPlaylist"
|
|
84
85
|
@close="closePopup"
|
|
85
86
|
@post="postPlaylist"
|
|
86
|
-
:loading-post-playlist="loadingPostPlaylist"
|
|
87
87
|
/>
|
|
88
|
-
<slot
|
|
88
|
+
<slot/>
|
|
89
89
|
</SPopup>
|
|
90
90
|
</transition>
|
|
91
91
|
<!-- New-->
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="s-playlist-edit__decorate"
|
|
4
3
|
v-if="isPlaylistEditOpen"
|
|
4
|
+
class="s-playlist-edit__decorate"
|
|
5
5
|
/>
|
|
6
6
|
|
|
7
7
|
<!-- Delete-->
|
|
8
8
|
<transition mode="out-in">
|
|
9
9
|
<SPopup
|
|
10
|
-
v-model="isPlaylistEditOpen"
|
|
11
10
|
v-if="isPlaylistEditOpen && currentStep === EPlaylistStep.Delete"
|
|
11
|
+
v-model="isPlaylistEditOpen"
|
|
12
12
|
sheet
|
|
13
13
|
transparent-backdrop
|
|
14
14
|
>
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
<!-- Edit-->
|
|
53
53
|
<transition mode="out-in">
|
|
54
54
|
<SPopup
|
|
55
|
-
v-model="isPlaylistEditOpen"
|
|
56
55
|
v-if="isPlaylistEditOpen && currentStep === EPlaylistStep.Edit && data"
|
|
56
|
+
v-model="isPlaylistEditOpen"
|
|
57
57
|
transparent-backdrop
|
|
58
58
|
>
|
|
59
59
|
<template #title>{{ $t('playlist.edit_playlist') }}</template>
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
<template #fixedContent>
|
|
62
62
|
<div class="s-playlist-edit__subheader-wrapper">
|
|
63
63
|
<SInput
|
|
64
|
-
:label="$t('playlist.playlist')"
|
|
65
64
|
v-model="inputValue"
|
|
65
|
+
:label="$t('playlist.playlist')"
|
|
66
66
|
/>
|
|
67
67
|
<SPlaylistPrivateToggle v-model="toggleValue"/>
|
|
68
68
|
</div>
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
>
|
|
76
76
|
<div
|
|
77
77
|
v-for="(card, index) in data.items"
|
|
78
|
-
class="s-playlist-edit__card-wrapper"
|
|
79
78
|
:key="`playlist-edit-${index}`"
|
|
79
|
+
class="s-playlist-edit__card-wrapper"
|
|
80
80
|
>
|
|
81
81
|
<SVideoMiniCard
|
|
82
82
|
class="s-playlist-edit__card"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<SToggle
|
|
4
4
|
class="s-playlist-private-toggle__toggler"
|
|
5
5
|
:model-value="modelValue"
|
|
6
|
-
@update:
|
|
6
|
+
@update:model-value="(event: Event) => emit('update:modelValue', event)"
|
|
7
7
|
/>
|
|
8
8
|
<p class="s-playlist-private-toggle__text">{{ $t('playlist.private_playlist')}}</p>
|
|
9
9
|
</div>
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
type="checkbox"
|
|
12
12
|
:name="name"
|
|
13
13
|
:checked="modelValue"
|
|
14
|
-
@change="onChange"
|
|
15
14
|
v-bind="$attrs"
|
|
15
|
+
@change="onChange"
|
|
16
16
|
>
|
|
17
17
|
<span class="s-checkbox__check">
|
|
18
18
|
<SIcon
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
/>
|
|
23
23
|
</span>
|
|
24
24
|
<span class="s-checkbox__label">
|
|
25
|
-
<slot
|
|
25
|
+
<slot/>
|
|
26
26
|
</span>
|
|
27
27
|
<span
|
|
28
28
|
v-if="$slots.description"
|
|
29
29
|
class="s-checkbox__description"
|
|
30
30
|
>
|
|
31
|
-
<slot name="description"
|
|
31
|
+
<slot name="description"/>
|
|
32
32
|
</span>
|
|
33
33
|
</label>
|
|
34
34
|
</template>
|
|
@@ -42,7 +42,7 @@ const props = defineProps<{
|
|
|
42
42
|
}>()
|
|
43
43
|
|
|
44
44
|
const emit = defineEmits<{
|
|
45
|
-
(eventName: 'update:modelValue', value:
|
|
45
|
+
(eventName: 'update:modelValue', value: boolean): void
|
|
46
46
|
(eventName: 'update:error', value: boolean): void
|
|
47
47
|
}>()
|
|
48
48
|
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
class="s-dropdown__trigger"
|
|
18
18
|
@click="openDropdown"
|
|
19
19
|
>
|
|
20
|
-
<slot name="trigger"
|
|
20
|
+
<slot name="trigger"/>
|
|
21
21
|
</div>
|
|
22
22
|
<transition name="s-dropdown" mode="out-in">
|
|
23
23
|
<dialog
|
|
24
24
|
v-if="useVIf ? open && $slots.items : true"
|
|
25
|
-
:style="!useVIf ? { display: (open && $slots.items) ? '' : 'none' } : {}"
|
|
26
25
|
ref="menuRef"
|
|
26
|
+
:style="!useVIf ? { display: (open && $slots.items) ? '' : 'none' } : {}"
|
|
27
27
|
class="s-dropdown__menu"
|
|
28
28
|
:class="{'--open': open}"
|
|
29
29
|
@click="close"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
class="s-dropdown__sheet-close _to-sm"
|
|
33
33
|
type="button"
|
|
34
34
|
@click="close"
|
|
35
|
-
|
|
35
|
+
/>
|
|
36
36
|
<button
|
|
37
37
|
class="s-dropdown__crest _to-sm"
|
|
38
38
|
type="button"
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
>
|
|
41
41
|
<SIcon name="close" size="20"/>
|
|
42
42
|
</button>
|
|
43
|
-
<slot name="header"
|
|
44
|
-
<div
|
|
45
|
-
<slot name="items" v-bind="'s-dropdown__item'"
|
|
43
|
+
<slot name="header"/>
|
|
44
|
+
<div v-if="$slots.items" class="s-dropdown__menu-items">
|
|
45
|
+
<slot name="items" v-bind="'s-dropdown__item'"/>
|
|
46
46
|
</div>
|
|
47
47
|
</dialog>
|
|
48
48
|
</transition>
|