@streamscloud/embeddable 12.0.0 → 12.2.0
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/dist/ads/ad-card/cmp.ad-card.svelte +4 -16
- package/dist/content-player/cmp.content-player.svelte +1 -1
- package/dist/content-player/content-player-config.svelte.d.ts +1 -0
- package/dist/content-player/content-player-settings.js +1 -0
- package/dist/content-player/controls-and-attachments.svelte +32 -2
- package/dist/content-player/controls-and-attachments.svelte.d.ts +1 -0
- package/dist/content-player/overview-panel.svelte +2 -2
- package/dist/content-player/ui-manager.svelte.d.ts +2 -1
- package/dist/content-player/ui-manager.svelte.js +2 -1
- package/dist/core/enums.d.ts +3 -0
- package/dist/core/enums.js +4 -0
- package/dist/core/theme/index.d.ts +1 -0
- package/dist/core/theme/index.js +1 -0
- package/dist/core/theme/theme-store.svelte.d.ts +5 -0
- package/dist/core/theme/theme-store.svelte.js +10 -0
- package/dist/media-center/config/internal-media-center-config.js +13 -12
- package/dist/media-center/config/operations.generated.d.ts +36 -30
- package/dist/media-center/config/operations.generated.js +53 -44
- package/dist/media-center/config/operations.graphql +34 -28
- package/dist/media-center/config/types.d.ts +8 -0
- package/dist/media-center/media-center/cmp.media-center-proxy.svelte +59 -0
- package/dist/media-center/media-center/cmp.media-center-proxy.svelte.d.ts +12 -0
- package/dist/media-center/media-center/discover/discover-header.svelte +10 -13
- package/dist/media-center/media-center/discover/discover-header.svelte.d.ts +0 -2
- package/dist/media-center/media-center/discover/discover-view.svelte +6 -6
- package/dist/media-center/media-center/discover/discover-view.svelte.d.ts +0 -2
- package/dist/media-center/media-center/handlers/categories-handler.svelte.d.ts +25 -12
- package/dist/media-center/media-center/handlers/categories-handler.svelte.js +18 -3
- package/dist/media-center/media-center/handlers/index.d.ts +1 -0
- package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.d.ts +2 -0
- package/dist/media-center/media-center/handlers/media-center-settings-handler.svelte.js +20 -1
- package/dist/media-center/media-center/header-footer/media-center-footer.svelte +6 -6
- package/dist/media-center/media-center/header-footer/media-center-header-mobile.svelte +5 -4
- package/dist/media-center/media-center/header-footer/media-center-header.svelte +6 -8
- package/dist/media-center/media-center/header-footer/media-center-header.svelte.d.ts +0 -2
- package/dist/media-center/media-center/index.d.ts +1 -1
- package/dist/media-center/media-center/index.js +1 -1
- package/dist/media-center/media-center/media-center-context.svelte.d.ts +3 -13
- package/dist/media-center/media-center/media-center-context.svelte.js +11 -7
- package/dist/media-center/media-center/{cmp.media-center.svelte → media-center-view.svelte} +56 -107
- package/dist/media-center/media-center/media-center-view.svelte.d.ts +7 -0
- package/dist/media-center/media-center/menu/menu.svelte +92 -95
- package/dist/media-center/media-center/menu/menu.svelte.d.ts +0 -2
- package/dist/media-center/media-center/moments/cmp.moments-circle.svelte +7 -3
- package/dist/media-center/media-center/streams-in-category/streams-in-category-panel.svelte +2 -3
- package/dist/media-center/media-center/types.d.ts +1 -8
- package/dist/media-page/cmp.media-page.svelte +39 -0
- package/dist/media-page/cmp.media-page.svelte.d.ts +10 -0
- package/dist/media-page/index.d.ts +2 -0
- package/dist/media-page/index.js +3 -2
- package/dist/posts/attachments/cmp.attachments.svelte +1 -1
- package/dist/posts/controls/cmp.controls.svelte +4 -1
- package/dist/posts/controls/cmp.controls.svelte.d.ts +2 -0
- package/dist/posts/post-viewer/attachments-horizontal.svelte +4 -12
- package/dist/posts/post-viewer/heading.svelte +4 -4
- package/dist/posts/post-viewer/media/post-media.svelte +1 -1
- package/dist/posts/post-viewer/post-texts.svelte +2 -2
- package/dist/posts/posts-player/cmp.posts-player.svelte.d.ts +1 -0
- package/dist/posts/posts-player/index.d.ts +1 -0
- package/dist/posts/posts-player/index.js +2 -2
- package/dist/posts/posts-player/posts-player-proxy.svelte +13 -4
- package/dist/posts/posts-player/posts-player-proxy.svelte.d.ts +1 -0
- package/dist/products/product-card/cmp.product-card.svelte +4 -16
- package/dist/short-videos/short-video-card/cmp.short-video-card.svelte +6 -6
- package/dist/streams/data-loaders/streams-loader.js +6 -2
- package/dist/streams/stream-card/cmp.stream-card.svelte +1 -1
- package/dist/streams/streams-player/cmp.streams-player.svelte +42 -0
- package/dist/streams/streams-player/cmp.streams-player.svelte.d.ts +24 -0
- package/dist/streams/streams-player/index.d.ts +1 -0
- package/dist/streams/streams-player/index.js +5 -5
- package/dist/streams/streams-player/stream-overview.svelte +1 -1
- package/dist/streams/streams-player/streams-player-proxy.svelte +32 -0
- package/dist/streams/streams-player/streams-player-proxy.svelte.d.ts +26 -0
- package/dist/ui/button/resources/button-theme.svelte +0 -151
- package/dist/ui/button/resources/button-types.d.ts +0 -1
- package/dist/ui/button/resources/button-types.js +0 -1
- package/dist/ui/icon/cmp.icon.svelte +8 -28
- package/dist/ui/image/cmp.image-rounded.svelte +3 -10
- package/dist/ui/image/cmp.image-stub.svelte +1 -4
- package/dist/ui/image/cmp.image.svelte +1 -4
- package/dist/ui/loading/cmp.loading.svelte +1 -4
- package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte +2 -2
- package/dist/ui/player/button/cmp.mobile-player-buttons-group.svelte.d.ts +2 -2
- package/dist/ui/player/button/cmp.player-button.svelte +7 -3
- package/dist/ui/player/button/cmp.player-buttons-group.svelte +4 -3
- package/dist/ui/player/button/cmp.player-buttons-group.svelte.d.ts +2 -2
- package/dist/ui/player/button/index.d.ts +1 -1
- package/dist/ui/player/button/types.d.ts +1 -1
- package/dist/ui/player/colors/player-colors.d.ts +1 -0
- package/dist/ui/shadow-dom/cmp.shadow-root.svelte +156 -0
- package/dist/ui/shadow-dom/colors.scss +72 -0
- package/dist/ui/shadow-dom/index.d.ts +1 -0
- package/dist/ui/shadow-dom/index.js +1 -0
- package/dist/ui/shadow-dom/shadow-root-service.js +0 -4
- package/dist/ui/slider/cmp.slider.svelte +5 -5
- package/package.json +1 -1
- package/dist/media-center/media-center/cmp.media-center.svelte.d.ts +0 -4
- package/dist/ui/with-background/cmp.with-background.svelte +0 -86
- package/dist/ui/with-background/index.d.ts +0 -1
- package/dist/ui/with-background/index.js +0 -1
- /package/dist/ui/{with-background/cmp.with-background.svelte.d.ts → shadow-dom/cmp.shadow-root.svelte.d.ts} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IMediaCenterConfig } from '../config/types';
|
|
2
|
+
import { type ICloseOrchestrator } from '../../ui/player/close-orchestrator';
|
|
3
|
+
import type { MediaCenterSettings, MediaCenterModeProps } from './types';
|
|
4
|
+
type Props = {
|
|
5
|
+
config: IMediaCenterConfig;
|
|
6
|
+
settings?: MediaCenterSettings;
|
|
7
|
+
modeProps: MediaCenterModeProps;
|
|
8
|
+
closeOrchestrator: ICloseOrchestrator;
|
|
9
|
+
};
|
|
10
|
+
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
11
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
12
|
+
export default Cmp;
|
|
@@ -4,8 +4,8 @@ import { LineClamp } from '../../../ui/line-clamp';
|
|
|
4
4
|
import { ProportionalContainer } from '../../../ui/proportional-container';
|
|
5
5
|
import { DiscoverHeaderLocalization } from './discover-header-localization';
|
|
6
6
|
import { MomentsCircle } from '../moments';
|
|
7
|
-
let { context
|
|
8
|
-
const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
7
|
+
let { context } = $props();
|
|
8
|
+
const localization = $derived(new DiscoverHeaderLocalization(context.locale));
|
|
9
9
|
</script>
|
|
10
10
|
|
|
11
11
|
{#if context.targetData}
|
|
@@ -19,7 +19,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
19
19
|
<p class="header__handle">@{target.handle}</p>
|
|
20
20
|
<div class="header__members">
|
|
21
21
|
<span class="header__members-count">
|
|
22
|
-
{compactNumber(target.membersCount, { locale:
|
|
22
|
+
{compactNumber(target.membersCount, { locale: context.locale })}
|
|
23
23
|
</span>
|
|
24
24
|
<span class="header__members-label">
|
|
25
25
|
{localization.membersLabel(target.membersCount)}
|
|
@@ -28,7 +28,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
28
28
|
|
|
29
29
|
{#if target.description}
|
|
30
30
|
<p class="header__description">
|
|
31
|
-
<LineClamp enableShowMore={true} locale={locale}>{target.description}</LineClamp>
|
|
31
|
+
<LineClamp enableShowMore={true} locale={context.locale}>{target.description}</LineClamp>
|
|
32
32
|
</p>
|
|
33
33
|
{/if}
|
|
34
34
|
</div>
|
|
@@ -60,7 +60,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
60
60
|
</div>
|
|
61
61
|
{#if target.description}
|
|
62
62
|
<p class="header-mobile__description">
|
|
63
|
-
<LineClamp enableShowMore={true} locale={locale}>{target.description}</LineClamp>
|
|
63
|
+
<LineClamp enableShowMore={true} locale={context.locale}>{target.description}</LineClamp>
|
|
64
64
|
</p>
|
|
65
65
|
{/if}
|
|
66
66
|
</div>
|
|
@@ -82,7 +82,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
82
82
|
flex-direction: row;
|
|
83
83
|
gap: 2.25rem;
|
|
84
84
|
padding-top: 1.25rem;
|
|
85
|
-
color:
|
|
85
|
+
color: var(--sc-mc-color--text-primary);
|
|
86
86
|
/* Set 'container-type: inline-size;' to reference container*/
|
|
87
87
|
}
|
|
88
88
|
@container (width < 576px) {
|
|
@@ -109,10 +109,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
109
109
|
.header__handle {
|
|
110
110
|
font-size: 0.875rem;
|
|
111
111
|
font-weight: 400;
|
|
112
|
-
color:
|
|
113
|
-
}
|
|
114
|
-
:global([data-theme="dark"]) .header__handle {
|
|
115
|
-
color: #5a8dec;
|
|
112
|
+
color: var(--sc-mc-color--text-brand);
|
|
116
113
|
}
|
|
117
114
|
.header__members {
|
|
118
115
|
margin-top: 0.625rem;
|
|
@@ -129,7 +126,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
129
126
|
font-size: 0.75rem;
|
|
130
127
|
line-height: 1;
|
|
131
128
|
font-weight: 400;
|
|
132
|
-
color:
|
|
129
|
+
color: var(--sc-mc-color--text-secondary);
|
|
133
130
|
}
|
|
134
131
|
.header__description {
|
|
135
132
|
margin-top: 0.875rem;
|
|
@@ -154,7 +151,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
154
151
|
flex-direction: column;
|
|
155
152
|
gap: 1.0625rem;
|
|
156
153
|
padding-top: 0.625rem;
|
|
157
|
-
color:
|
|
154
|
+
color: var(--sc-mc-color--text-primary);
|
|
158
155
|
/* Set 'container-type: inline-size;' to reference container*/
|
|
159
156
|
}
|
|
160
157
|
@container (width < 576px) {
|
|
@@ -205,7 +202,7 @@ const localization = $derived(new DiscoverHeaderLocalization(locale));
|
|
|
205
202
|
font-size: 0.75rem;
|
|
206
203
|
line-height: 1;
|
|
207
204
|
font-weight: 600;
|
|
208
|
-
color:
|
|
205
|
+
color: var(--sc-mc-color--text-secondary);
|
|
209
206
|
}
|
|
210
207
|
.header-mobile__description {
|
|
211
208
|
font-size: 1rem;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type { Locale } from '../../../core/locale';
|
|
2
1
|
import type { MediaCenterContext } from '../media-center-context.svelte';
|
|
3
2
|
type Props = {
|
|
4
3
|
context: MediaCenterContext;
|
|
5
|
-
locale?: Locale;
|
|
6
4
|
};
|
|
7
5
|
declare const DiscoverHeader: import("svelte").Component<Props, {}, "">;
|
|
8
6
|
type DiscoverHeader = ReturnType<typeof DiscoverHeader>;
|
|
@@ -4,15 +4,15 @@ import { StreamCard } from '../../../streams/stream-card';
|
|
|
4
4
|
import { InfiniteScrolling } from '../../../ui/infinite-scrolling';
|
|
5
5
|
import { default as Header } from './discover-header.svelte';
|
|
6
6
|
import { DiscoverViewLocalization } from './discover-view-localization';
|
|
7
|
-
let { context,
|
|
7
|
+
let { context, on } = $props();
|
|
8
8
|
const handler = $derived(context.discoverHandler);
|
|
9
|
-
const localization = $derived(new DiscoverViewLocalization(locale));
|
|
9
|
+
const localization = $derived(new DiscoverViewLocalization(context.locale));
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
{#if !handler.loading}
|
|
13
13
|
<div class="media-center-discover">
|
|
14
14
|
<div class="media-center-discover__content">
|
|
15
|
-
<Header context={context}
|
|
15
|
+
<Header context={context} />
|
|
16
16
|
{#if handler.streamsHolder?.streams.length}
|
|
17
17
|
<div class="media-center-discover__section">
|
|
18
18
|
<div class="media-center-discover__section-header">
|
|
@@ -46,7 +46,7 @@ const localization = $derived(new DiscoverViewLocalization(locale));
|
|
|
46
46
|
viewsCount: item.viewsCount,
|
|
47
47
|
products: item.products
|
|
48
48
|
}}
|
|
49
|
-
locale={locale}
|
|
49
|
+
locale={context.locale}
|
|
50
50
|
on={{ click: () => on.shortVideoSelected(item) }} />
|
|
51
51
|
{/each}
|
|
52
52
|
</div>
|
|
@@ -154,8 +154,8 @@ const localization = $derived(new DiscoverViewLocalization(locale));
|
|
|
154
154
|
font-size: 1.125rem;
|
|
155
155
|
line-height: 1.75rem;
|
|
156
156
|
font-weight: 600;
|
|
157
|
-
color:
|
|
158
|
-
text-shadow:
|
|
157
|
+
color: var(--sc-mc-color--text-white);
|
|
158
|
+
text-shadow: var(--sc-mc-color--text-white-shadow);
|
|
159
159
|
}
|
|
160
160
|
.media-center-discover__section-content {
|
|
161
161
|
display: grid;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type { Locale } from '../../../core/locale';
|
|
2
1
|
import type { PostPlayerModel } from '../../../posts/posts-player/types';
|
|
3
2
|
import type { StreamPlayerModel } from '../../../streams/streams-player';
|
|
4
3
|
import type { MediaCenterContext } from '../media-center-context.svelte';
|
|
5
4
|
type Props = {
|
|
6
5
|
context: MediaCenterContext;
|
|
7
|
-
locale?: Locale;
|
|
8
6
|
on: {
|
|
9
7
|
shortVideoSelected: (shortVideo: PostPlayerModel) => void;
|
|
10
8
|
streamSelected: (stream: StreamPlayerModel) => void;
|
|
@@ -2,6 +2,7 @@ import type { MediaCenterConfigModel } from '../../config/types';
|
|
|
2
2
|
import type { MediaCenterCategoryData } from '../types';
|
|
3
3
|
export declare class CategoriesHandler {
|
|
4
4
|
private _allCateogories;
|
|
5
|
+
private _tagAssociations;
|
|
5
6
|
private _selectedCategoryId;
|
|
6
7
|
get allCategories(): {
|
|
7
8
|
id: string;
|
|
@@ -9,19 +10,31 @@ export declare class CategoriesHandler {
|
|
|
9
10
|
image: string | null;
|
|
10
11
|
parentId: string | null;
|
|
11
12
|
}[];
|
|
12
|
-
get categoriesGrouped():
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
children: {
|
|
16
|
-
id: string;
|
|
17
|
-
name: string;
|
|
18
|
-
image: string | null;
|
|
19
|
-
parentId: string;
|
|
20
|
-
}[];
|
|
21
|
-
image: string | null;
|
|
22
|
-
}[];
|
|
13
|
+
get categoriesGrouped(): MediaCenterCategoryModel[];
|
|
23
14
|
get selectedCategoryId(): string | null;
|
|
24
15
|
set selectedCategoryId(value: string | null);
|
|
25
16
|
getCategoryData: (categoryId: string) => MediaCenterCategoryData | null;
|
|
26
|
-
init: (
|
|
17
|
+
init: (data: {
|
|
18
|
+
categories: MediaCenterConfigModel["contentCategories"];
|
|
19
|
+
tagAssociations: MediaCenterConfigModel["categoryTagAssociations"];
|
|
20
|
+
}) => Promise<void>;
|
|
27
21
|
}
|
|
22
|
+
export type MediaCenterCategoryModel = {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
image: string | null;
|
|
26
|
+
tag: MediaCenterCategoryTagModel | null;
|
|
27
|
+
children: MediaCenterSubCategoryModel[];
|
|
28
|
+
};
|
|
29
|
+
export type MediaCenterSubCategoryModel = {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
image: string | null;
|
|
33
|
+
parentId: string;
|
|
34
|
+
tag: MediaCenterCategoryTagModel | null;
|
|
35
|
+
};
|
|
36
|
+
export type MediaCenterCategoryTagModel = {
|
|
37
|
+
text: string;
|
|
38
|
+
fontColor: string;
|
|
39
|
+
backgroundColor: string;
|
|
40
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export class CategoriesHandler {
|
|
2
2
|
_allCateogories = $state.raw([]);
|
|
3
|
+
_tagAssociations = $state.raw(new Map());
|
|
3
4
|
_selectedCategoryId = $state.raw(null);
|
|
4
5
|
get allCategories() {
|
|
5
6
|
return this._allCateogories;
|
|
@@ -9,8 +10,14 @@ export class CategoriesHandler {
|
|
|
9
10
|
.filter((c) => !c.parentId)
|
|
10
11
|
.map((c) => {
|
|
11
12
|
const childCategories = this._allCateogories.filter((cc) => cc.parentId === c.id);
|
|
12
|
-
const children = childCategories.map((cc) => ({
|
|
13
|
-
|
|
13
|
+
const children = childCategories.map((cc) => ({
|
|
14
|
+
id: cc.id,
|
|
15
|
+
name: cc.name,
|
|
16
|
+
image: cc.image,
|
|
17
|
+
parentId: cc.parentId,
|
|
18
|
+
tag: this._tagAssociations.get(cc.id) || null
|
|
19
|
+
}));
|
|
20
|
+
return { id: c.id, name: c.name, image: c.image, tag: this._tagAssociations.get(c.id) || null, children };
|
|
14
21
|
});
|
|
15
22
|
}
|
|
16
23
|
get selectedCategoryId() {
|
|
@@ -33,7 +40,15 @@ export class CategoriesHandler {
|
|
|
33
40
|
};
|
|
34
41
|
return selectedCategoryData;
|
|
35
42
|
};
|
|
36
|
-
init = async (
|
|
43
|
+
init = async (data) => {
|
|
44
|
+
const { categories, tagAssociations } = data;
|
|
37
45
|
this._allCateogories = categories;
|
|
46
|
+
const newTagAssociations = new Map();
|
|
47
|
+
for (const assoc of tagAssociations) {
|
|
48
|
+
if (assoc.tag) {
|
|
49
|
+
newTagAssociations.set(assoc.id, assoc.tag);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this._tagAssociations = newTagAssociations;
|
|
38
53
|
};
|
|
39
54
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { CategoriesHandler } from './categories-handler.svelte';
|
|
2
|
+
export type { MediaCenterCategoryModel, MediaCenterSubCategoryModel, MediaCenterCategoryTagModel } from './categories-handler.svelte';
|
|
2
3
|
export { MediaCenterSettingsHandler } from './media-center-settings-handler.svelte';
|
|
@@ -3,8 +3,10 @@ import type { MediaCenterSettings } from '../types';
|
|
|
3
3
|
export declare class MediaCenterSettingsHandler {
|
|
4
4
|
private _backgroundImageUrl;
|
|
5
5
|
private _contentPlayerSettings;
|
|
6
|
+
private _colorsMap;
|
|
6
7
|
constructor(settings?: MediaCenterSettings);
|
|
7
8
|
get playerSettings(): MediaCenterSettingsWithColors;
|
|
9
|
+
get locale(): import("../../../core/locale").Locale;
|
|
8
10
|
get backgroundWrapperProps(): {
|
|
9
11
|
backgroundDisabled: boolean;
|
|
10
12
|
backgroundImageUrl: string | null;
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
+
import { Theme } from '../../../core/theme';
|
|
2
|
+
import { untrack } from 'svelte';
|
|
1
3
|
export class MediaCenterSettingsHandler {
|
|
2
4
|
_backgroundImageUrl = $state(null);
|
|
3
5
|
_contentPlayerSettings = $state({});
|
|
6
|
+
_colorsMap = {
|
|
7
|
+
light: null,
|
|
8
|
+
dark: null
|
|
9
|
+
};
|
|
4
10
|
constructor(settings) {
|
|
5
11
|
this._contentPlayerSettings = settings ?? {};
|
|
12
|
+
$effect(() => {
|
|
13
|
+
const theme = Theme.get();
|
|
14
|
+
untrack(() => {
|
|
15
|
+
this._contentPlayerSettings.playerColors = this._colorsMap[theme];
|
|
16
|
+
});
|
|
17
|
+
});
|
|
6
18
|
}
|
|
7
19
|
get playerSettings() {
|
|
8
20
|
return this._contentPlayerSettings;
|
|
9
21
|
}
|
|
22
|
+
get locale() {
|
|
23
|
+
return this._contentPlayerSettings.locale || 'en';
|
|
24
|
+
}
|
|
10
25
|
get backgroundWrapperProps() {
|
|
11
26
|
return {
|
|
12
27
|
backgroundDisabled: this._contentPlayerSettings.disableBackground === true,
|
|
@@ -21,6 +36,10 @@ export class MediaCenterSettingsHandler {
|
|
|
21
36
|
this._backgroundImageUrl = url;
|
|
22
37
|
};
|
|
23
38
|
updatePlayerColors = (colors) => {
|
|
24
|
-
this.
|
|
39
|
+
this._colorsMap = {
|
|
40
|
+
light: null,
|
|
41
|
+
dark: colors
|
|
42
|
+
};
|
|
43
|
+
this._contentPlayerSettings.playerColors = this._colorsMap[Theme.get()];
|
|
25
44
|
};
|
|
26
45
|
}
|
|
@@ -6,7 +6,7 @@ import IconScreenSearch from '@fluentui/svg-icons/icons/screen_search_20_regular
|
|
|
6
6
|
let { context } = $props();
|
|
7
7
|
</script>
|
|
8
8
|
|
|
9
|
-
<div class="media-center-footer">
|
|
9
|
+
<div class="media-center-footer" data-theme="dark">
|
|
10
10
|
<div class="media-center-footer__spacer"></div>
|
|
11
11
|
<button
|
|
12
12
|
type="button"
|
|
@@ -52,9 +52,9 @@ let { context } = $props();
|
|
|
52
52
|
justify-content: space-between;
|
|
53
53
|
pointer-events: auto;
|
|
54
54
|
z-index: 1;
|
|
55
|
-
background: #000000;
|
|
56
55
|
padding-top: 0.5rem;
|
|
57
|
-
padding-bottom:
|
|
56
|
+
padding-bottom: 1.25rem;
|
|
57
|
+
background: var(--sc-mc-color--bg-panel);
|
|
58
58
|
}
|
|
59
59
|
.media-center-footer__button {
|
|
60
60
|
position: relative;
|
|
@@ -64,10 +64,10 @@ let { context } = $props();
|
|
|
64
64
|
justify-content: center;
|
|
65
65
|
align-items: center;
|
|
66
66
|
--icon--size: 1.5rem;
|
|
67
|
-
--icon--color:
|
|
67
|
+
--icon--color: var(--sc-mc-color--text-secondary);
|
|
68
68
|
line-height: 0;
|
|
69
69
|
}
|
|
70
70
|
.media-center-footer__button--active {
|
|
71
|
-
--icon--color:
|
|
72
|
-
--icon--stroke-width: 0.
|
|
71
|
+
--icon--color: var(--sc-mc-color--text-primary);
|
|
72
|
+
--icon--stroke-width: 0.3;
|
|
73
73
|
}</style>
|
|
@@ -64,7 +64,8 @@ const headerMounted = (node) => {
|
|
|
64
64
|
font-size: 1.125rem;
|
|
65
65
|
font-weight: 600;
|
|
66
66
|
line-height: 1.4;
|
|
67
|
-
color:
|
|
67
|
+
color: var(--sc-mc-color--text-white);
|
|
68
|
+
text-shadow: var(--sc-mc-color--text-white-shadow);
|
|
68
69
|
}
|
|
69
70
|
.media-center-header-mobile__button {
|
|
70
71
|
pointer-events: auto;
|
|
@@ -73,8 +74,8 @@ const headerMounted = (node) => {
|
|
|
73
74
|
display: flex;
|
|
74
75
|
justify-content: center;
|
|
75
76
|
align-items: center;
|
|
76
|
-
--icon--size: 1.
|
|
77
|
-
--icon--color:
|
|
78
|
-
--icon--filter:
|
|
77
|
+
--icon--size: 1.625rem;
|
|
78
|
+
--icon--color: var(--sc-mc-color--icon-overlay);
|
|
79
|
+
--icon--filter: var(--sc-mc-color--icon-overlay-shadow);
|
|
79
80
|
line-height: 0;
|
|
80
81
|
}</style>
|
|
@@ -10,8 +10,8 @@ import IconReOrderDotsHorizontal from '@fluentui/svg-icons/icons/re_order_dots_h
|
|
|
10
10
|
import IconScreenSearch from '@fluentui/svg-icons/icons/screen_search_20_regular.svg?raw';
|
|
11
11
|
import IconSearch from '@fluentui/svg-icons/icons/search_20_regular.svg?raw';
|
|
12
12
|
const SCROLL_MASK_OFFSET = 32;
|
|
13
|
-
let { context,
|
|
14
|
-
const localization = $derived(new MediaCenterHeaderLocalization(locale));
|
|
13
|
+
let { context, on } = $props();
|
|
14
|
+
const localization = $derived(new MediaCenterHeaderLocalization(context.locale));
|
|
15
15
|
let scrollAreaRef = $state(null);
|
|
16
16
|
const headerMounted = (node) => {
|
|
17
17
|
const heightResizeObserver = new ResizeObserver(() => {
|
|
@@ -172,10 +172,10 @@ const styles = $derived.by(() => {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
.media-center-header {
|
|
175
|
-
--_media-center-header--button-color: var(--media-center-header--button-color,
|
|
175
|
+
--_media-center-header--button-color: var(--media-center-header--button-color, var(--sc-mc-color--button-player));
|
|
176
176
|
--_media-center-header--button-color--inactive: var(
|
|
177
177
|
--media-center-header--button-color--inactive,
|
|
178
|
-
rgb(from var(--_media-center-header--button-color,
|
|
178
|
+
rgb(from var(--_media-center-header--button-color, var(--sc-mc-color--button-player)) r g b / 60%)
|
|
179
179
|
);
|
|
180
180
|
width: 73.75rem;
|
|
181
181
|
max-width: 100%;
|
|
@@ -264,7 +264,7 @@ const styles = $derived.by(() => {
|
|
|
264
264
|
border-radius: 0.875rem;
|
|
265
265
|
background-color: var(--_media-center-header--button-color--inactive);
|
|
266
266
|
border-color: var(--_media-center-header--button-color);
|
|
267
|
-
color:
|
|
267
|
+
color: var(--sc-mc-color--text-inactive);
|
|
268
268
|
transition: background 0.3s ease-in-out;
|
|
269
269
|
-webkit-user-drag: none;
|
|
270
270
|
user-select: none;
|
|
@@ -278,21 +278,19 @@ const styles = $derived.by(() => {
|
|
|
278
278
|
}
|
|
279
279
|
.control-button--active {
|
|
280
280
|
background-color: var(--_media-center-header--button-color);
|
|
281
|
-
color:
|
|
281
|
+
color: var(--sc-mc-color--text-white);
|
|
282
282
|
}
|
|
283
283
|
.control-button:hover:not(.control-button--active) {
|
|
284
284
|
background-color: var(--_media-center-header--button-color);
|
|
285
285
|
}
|
|
286
286
|
.control-button__icon {
|
|
287
287
|
--icon--size: 1rem;
|
|
288
|
-
--icon--color: #f2f2f2;
|
|
289
288
|
line-height: 0;
|
|
290
289
|
}
|
|
291
290
|
.control-button__icon--trigger {
|
|
292
291
|
--icon--size: 1.5rem;
|
|
293
292
|
}
|
|
294
293
|
.control-button__icon--active {
|
|
295
|
-
--icon--color: #ffffff;
|
|
296
294
|
--icon--stroke-width: 0.2;
|
|
297
295
|
}
|
|
298
296
|
.control-button__value {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as MediaCenterProxy } from './cmp.media-center-proxy.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as MediaCenterProxy } from './cmp.media-center-proxy.svelte';
|
|
@@ -20,7 +20,7 @@ export declare class MediaCenterContext {
|
|
|
20
20
|
categoryFollowingHandler: IContentCategoryFollowingHandler | null;
|
|
21
21
|
settingsHandler: MediaCenterSettingsHandler;
|
|
22
22
|
closeOrchestrator: ICloseOrchestrator;
|
|
23
|
-
private
|
|
23
|
+
private _targetData;
|
|
24
24
|
constructor(data: {
|
|
25
25
|
config: IMediaCenterConfig;
|
|
26
26
|
closeOrchestrator: ICloseOrchestrator;
|
|
@@ -28,18 +28,7 @@ export declare class MediaCenterContext {
|
|
|
28
28
|
on: MediaCenterContextInitializationCallbacks;
|
|
29
29
|
});
|
|
30
30
|
get targetData(): import("../config/types").MediaCenterTargetDataModel | null;
|
|
31
|
-
get playerColors():
|
|
32
|
-
brand: string | null;
|
|
33
|
-
button: string | null;
|
|
34
|
-
buttonInactive: string | null;
|
|
35
|
-
cardButton: string | null;
|
|
36
|
-
cardBackground: string | null;
|
|
37
|
-
menuBackground: string | null;
|
|
38
|
-
playerBackground: string | null;
|
|
39
|
-
price: string | null;
|
|
40
|
-
salePrice: string | null;
|
|
41
|
-
sidebarBackground: string | null;
|
|
42
|
-
} | null;
|
|
31
|
+
get playerColors(): import("../../ui/player/colors").PlayerColors | undefined;
|
|
43
32
|
get loading(): boolean;
|
|
44
33
|
get overlayIsActive(): boolean;
|
|
45
34
|
get backgroundWrapperProps(): {
|
|
@@ -48,6 +37,7 @@ export declare class MediaCenterContext {
|
|
|
48
37
|
backgroundColor?: string | null;
|
|
49
38
|
};
|
|
50
39
|
get feedPlayerProps(): import("./types").PlayerProps | null;
|
|
40
|
+
get locale(): import("../../core/locale").Locale;
|
|
51
41
|
toggleMenu: () => void;
|
|
52
42
|
showMenu: () => void;
|
|
53
43
|
hideMenu: () => void;
|
|
@@ -21,7 +21,7 @@ export class MediaCenterContext {
|
|
|
21
21
|
categoryFollowingHandler = $state.raw(null);
|
|
22
22
|
settingsHandler;
|
|
23
23
|
closeOrchestrator;
|
|
24
|
-
|
|
24
|
+
_targetData = $state.raw(null);
|
|
25
25
|
constructor(data) {
|
|
26
26
|
const { config, closeOrchestrator, settings, on } = data;
|
|
27
27
|
this.closeOrchestrator = closeOrchestrator;
|
|
@@ -35,10 +35,10 @@ export class MediaCenterContext {
|
|
|
35
35
|
this.init(config, on);
|
|
36
36
|
}
|
|
37
37
|
get targetData() {
|
|
38
|
-
return this.
|
|
38
|
+
return this._targetData;
|
|
39
39
|
}
|
|
40
40
|
get playerColors() {
|
|
41
|
-
return this.
|
|
41
|
+
return this.settingsHandler.playerSettings.playerColors;
|
|
42
42
|
}
|
|
43
43
|
get loading() {
|
|
44
44
|
return this.discoverHandler.loading || this.streamsInCategoryHandler.loading;
|
|
@@ -52,6 +52,9 @@ export class MediaCenterContext {
|
|
|
52
52
|
get feedPlayerProps() {
|
|
53
53
|
return this.feedHandler.feedPlayerProps;
|
|
54
54
|
}
|
|
55
|
+
get locale() {
|
|
56
|
+
return this.settingsHandler.locale;
|
|
57
|
+
}
|
|
55
58
|
toggleMenu = () => {
|
|
56
59
|
if (this.menuActive) {
|
|
57
60
|
this.hideMenu();
|
|
@@ -114,13 +117,14 @@ export class MediaCenterContext {
|
|
|
114
117
|
};
|
|
115
118
|
init = async (config, on) => {
|
|
116
119
|
try {
|
|
117
|
-
|
|
118
|
-
if (!
|
|
120
|
+
const configModel = await config.getConfig();
|
|
121
|
+
if (!configModel) {
|
|
119
122
|
on.failed();
|
|
120
123
|
return;
|
|
121
124
|
}
|
|
122
|
-
this.categoriesHandler.init(
|
|
123
|
-
this.settingsHandler.updatePlayerColors(
|
|
125
|
+
this.categoriesHandler.init({ categories: configModel.contentCategories, tagAssociations: configModel.categoryTagAssociations });
|
|
126
|
+
this.settingsHandler.updatePlayerColors(configModel.playerColors);
|
|
127
|
+
this._targetData = configModel.targetData;
|
|
124
128
|
on.initialized(this);
|
|
125
129
|
this.initialized = true;
|
|
126
130
|
}
|