@dcl/asset-packs 2.3.1 → 2.4.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/bin/index.js +3722 -1596
- package/catalog.json +127 -1
- package/dist/admin-toolkit-ui/Active.d.ts +11 -0
- package/dist/admin-toolkit-ui/Active.js +32 -0
- package/dist/admin-toolkit-ui/Button.d.ts +22 -9
- package/dist/admin-toolkit-ui/Button.js +45 -28
- package/dist/admin-toolkit-ui/Card.d.ts +6 -0
- package/dist/admin-toolkit-ui/Card.js +22 -0
- package/dist/admin-toolkit-ui/Error.d.ts +9 -0
- package/dist/admin-toolkit-ui/Error.js +31 -0
- package/dist/admin-toolkit-ui/Header.d.ts +8 -0
- package/dist/admin-toolkit-ui/Header.js +17 -0
- package/dist/admin-toolkit-ui/Loading.d.ts +11 -0
- package/dist/admin-toolkit-ui/Loading.js +31 -0
- package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.d.ts +7 -0
- package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.js +67 -0
- package/dist/admin-toolkit-ui/ModerationControl/AdminList.d.ts +10 -0
- package/dist/admin-toolkit-ui/ModerationControl/AdminList.js +192 -0
- package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.d.ts +8 -0
- package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.js +75 -0
- package/dist/admin-toolkit-ui/ModerationControl/api.d.ts +12 -0
- package/dist/admin-toolkit-ui/ModerationControl/api.js +28 -0
- package/dist/admin-toolkit-ui/ModerationControl/index.d.ts +23 -0
- package/dist/admin-toolkit-ui/ModerationControl/index.js +37 -0
- package/dist/admin-toolkit-ui/SmartItemsControl.js +34 -56
- package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +50 -59
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.d.ts +7 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.js +62 -0
- package/dist/admin-toolkit-ui/{VideoControl.d.ts → VideoControl/LiveStream/GenerateStreamKey.d.ts} +2 -3
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.js +41 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.d.ts +11 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +112 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.d.ts +10 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.js +62 -0
- package/dist/admin-toolkit-ui/VideoControl/VideoUrl.d.ts +9 -0
- package/dist/admin-toolkit-ui/VideoControl/VideoUrl.js +125 -0
- package/dist/admin-toolkit-ui/VideoControl/VolumeControl.d.ts +8 -0
- package/dist/admin-toolkit-ui/VideoControl/VolumeControl.js +82 -0
- package/dist/admin-toolkit-ui/VideoControl/api.d.ts +12 -0
- package/dist/admin-toolkit-ui/VideoControl/api.js +17 -0
- package/dist/admin-toolkit-ui/VideoControl/index.d.ts +28 -0
- package/dist/admin-toolkit-ui/VideoControl/index.js +107 -0
- package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +28 -0
- package/dist/admin-toolkit-ui/VideoControl/utils.js +87 -0
- package/dist/admin-toolkit-ui/fetch-utils.d.ts +14 -0
- package/dist/admin-toolkit-ui/fetch-utils.js +41 -0
- package/dist/admin-toolkit-ui/index.d.ts +11 -0
- package/dist/admin-toolkit-ui/index.js +200 -272
- package/dist/admin-toolkit-ui/types.d.ts +0 -2
- package/dist/admin-toolkit-ui/types.js +1 -1
- package/dist/admin-toolkit-ui/utils.d.ts +10 -2
- package/dist/admin-toolkit-ui/utils.js +31 -51
- package/dist/bin/index.js +3722 -1596
- package/dist/definitions.d.ts +18 -17
- package/dist/definitions.js +12 -10
- package/dist/enums.d.ts +5 -0
- package/dist/enums.js +7 -1
- package/dist/id.d.ts +2 -4
- package/dist/scene-entrypoint.js +1 -1
- package/package.json +6 -6
- package/dist/admin-toolkit-ui/VideoControl.js +0 -297
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from "../fetch-utils";
|
|
2
|
+
type StreamKeyResponse = {
|
|
3
|
+
streamingUrl: string;
|
|
4
|
+
streamingKey: string;
|
|
5
|
+
createdAt: number;
|
|
6
|
+
endsAt: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function getStreamKey(): Promise<Result<StreamKeyResponse, string>>;
|
|
9
|
+
export declare function generateStreamKey(): Promise<Result<StreamKeyResponse, string>>;
|
|
10
|
+
export declare function revokeStreamKey(): Promise<Result<StreamKeyResponse, string>>;
|
|
11
|
+
export declare function resetStreamKey(): Promise<Result<StreamKeyResponse, string>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getDomain, wrapSignedFetch } from "../fetch-utils";
|
|
2
|
+
const URLS = () => ({
|
|
3
|
+
STREAM_KEY: `https://comms-gatekeeper.decentraland.${getDomain()}/scene-stream-access`,
|
|
4
|
+
});
|
|
5
|
+
export async function getStreamKey() {
|
|
6
|
+
return wrapSignedFetch({ url: URLS().STREAM_KEY }, { toCamelCase: true });
|
|
7
|
+
}
|
|
8
|
+
export async function generateStreamKey() {
|
|
9
|
+
return wrapSignedFetch({ url: URLS().STREAM_KEY, init: { method: 'POST', headers: {} } }, { toCamelCase: true });
|
|
10
|
+
}
|
|
11
|
+
export async function revokeStreamKey() {
|
|
12
|
+
return wrapSignedFetch({ url: URLS().STREAM_KEY, init: { method: 'DELETE', headers: {} } });
|
|
13
|
+
}
|
|
14
|
+
export async function resetStreamKey() {
|
|
15
|
+
return wrapSignedFetch({ url: URLS().STREAM_KEY, init: { method: 'PUT', headers: {} } }, { toCamelCase: true });
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRW5FLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEIsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLEVBQUUsc0JBQXNCO0NBQ3ZGLENBQUMsQ0FBQTtBQVNGLE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWTtJQUNoQyxPQUFPLGVBQWUsQ0FBb0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUM5RixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUI7SUFDckMsT0FBTyxlQUFlLENBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFHLEVBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFDckksQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZTtJQUNuQyxPQUFPLGVBQWUsQ0FBb0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUNoSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjO0lBQ2xDLE9BQU8sZUFBZSxDQUFvQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQ3BJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREb21haW4sIFJlc3VsdCwgd3JhcFNpZ25lZEZldGNoIH0gZnJvbSBcIi4uL2ZldGNoLXV0aWxzXCJcblxuY29uc3QgVVJMUyA9ICgpID0+ICh7XG4gIFNUUkVBTV9LRVk6IGBodHRwczovL2NvbW1zLWdhdGVrZWVwZXIuZGVjZW50cmFsYW5kLiR7Z2V0RG9tYWluKCl9L3NjZW5lLXN0cmVhbS1hY2Nlc3NgLFxufSlcblxudHlwZSBTdHJlYW1LZXlSZXNwb25zZSA9IHtcbiAgc3RyZWFtaW5nVXJsOiBzdHJpbmdcbiAgc3RyZWFtaW5nS2V5OiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBudW1iZXJcbiAgZW5kc0F0OiBudW1iZXJcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFN0cmVhbUtleSgpOiBQcm9taXNlPFJlc3VsdDxTdHJlYW1LZXlSZXNwb25zZSwgc3RyaW5nPj4gIHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oeyB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZIH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlU3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiAge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPih7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHsgfX0gfSwgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV2b2tlU3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiAge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPih7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnREVMRVRFJywgaGVhZGVyczoge30gfSB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZXRTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+ICB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuU1RSRUFNX0tFWSwgaW5pdDogeyBtZXRob2Q6ICdQVVQnLCBoZWFkZXJzOiB7fSB9IH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IEngine } from '@dcl/ecs';
|
|
2
|
+
import ReactEcs from '@dcl/react-ecs';
|
|
3
|
+
import { Color4 } from '@dcl/sdk/math';
|
|
4
|
+
import { State } from '../types';
|
|
5
|
+
export declare const ICONS: {
|
|
6
|
+
readonly VIDEO_CONTROL: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control.png";
|
|
7
|
+
readonly PREVIOUS_BUTTON: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-previous-button.png";
|
|
8
|
+
readonly FORWARD_BUTTON: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-forward-button.png";
|
|
9
|
+
readonly PLAY_BUTTON: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-play-button.png";
|
|
10
|
+
readonly MUTE: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-mute.png";
|
|
11
|
+
readonly LOOP: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-loop.png";
|
|
12
|
+
readonly VOLUME_MINUS_BUTTON: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-volume-minus-button.png";
|
|
13
|
+
readonly VOLUME_PLUS_BUTTON: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-volume-plus-button.png";
|
|
14
|
+
readonly VIDEO_SOURCE: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-video.png";
|
|
15
|
+
readonly LIVE_SOURCE: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/video-control-live.png";
|
|
16
|
+
readonly INFO: "https://builder-items.decentraland.org/admin_toolkit/assets/icons/info.png";
|
|
17
|
+
};
|
|
18
|
+
export declare const VOLUME_STEP = 0.1;
|
|
19
|
+
export declare const DEFAULT_VOLUME = 1;
|
|
20
|
+
export declare const COLORS: {
|
|
21
|
+
readonly WHITE: Color4.MutableColor4;
|
|
22
|
+
readonly GRAY: Color4.MutableColor4;
|
|
23
|
+
readonly SUCCESS: Color4.MutableColor4;
|
|
24
|
+
};
|
|
25
|
+
export declare function VideoControl({ engine, state, }: {
|
|
26
|
+
engine: IEngine;
|
|
27
|
+
state: State;
|
|
28
|
+
}): ReactEcs.JSX.Element;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import ReactEcs, { Label, UiEntity, Dropdown } from '@dcl/react-ecs';
|
|
2
|
+
import { Color4 } from '@dcl/sdk/math';
|
|
3
|
+
import { getScaleUIFactor } from '../../ui';
|
|
4
|
+
import { Button } from '../Button';
|
|
5
|
+
import { CONTENT_URL } from '../constants';
|
|
6
|
+
import { Header } from '../Header';
|
|
7
|
+
import { getVideoPlayers, useSelectedVideoPlayer } from './utils';
|
|
8
|
+
import { Card } from '../Card';
|
|
9
|
+
import { VideoControlURL } from './VideoUrl';
|
|
10
|
+
import { LiveStream } from './LiveStream';
|
|
11
|
+
import { Active } from '../Active';
|
|
12
|
+
import { LIVEKIT_STREAM_SRC } from '../../definitions';
|
|
13
|
+
export const ICONS = {
|
|
14
|
+
VIDEO_CONTROL: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control.png`,
|
|
15
|
+
PREVIOUS_BUTTON: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-previous-button.png`,
|
|
16
|
+
FORWARD_BUTTON: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-forward-button.png`,
|
|
17
|
+
PLAY_BUTTON: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-play-button.png`,
|
|
18
|
+
MUTE: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-mute.png`,
|
|
19
|
+
LOOP: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-loop.png`,
|
|
20
|
+
VOLUME_MINUS_BUTTON: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-volume-minus-button.png`,
|
|
21
|
+
VOLUME_PLUS_BUTTON: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-volume-plus-button.png`,
|
|
22
|
+
VIDEO_SOURCE: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-video.png`,
|
|
23
|
+
LIVE_SOURCE: `${CONTENT_URL}/admin_toolkit/assets/icons/video-control-live.png`,
|
|
24
|
+
INFO: `${CONTENT_URL}/admin_toolkit/assets/icons/info.png`,
|
|
25
|
+
};
|
|
26
|
+
export const VOLUME_STEP = 0.1;
|
|
27
|
+
export const DEFAULT_VOLUME = 1;
|
|
28
|
+
export const COLORS = {
|
|
29
|
+
WHITE: Color4.White(),
|
|
30
|
+
GRAY: Color4.create(160 / 255, 155 / 255, 168 / 255, 1),
|
|
31
|
+
SUCCESS: Color4.fromHexString('#34CE77'),
|
|
32
|
+
};
|
|
33
|
+
export function VideoControl({ engine, state, }) {
|
|
34
|
+
const [selectedEntity, selectedVideo] = useSelectedVideoPlayer(engine) ?? [];
|
|
35
|
+
const scaleFactor = getScaleUIFactor(engine);
|
|
36
|
+
const videoPlayers = getVideoPlayers(engine);
|
|
37
|
+
const [selected, setSelected] = ReactEcs.useState(undefined);
|
|
38
|
+
ReactEcs.useEffect(() => {
|
|
39
|
+
setSelected(selectedVideo && selectedVideo.src.startsWith('https://')
|
|
40
|
+
? 'video-url'
|
|
41
|
+
: 'live');
|
|
42
|
+
}, [state.videoControl.selectedVideoPlayer]);
|
|
43
|
+
return (ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'column', width: '100%', height: '100%' } },
|
|
44
|
+
ReactEcs.createElement(Card, { scaleFactor: scaleFactor, uiTransform: {
|
|
45
|
+
padding: {
|
|
46
|
+
top: 32 * scaleFactor,
|
|
47
|
+
right: 32 * scaleFactor,
|
|
48
|
+
bottom: 0,
|
|
49
|
+
left: 32 * scaleFactor,
|
|
50
|
+
},
|
|
51
|
+
} },
|
|
52
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
53
|
+
width: '100%',
|
|
54
|
+
height: '100%',
|
|
55
|
+
flexDirection: 'column',
|
|
56
|
+
} },
|
|
57
|
+
ReactEcs.createElement(Header, { iconSrc: ICONS.VIDEO_CONTROL, title: "<b>VIDEO SCREENS</b>", scaleFactor: scaleFactor }),
|
|
58
|
+
videoPlayers.length > 1 && ReactEcs.createElement(Label, { value: "<b>Current Screen</b>", fontSize: 16 * scaleFactor, color: Color4.White(), uiTransform: { margin: { bottom: 16 * scaleFactor } } }),
|
|
59
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
60
|
+
flexDirection: 'column',
|
|
61
|
+
margin: { bottom: 16 * scaleFactor },
|
|
62
|
+
} },
|
|
63
|
+
videoPlayers.length > 1 && (ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'column' } },
|
|
64
|
+
ReactEcs.createElement(Dropdown, { options: videoPlayers.map((player) => `<b>${player.customName}</b>`), selectedIndex: state.videoControl.selectedVideoPlayer ?? 0, onChange: (idx) => (state.videoControl.selectedVideoPlayer = idx), textAlign: "middle-left", fontSize: 16 * scaleFactor, uiTransform: {
|
|
65
|
+
margin: { right: 8 * scaleFactor },
|
|
66
|
+
width: '100%',
|
|
67
|
+
}, uiBackground: { color: Color4.White() } }))),
|
|
68
|
+
ReactEcs.createElement(Label, { fontSize: 16 * scaleFactor, value: "<b>Media Source</b>", color: Color4.White(), uiTransform: { margin: { bottom: 2 * scaleFactor, top: 16 * scaleFactor } } }),
|
|
69
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
70
|
+
margin: { top: 10 * scaleFactor },
|
|
71
|
+
flexDirection: 'row',
|
|
72
|
+
width: '100%',
|
|
73
|
+
} },
|
|
74
|
+
ReactEcs.createElement(UiEntity, { uiTransform: { width: '50%', padding: { right: 8 * scaleFactor } } },
|
|
75
|
+
ReactEcs.createElement(CustomButton, { engine: engine, id: "video_control_url", value: "<b>VIDEO URL</b>", icon: ICONS.VIDEO_SOURCE, onClick: () => setSelected('video-url'), scaleFactor: scaleFactor, selected: selected === 'video-url', active: selectedVideo && selectedVideo.src.startsWith('https://') })),
|
|
76
|
+
ReactEcs.createElement(UiEntity, { uiTransform: { width: '50%', padding: { left: 8 * scaleFactor } } },
|
|
77
|
+
ReactEcs.createElement(CustomButton, { engine: engine, id: "video_control_live", value: "<b>LIVE STREAM</b>", icon: ICONS.LIVE_SOURCE, onClick: () => setSelected('live'), active: selectedVideo &&
|
|
78
|
+
selectedVideo.src.startsWith(LIVEKIT_STREAM_SRC), scaleFactor: scaleFactor, selected: selected === 'live' })))))),
|
|
79
|
+
selected && selectedEntity && (ReactEcs.createElement(Card, { scaleFactor: scaleFactor },
|
|
80
|
+
selected === 'video-url' && (ReactEcs.createElement(VideoControlURL, { engine: engine, scaleFactor: scaleFactor, entity: selectedEntity, video: selectedVideo })),
|
|
81
|
+
selected === 'live' && (ReactEcs.createElement(LiveStream, { engine: engine, scaleFactor: scaleFactor, entity: selectedEntity, video: selectedVideo }))))));
|
|
82
|
+
}
|
|
83
|
+
function CustomButton({ active, scaleFactor, value, id, onClick, icon, selected, engine }) {
|
|
84
|
+
return (ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'column', height: '100%', width: '100%' } },
|
|
85
|
+
ReactEcs.createElement(UiEntity, { uiTransform: { width: '100%' } },
|
|
86
|
+
ReactEcs.createElement(Button, { id: id, onMouseDown: onClick, value: value, fontSize: 14 * scaleFactor, icon: icon, iconTransform: {
|
|
87
|
+
width: 24 * scaleFactor,
|
|
88
|
+
height: 24 * scaleFactor,
|
|
89
|
+
margin: { right: 8 * scaleFactor },
|
|
90
|
+
}, color: selected ? Color4.Black() : Color4.fromHexString('#FCFCFC'), iconBackground: {
|
|
91
|
+
color: selected ? Color4.Black() : Color4.fromHexString('#FCFCFC'),
|
|
92
|
+
}, uiBackground: {
|
|
93
|
+
color: selected ? Color4.White() : Color4.fromHexString('#43404A'),
|
|
94
|
+
}, uiTransform: {
|
|
95
|
+
padding: {
|
|
96
|
+
top: 6 * scaleFactor,
|
|
97
|
+
bottom: 6 * scaleFactor,
|
|
98
|
+
},
|
|
99
|
+
borderRadius: 6 * scaleFactor,
|
|
100
|
+
alignItems: 'center',
|
|
101
|
+
justifyContent: 'center',
|
|
102
|
+
width: '100%',
|
|
103
|
+
height: 36 * scaleFactor
|
|
104
|
+
} })),
|
|
105
|
+
active && ReactEcs.createElement(Active, { scaleFactor: scaleFactor, engine: engine, uiTransform: { width: '100%', margin: { top: 6 * scaleFactor } } })));
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHdEQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLGFBQWEsRUFBRSxHQUFHLFdBQVcsK0NBQStDO0lBQzVFLGVBQWUsRUFBRSxHQUFHLFdBQVcsK0RBQStEO0lBQzlGLGNBQWMsRUFBRSxHQUFHLFdBQVcsOERBQThEO0lBQzVGLFdBQVcsRUFBRSxHQUFHLFdBQVcsMkRBQTJEO0lBQ3RGLElBQUksRUFBRSxHQUFHLFdBQVcsb0RBQW9EO0lBQ3hFLElBQUksRUFBRSxHQUFHLFdBQVcs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LENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQ2xFLGNBQWMsRUFBRTtvQkFDZCxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2lCQUNuRSxFQUNELFlBQVksRUFBRTtvQkFDWixLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2lCQUNuRSxFQUNELFdBQVcsRUFBRTtvQkFDWCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxFQUFFLENBQUMsR0FBRyxXQUFXO3dCQUNwQixNQUFNLEVBQUUsQ0FBQyxHQUFHLFdBQVc7cUJBQ3hCO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsV0FBVztvQkFDN0IsVUFBVSxFQUFFLFFBQVE7b0JBQ3BCLGNBQWMsRUFBRSxRQUFRO29CQUN4QixLQUFLLEVBQUUsTUFBTTtvQkFDYixNQUFNLEVBQUUsRUFBRSxHQUFHLFdBQVc7aUJBQ3pCLEdBQ0QsQ0FDTztRQUVWLE1BQU0sSUFBSSx1QkFBQyxNQUFNLElBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsRUFBRSxHQUFJLENBQ3hILENBQ1osQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgUmVhY3RFY3MsIHsgTGFiZWwsIFVpRW50aXR5LCBEcm9wZG93biB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJ1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCdcbmltcG9ydCB7IGdldFNjYWxlVUlGYWN0b3IgfSBmcm9tICcuLi8uLi91aSdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IENPTlRFTlRfVVJMIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJy4uL0hlYWRlcidcbmltcG9ydCB7IGdldFZpZGVvUGxheWVycywgdXNlU2VsZWN0ZWRWaWRlb1BsYXllciB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBDYXJkIH0gZnJvbSAnLi4vQ2FyZCdcbmltcG9ydCB7IFZpZGVvQ29udHJvbFVSTCB9IGZyb20gJy4vVmlkZW9VcmwnXG5pbXBvcnQgeyBMaXZlU3RyZWFtIH0gZnJvbSAnLi9MaXZlU3RyZWFtJ1xuaW1wb3J0IHsgQWN0aXZlIH0gZnJvbSAnLi4vQWN0aXZlJ1xuaW1wb3J0IHsgTElWRUtJVF9TVFJFQU1fU1JDIH0gZnJvbSAnLi4vLi4vZGVmaW5pdGlvbnMnXG5cbi8vIENvbnN0YW50c1xuZXhwb3J0IGNvbnN0IElDT05TID0ge1xuICBWSURFT19DT05UUk9MOiBgJHtDT05URU5UX1VSTH0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvdmlkZW8tY29udHJvbC5wbmdgLFxuICBQUkVWSU9VU19CVVRUT046IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy92aWRlby1jb250cm9sLXByZXZpb3VzLWJ1dHRvbi5wbmdgLFxuICBGT1JXQVJEX0JVVFRPTjogYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3ZpZGVvLWNvbnRyb2wtZm9yd2FyZC1idXR0b24ucG5nYCxcbiAgUExBWV9CVVRUT046IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy92aWRlby1jb250cm9sLXBsYXktYnV0dG9uLnBuZ2AsXG4gIE1VVEU6IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy92aWRlby1jb250cm9sLW11dGUucG5nYCxcbiAgTE9PUDogYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3ZpZGVvLWNvbnRyb2wtbG9vcC5wbmdgLFxuICBWT0xVTUVfTUlOVVNfQlVUVE9OOiBgJHtDT05URU5UX1VSTH0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvdmlkZW8tY29udHJvbC12b2x1bWUtbWludXMtYnV0dG9uLnBuZ2AsXG4gIFZPTFVNRV9QTFVTX0JVVFRPTjogYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3ZpZGVvLWNvbnRyb2wtdm9sdW1lLXBsdXMtYnV0dG9uLnBuZ2AsXG4gIFZJREVPX1NPVVJDRTogYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3ZpZGVvLWNvbnRyb2wtdmlkZW8ucG5nYCxcbiAgTElWRV9TT1VSQ0U6IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy92aWRlby1jb250cm9sLWxpdmUucG5nYCxcbiAgSU5GTzogYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL2luZm8ucG5nYCxcbn0gYXMgY29uc3RcblxuXG5leHBvcnQgY29uc3QgVk9MVU1FX1NURVAgPSAwLjFcbmV4cG9ydCBjb25zdCBERUZBVUxUX1ZPTFVNRSA9IDFcblxuZXhwb3J0IGNvbnN0IENPTE9SUyA9IHtcbiAgV0hJVEU6IENvbG9yNC5XaGl0ZSgpLFxuICBHUkFZOiBDb2xvcjQuY3JlYXRlKDE2MCAvIDI1NSwgMTU1IC8gMjU1LCAxNjggLyAyNTUsIDEpLFxuICBTVUNDRVNTOiBDb2xvcjQuZnJvbUhleFN0cmluZygnIzM0Q0U3NycpLFxufSBhcyBjb25zdFxuXG5cbi8vIE1haW4gY29tcG9uZW50XG5leHBvcnQgZnVuY3Rpb24gVmlkZW9Db250cm9sKHtcbiAgZW5naW5lLFxuICBzdGF0ZSxcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lXG4gIHN0YXRlOiBTdGF0ZVxufSkge1xuICBjb25zdCBbc2VsZWN0ZWRFbnRpdHksIHNlbGVjdGVkVmlkZW9dID0gdXNlU2VsZWN0ZWRWaWRlb1BsYXllcihlbmdpbmUpID8/IFtdXG4gIGNvbnN0IHNjYWxlRmFjdG9yID0gZ2V0U2NhbGVVSUZhY3RvcihlbmdpbmUpXG4gIGNvbnN0IHZpZGVvUGxheWVycyA9IGdldFZpZGVvUGxheWVycyhlbmdpbmUpXG4gIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gUmVhY3RFY3MudXNlU3RhdGU8J3ZpZGVvLXVybCcgfCAnbGl2ZScgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBSZWFjdEVjcy51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkKFxuICAgICAgc2VsZWN0ZWRWaWRlbyAmJiBzZWxlY3RlZFZpZGVvLnNyYy5zdGFydHNXaXRoKCdodHRwczovLycpXG4gICAgICAgID8gJ3ZpZGVvLXVybCdcbiAgICAgICAgOiAnbGl2ZScsXG4gICAgKVxuICB9LCBbc3RhdGUudmlkZW9Db250cm9sLnNlbGVjdGVkVmlkZW9QbGF5ZXJdKVxuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5XG4gICAgICB1aVRyYW5zZm9ybT17eyBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfX1cbiAgICA+XG4gICAgICA8Q2FyZFxuICAgICAgICBzY2FsZUZhY3Rvcj17c2NhbGVGYWN0b3J9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgdG9wOiAzMiAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgcmlnaHQ6IDMyICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBsZWZ0OiAzMiAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgICA8SGVhZGVyXG4gICAgICAgICAgICBpY29uU3JjPXtJQ09OUy5WSURFT19DT05UUk9MfVxuICAgICAgICAgICAgdGl0bGU9XCI8Yj5WSURFTyBTQ1JFRU5TPC9iPlwiXG4gICAgICAgICAgICBzY2FsZUZhY3Rvcj17c2NhbGVGYWN0b3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dmlkZW9QbGF5ZXJzLmxlbmd0aCA+IDEgJiYgPExhYmVsXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkN1cnJlbnQgU2NyZWVuPC9iPlwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTYgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyBib3R0b206IDE2ICogc2NhbGVGYWN0b3IgfSB9fVxuICAgICAgICAgIC8+fVxuXG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMTYgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dmlkZW9QbGF5ZXJzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX0+XG4gICAgICAgICAgICAgICAgPERyb3Bkb3duXG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXt2aWRlb1BsYXllcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICAocGxheWVyKSA9PiBgPGI+JHtwbGF5ZXIuY3VzdG9tTmFtZX08L2I+YCxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEluZGV4PXtzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRWaWRlb1BsYXllciA/PyAwfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhpZHgpID0+XG4gICAgICAgICAgICAgICAgICAgIChzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRWaWRlb1BsYXllciA9IGlkeClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHRleHRBbGlnbj1cIm1pZGRsZS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxNiAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4ICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2ICogc2NhbGVGYWN0b3J9XG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+TWVkaWEgU291cmNlPC9iPlwiXG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3sgbWFyZ2luOiB7IGJvdHRvbTogMiAqIHNjYWxlRmFjdG9yLCB0b3A6IDE2ICogc2NhbGVGYWN0b3IgfSB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDEwICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgd2lkdGg6ICc1MCUnLCBwYWRkaW5nOiB7IHJpZ2h0OiA4ICogc2NhbGVGYWN0b3IgfSB9fT5cbiAgICAgICAgICAgICAgICA8Q3VzdG9tQnV0dG9uXG4gICAgICAgICAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICAgICAgICAgIGlkPVwidmlkZW9fY29udHJvbF91cmxcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5WSURFTyBVUkw8L2I+XCJcbiAgICAgICAgICAgICAgICAgIGljb249e0lDT05TLlZJREVPX1NPVVJDRX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkKCd2aWRlby11cmwnKX1cbiAgICAgICAgICAgICAgICAgIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZCA9PT0gJ3ZpZGVvLXVybCd9XG4gICAgICAgICAgICAgICAgICBhY3RpdmU9e1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZpZGVvICYmIHNlbGVjdGVkVmlkZW8uc3JjLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJylcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgd2lkdGg6ICc1MCUnLCBwYWRkaW5nOiB7IGxlZnQ6IDggKiBzY2FsZUZhY3RvciB9IH19PlxuICAgICAgICAgICAgICAgIDxDdXN0b21CdXR0b25cbiAgICAgICAgICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX2xpdmVcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5MSVZFIFNUUkVBTTwvYj5cIlxuICAgICAgICAgICAgICAgICAgaWNvbj17SUNPTlMuTElWRV9TT1VSQ0V9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZCgnbGl2ZScpfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWaWRlbyAmJlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZpZGVvLnNyYy5zdGFydHNXaXRoKExJVkVLSVRfU1RSRUFNX1NSQylcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZCA9PT0gJ2xpdmUnfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8L0NhcmQ+XG4gICAgICB7c2VsZWN0ZWQgJiYgc2VsZWN0ZWRFbnRpdHkgJiYgKFxuICAgICAgICA8Q2FyZCBzY2FsZUZhY3Rvcj17c2NhbGVGYWN0b3J9PlxuICAgICAgICAgIHtzZWxlY3RlZCA9PT0gJ3ZpZGVvLXVybCcgJiYgKFxuICAgICAgICAgICAgPFZpZGVvQ29udHJvbFVSTFxuICAgICAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICAgICAgc2NhbGVGYWN0b3I9e3NjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICBlbnRpdHk9e3NlbGVjdGVkRW50aXR5fVxuICAgICAgICAgICAgICB2aWRlbz17c2VsZWN0ZWRWaWRlb31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2VsZWN0ZWQgPT09ICdsaXZlJyAmJiAoXG4gICAgICAgICAgICA8TGl2ZVN0cmVhbVxuICAgICAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICAgICAgc2NhbGVGYWN0b3I9e3NjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICBlbnRpdHk9e3NlbGVjdGVkRW50aXR5fVxuICAgICAgICAgICAgICB2aWRlbz17c2VsZWN0ZWRWaWRlb31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9DYXJkPlxuICAgICAgKX1cbiAgICA8L1VpRW50aXR5PlxuICApXG59XG5cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgaWQ6IHN0cmluZ1xuICB2YWx1ZTogc3RyaW5nXG4gIG9uQ2xpY2soKTogdm9pZFxuICBzZWxlY3RlZDogYm9vbGVhblxuICBzY2FsZUZhY3RvcjogbnVtYmVyXG4gIGljb246IHN0cmluZ1xuICBlbmdpbmU6IElFbmdpbmVcbiAgYWN0aXZlPzogYm9vbGVhblxufVxuXG5mdW5jdGlvbiBDdXN0b21CdXR0b24oeyBhY3RpdmUsIHNjYWxlRmFjdG9yLCB2YWx1ZSwgaWQsIG9uQ2xpY2ssIGljb24sIHNlbGVjdGVkLCBlbmdpbmUgfTogUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBoZWlnaHQ6ICcxMDAlJywgd2lkdGg6ICcxMDAlJyB9fVxuICAgID5cbiAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG9uTW91c2VEb3duPXtvbkNsaWNrfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBmb250U2l6ZT17MTQgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICBpY29uPXtpY29ufVxuICAgICAgICAgIGljb25UcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIHdpZHRoOiAyNCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgaGVpZ2h0OiAyNCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4ICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNvbG9yPXtzZWxlY3RlZCA/IENvbG9yNC5CbGFjaygpIDogQ29sb3I0LmZyb21IZXhTdHJpbmcoJyNGQ0ZDRkMnKX1cbiAgICAgICAgICBpY29uQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgY29sb3I6IHNlbGVjdGVkID8gQ29sb3I0LkJsYWNrKCkgOiBDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZDRkNGQycpLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICBjb2xvcjogc2VsZWN0ZWQgPyBDb2xvcjQuV2hpdGUoKSA6IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjNDM0MDRBJyksXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgICB0b3A6IDYgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgYm90dG9tOiA2ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IDM2ICogc2NhbGVGYWN0b3JcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAge2FjdGl2ZSAmJiA8QWN0aXZlIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn0gZW5naW5lPXtlbmdpbmV9IHVpVHJhbnNmb3JtPXt7IHdpZHRoOiAnMTAwJScsIG1hcmdpbjogeyB0b3A6IDYgKiBzY2FsZUZhY3RvciB9IH19IC8+fVxuICAgIDwvVWlFbnRpdHk+XG4gIClcbn0iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DeepReadonlyObject, Entity, IEngine, PBVideoPlayer } from '@dcl/ecs';
|
|
2
|
+
interface VideoPlayerControls {
|
|
3
|
+
play(): void;
|
|
4
|
+
pause(): void;
|
|
5
|
+
restart(): void;
|
|
6
|
+
previous(): void;
|
|
7
|
+
next(): void;
|
|
8
|
+
setVolume(volume: number): void;
|
|
9
|
+
setSource(url: string): void;
|
|
10
|
+
setLoop(loop: boolean): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function getAdminToolkitVideoControl(engine: IEngine): DeepReadonlyObject<import("@dcl/ecs").MapResult<{
|
|
13
|
+
isEnabled: import("@dcl/ecs").ISchema<boolean>;
|
|
14
|
+
disableVideoPlayersSound: import("@dcl/ecs").ISchema<boolean>;
|
|
15
|
+
showAuthorOnVideoPlayers: import("@dcl/ecs").ISchema<boolean>;
|
|
16
|
+
linkAllVideoPlayers: import("@dcl/ecs").ISchema<boolean>;
|
|
17
|
+
videoPlayers: import("@dcl/ecs").ISchema<import("@dcl/ecs").MapResult<{
|
|
18
|
+
entity: import("@dcl/ecs").ISchema<number>;
|
|
19
|
+
customName: import("@dcl/ecs").ISchema<string>;
|
|
20
|
+
}>[] | undefined>;
|
|
21
|
+
}>> | null;
|
|
22
|
+
export declare function getVideoPlayers(engine: IEngine): DeepReadonlyObject<import("@dcl/ecs").MapResult<{
|
|
23
|
+
entity: import("@dcl/ecs").ISchema<number>;
|
|
24
|
+
customName: import("@dcl/ecs").ISchema<string>;
|
|
25
|
+
}>>[];
|
|
26
|
+
export declare function createVideoPlayerControls(entity: Entity, engine: IEngine): VideoPlayerControls;
|
|
27
|
+
export declare function useSelectedVideoPlayer(engine: IEngine): [Entity, DeepReadonlyObject<PBVideoPlayer>] | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { getComponents } from '../../definitions';
|
|
2
|
+
import { getExplorerComponents } from '../../components';
|
|
3
|
+
import { nextTickFunctions, state } from '../index';
|
|
4
|
+
import { DEFAULT_VOLUME } from '.';
|
|
5
|
+
export function getAdminToolkitVideoControl(engine) {
|
|
6
|
+
const { AdminTools } = getComponents(engine);
|
|
7
|
+
const adminToolkitEntities = Array.from(engine.getEntitiesWith(AdminTools));
|
|
8
|
+
return adminToolkitEntities.length > 0
|
|
9
|
+
? adminToolkitEntities[0][1].videoControl
|
|
10
|
+
: null;
|
|
11
|
+
}
|
|
12
|
+
export function getVideoPlayers(engine) {
|
|
13
|
+
const adminToolkitVideoControl = getAdminToolkitVideoControl(engine);
|
|
14
|
+
if (!adminToolkitVideoControl ||
|
|
15
|
+
!adminToolkitVideoControl.videoPlayers ||
|
|
16
|
+
adminToolkitVideoControl.videoPlayers.length === 0)
|
|
17
|
+
return [];
|
|
18
|
+
return Array.from(adminToolkitVideoControl.videoPlayers);
|
|
19
|
+
}
|
|
20
|
+
function checkVideoPlayerSound(entity, engine) {
|
|
21
|
+
const videoControl = getAdminToolkitVideoControl(engine);
|
|
22
|
+
const { VideoPlayer } = getExplorerComponents(engine);
|
|
23
|
+
if (videoControl?.disableVideoPlayersSound) {
|
|
24
|
+
const video = VideoPlayer.get(entity);
|
|
25
|
+
if (video.volume) {
|
|
26
|
+
VideoPlayer.getMutable(entity).volume = 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function createVideoPlayerControls(entity, engine) {
|
|
31
|
+
const videoControl = getAdminToolkitVideoControl(engine);
|
|
32
|
+
const { VideoPlayer } = getExplorerComponents(engine);
|
|
33
|
+
checkVideoPlayerSound(entity, engine);
|
|
34
|
+
return {
|
|
35
|
+
play: () => {
|
|
36
|
+
VideoPlayer.getMutable(entity).playing = true;
|
|
37
|
+
},
|
|
38
|
+
pause: () => VideoPlayer.getMutable(entity).playing = false,
|
|
39
|
+
restart: () => {
|
|
40
|
+
VideoPlayer.getMutable(entity).playing = false;
|
|
41
|
+
VideoPlayer.getMutable(entity).position = 0;
|
|
42
|
+
nextTickFunctions.push(() => {
|
|
43
|
+
const video = VideoPlayer.getMutable(entity);
|
|
44
|
+
video.playing = true;
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
previous: () => {
|
|
48
|
+
console.log('TODO: Previous Track clicked');
|
|
49
|
+
},
|
|
50
|
+
next: () => {
|
|
51
|
+
console.log('TODO: Next Track clicked');
|
|
52
|
+
},
|
|
53
|
+
setVolume: (volumeOrStep) => {
|
|
54
|
+
if (videoControl?.disableVideoPlayersSound) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const video = VideoPlayer.getMutable(entity);
|
|
58
|
+
if (volumeOrStep === 0) {
|
|
59
|
+
video.volume = 0;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const steps = Math.round((video.volume ?? DEFAULT_VOLUME) * 10);
|
|
63
|
+
const newSteps = Math.max(0, Math.min(10, steps + volumeOrStep * 10));
|
|
64
|
+
video.volume = newSteps / 10;
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
setSource: (url) => {
|
|
68
|
+
VideoPlayer.getMutable(entity).src = url;
|
|
69
|
+
nextTickFunctions.push(() => {
|
|
70
|
+
VideoPlayer.getMutable(entity).playing = true;
|
|
71
|
+
});
|
|
72
|
+
},
|
|
73
|
+
setLoop(loop) {
|
|
74
|
+
VideoPlayer.getMutable(entity).loop = loop;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function useSelectedVideoPlayer(engine) {
|
|
79
|
+
const { VideoPlayer } = getExplorerComponents(engine);
|
|
80
|
+
const videoPlayers = getVideoPlayers(engine);
|
|
81
|
+
if (videoPlayers.length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
const entity = videoPlayers[state.videoControl.selectedVideoPlayer ?? 0].entity;
|
|
84
|
+
const videoPlayer = VideoPlayer.getOrNull(entity);
|
|
85
|
+
return [entity, videoPlayer];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvdXRpbHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUE7QUFlbEMsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE1BQWU7SUFDekQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM1QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQzNFLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDcEMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVk7UUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWU7SUFDN0MsTUFBTSx3QkFBd0IsR0FBRywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVwRSxJQUNFLENBQUMsd0JBQXdCO1FBQ3pCLENBQUMsd0JBQXdCLENBQUMsWUFBWTtRQUN0Qyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFFbEQsT0FBTyxFQUFFLENBQUE7SUFFWCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUVELFNBQVMs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QyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7WUFDeEMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQy9DLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJO1lBQ1YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQzVDLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBZTtJQUVmLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFNUMsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUUxQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFnQixDQUFBO0lBQ3pGLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakQsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFZLENBQUMsQ0FBQTtBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IGdldENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9kZWZpbml0aW9ucydcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnXG5pbXBvcnQgeyBuZXh0VGlja0Z1bmN0aW9ucywgc3RhdGUgfSBmcm9tICcuLi9pbmRleCdcbmltcG9ydCB7IERFRkFVTFRfVk9MVU1FIH0gZnJvbSAnLidcblxuXG4vLyBUeXBlc1xuaW50ZXJmYWNlIFZpZGVvUGxheWVyQ29udHJvbHMge1xuICBwbGF5KCk6IHZvaWRcbiAgcGF1c2UoKTogdm9pZFxuICByZXN0YXJ0KCk6IHZvaWRcbiAgcHJldmlvdXMoKTogdm9pZFxuICBuZXh0KCk6IHZvaWRcbiAgc2V0Vm9sdW1lKHZvbHVtZTogbnVtYmVyKTogdm9pZFxuICBzZXRTb3VyY2UodXJsOiBzdHJpbmcpOiB2b2lkXG4gIHNldExvb3AobG9vcDogYm9vbGVhbik6IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgeyBBZG1pblRvb2xzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSlcbiAgY29uc3QgYWRtaW5Ub29sa2l0RW50aXRpZXMgPSBBcnJheS5mcm9tKGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoQWRtaW5Ub29scykpXG4gIHJldHVybiBhZG1pblRvb2xraXRFbnRpdGllcy5sZW5ndGggPiAwXG4gICAgPyBhZG1pblRvb2xraXRFbnRpdGllc1swXVsxXS52aWRlb0NvbnRyb2xcbiAgICA6IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZGVvUGxheWVycyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sID0gZ2V0QWRtaW5Ub29sa2l0VmlkZW9Db250cm9sKGVuZ2luZSlcblxuICBpZiAoXG4gICAgIWFkbWluVG9vbGtpdFZpZGVvQ29udHJvbCB8fFxuICAgICFhZG1pblRvb2xraXRWaWRlb0NvbnRyb2wudmlkZW9QbGF5ZXJzIHx8XG4gICAgYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sLnZpZGVvUGxheWVycy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybiBbXVxuXG4gIHJldHVybiBBcnJheS5mcm9tKGFkbWluVG9vbGtpdFZpZGVvQ29udHJvbC52aWRlb1BsYXllcnMpXG59XG5cbmZ1bmN0aW9uIGNoZWNrVmlkZW9QbGF5ZXJTb3VuZChlbnRpdHk6IEVudGl0eSwgZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IHZpZGVvQ29udHJvbCA9IGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmUpXG4gIGNvbnN0IHsgVmlkZW9QbGF5ZXIgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpXG5cbiAgaWYgKHZpZGVvQ29udHJvbD8uZGlzYWJsZVZpZGVvUGxheWVyc1NvdW5kKSB7XG4gICAgY29uc3QgdmlkZW8gPSBWaWRlb1BsYXllci5nZXQoZW50aXR5KVxuICAgIGlmICh2aWRlby52b2x1bWUpIHtcbiAgICAgIFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KS52b2x1bWUgPSAwXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzKFxuICBlbnRpdHk6IEVudGl0eSxcbiAgZW5naW5lOiBJRW5naW5lXG4pOiBWaWRlb1BsYXllckNvbnRyb2xzIHtcbiAgY29uc3QgdmlkZW9Db250cm9sID0gZ2V0QWRtaW5Ub29sa2l0VmlkZW9Db250cm9sKGVuZ2luZSlcbiAgY29uc3QgeyBWaWRlb1BsYXllciB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSlcblxuICBjaGVja1ZpZGVvUGxheWVyU291bmQoZW50aXR5LCBlbmdpbmUpXG5cbiAgcmV0dXJuIHtcbiAgICBwbGF5OiAoKSA9PiB7XG4gICAgICBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkucGxheWluZyA9IHRydWVcbiAgICB9LFxuICAgIHBhdXNlOiAoKSA9PiBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkucGxheWluZyA9IGZhbHNlLFxuICAgIHJlc3RhcnQ6ICgpID0+IHtcbiAgICAgIFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KS5wbGF5aW5nID0gZmFsc2VcbiAgICAgIFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KS5wb3NpdGlvbiA9IDBcbiAgICAgIG5leHRUaWNrRnVuY3Rpb25zLnB1c2goKCkgPT4ge1xuICAgICAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KVxuICAgICAgICB2aWRlby5wbGF5aW5nID0gdHJ1ZVxuICAgICAgfSlcbiAgICB9LFxuICAgIHByZXZpb3VzOiAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnVE9ETzogUHJldmlvdXMgVHJhY2sgY2xpY2tlZCcpXG4gICAgfSxcbiAgICBuZXh0OiAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnVE9ETzogTmV4dCBUcmFjayBjbGlja2VkJylcbiAgICB9LFxuICAgIHNldFZvbHVtZTogKHZvbHVtZU9yU3RlcCkgPT4ge1xuICAgICAgLy8gRG9uJ3QgYWxsb3cgdm9sdW1lIGNoYW5nZXMgaWYgc291bmQgaXMgZGlzYWJsZWRcbiAgICAgIGlmICh2aWRlb0NvbnRyb2w/LmRpc2FibGVWaWRlb1BsYXllcnNTb3VuZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHZpZGVvID0gVmlkZW9QbGF5ZXIuZ2V0TXV0YWJsZShlbnRpdHkpXG4gICAgICBpZiAodm9sdW1lT3JTdGVwID09PSAwKSB7XG4gICAgICAgIHZpZGVvLnZvbHVtZSA9IDBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHN0ZXBzID0gTWF0aC5yb3VuZCgodmlkZW8udm9sdW1lID8/IERFRkFVTFRfVk9MVU1FKSAqIDEwKVxuICAgICAgICBjb25zdCBuZXdTdGVwcyA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwLCBzdGVwcyArICh2b2x1bWVPclN0ZXAgYXMgbnVtYmVyKSAqIDEwKSlcbiAgICAgICAgdmlkZW8udm9sdW1lID0gbmV3U3RlcHMgLyAxMFxuICAgICAgfVxuICAgIH0sXG4gICAgc2V0U291cmNlOiAodXJsKSA9PiB7XG4gICAgICBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkuc3JjID0gdXJsXG4gICAgICBuZXh0VGlja0Z1bmN0aW9ucy5wdXNoKCgpID0+IHtcbiAgICAgICAgVmlkZW9QbGF5ZXIuZ2V0TXV0YWJsZShlbnRpdHkpLnBsYXlpbmcgPSB0cnVlXG4gICAgICB9KVxuICAgIH0sXG4gICAgc2V0TG9vcChsb29wKSB7XG4gICAgICBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkubG9vcCA9IGxvb3BcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkVmlkZW9QbGF5ZXIoXG4gIGVuZ2luZTogSUVuZ2luZVxuKTogW0VudGl0eSwgRGVlcFJlYWRvbmx5T2JqZWN0PFBCVmlkZW9QbGF5ZXI+XSB8IG51bGwge1xuICBjb25zdCB7IFZpZGVvUGxheWVyIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKVxuICBjb25zdCB2aWRlb1BsYXllcnMgPSBnZXRWaWRlb1BsYXllcnMoZW5naW5lKVxuXG4gIGlmICh2aWRlb1BsYXllcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGVudGl0eSA9IHZpZGVvUGxheWVyc1tzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRWaWRlb1BsYXllciA/PyAwXS5lbnRpdHkgYXMgRW50aXR5XG4gIGNvbnN0IHZpZGVvUGxheWVyID0gVmlkZW9QbGF5ZXIuZ2V0T3JOdWxsKGVudGl0eSlcbiAgcmV0dXJuIFtlbnRpdHksIHZpZGVvUGxheWVyIV1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SignedFetchRequest } from "~system/SignedFetch";
|
|
2
|
+
import { PBRealmInfo } from "~system/Runtime";
|
|
3
|
+
type Opts = {
|
|
4
|
+
toCamelCase?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function wrapSignedFetch<T extends any = unknown>(signedFetchBody: SignedFetchRequest, opts?: Opts): Promise<Result<T, string>>;
|
|
7
|
+
export type Success<T> = [null, T];
|
|
8
|
+
export type Failure<E> = [E, null];
|
|
9
|
+
export type Result<T, E = Error> = Success<T> | Failure<E>;
|
|
10
|
+
export declare function tryCatch<T, E = Error>(promise: Promise<T>): Promise<Result<T, E>>;
|
|
11
|
+
export declare function getRealm(): Promise<PBRealmInfo | undefined>;
|
|
12
|
+
export declare function isPreview(): boolean;
|
|
13
|
+
export declare function getDomain(): "org" | "zone";
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { signedFetch } from "~system/SignedFetch";
|
|
2
|
+
import { toCamelCase } from "./utils";
|
|
3
|
+
import { getRealm as getRealmRuntime } from "~system/Runtime";
|
|
4
|
+
export async function wrapSignedFetch(signedFetchBody, opts = {}) {
|
|
5
|
+
const realm = await getRealm();
|
|
6
|
+
if (realm?.isPreview) {
|
|
7
|
+
return ["Try again in Genesis/World. LocalPreview not supported.", null];
|
|
8
|
+
}
|
|
9
|
+
const [error, value] = await tryCatch(signedFetch(signedFetchBody));
|
|
10
|
+
if (!value?.ok || error) {
|
|
11
|
+
console.log(`Error in ${signedFetchBody.url} endpoint`, JSON.stringify({ error, value }));
|
|
12
|
+
return [error?.message ?? value?.body ?? 'There was an error', null];
|
|
13
|
+
}
|
|
14
|
+
const [_, body] = await tryCatch(JSON.parse(value.body || '{}'));
|
|
15
|
+
return [null, opts.toCamelCase ? toCamelCase(body ?? {}) : body ?? {}];
|
|
16
|
+
}
|
|
17
|
+
export async function tryCatch(promise) {
|
|
18
|
+
try {
|
|
19
|
+
const data = await promise;
|
|
20
|
+
return [null, data];
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return [error, null];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
let realmCache;
|
|
27
|
+
export async function getRealm() {
|
|
28
|
+
if (realmCache)
|
|
29
|
+
return realmCache;
|
|
30
|
+
return realmCache = (await getRealmRuntime({})).realmInfo;
|
|
31
|
+
}
|
|
32
|
+
getRealm();
|
|
33
|
+
export function isPreview() {
|
|
34
|
+
return !!realmCache?.isPreview;
|
|
35
|
+
}
|
|
36
|
+
export function getDomain() {
|
|
37
|
+
if (!realmCache || realmCache.networkId === 1)
|
|
38
|
+
return 'org';
|
|
39
|
+
return 'zone';
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9mZXRjaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDckMsT0FBTyxFQUFFLFFBQVEsSUFBSSxlQUFlLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQTtBQUsxRSxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FBMEIsZUFBbUMsRUFBRSxPQUFhLEVBQUU7SUFFakgsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQTtJQUU5QixJQUFJLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMseURBQXlELEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7SUFFbkUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN6RixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sUUFBUSxDQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBRW5FLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBYyxDQUFBO0FBQ3JGLENBQUM7QUFVRCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FDNUIsT0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQztBQUNILENBQUM7QUFFRCxJQUFJLFVBQW1DLENBQUE7QUFFdkMsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRO0lBQzVCLElBQUksVUFBVTtRQUFFLE9BQU8sVUFBVSxDQUFBO0lBQ2pDLE9BQU8sVUFBVSxHQUFHLENBQUMsTUFBTSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFDM0QsQ0FBQztBQUVELFFBQVEsRUFBRSxDQUFBO0FBRVYsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDdkIsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsU0FBUyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUMzRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduZWRGZXRjaFJlcXVlc3QsIHNpZ25lZEZldGNoIH0gZnJvbSBcIn5zeXN0ZW0vU2lnbmVkRmV0Y2hcIlxuaW1wb3J0IHsgdG9DYW1lbENhc2UgfSBmcm9tIFwiLi91dGlsc1wiXG5pbXBvcnQgeyBnZXRSZWFsbSBhcyBnZXRSZWFsbVJ1bnRpbWUsIFBCUmVhbG1JbmZvIH0gZnJvbSBcIn5zeXN0ZW0vUnVudGltZVwiXG5cbnR5cGUgT3B0cyA9IHtcbiAgdG9DYW1lbENhc2U/OiBib29sZWFuXG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JhcFNpZ25lZEZldGNoPFQgZXh0ZW5kcyBhbnkgPSB1bmtub3duPihzaWduZWRGZXRjaEJvZHk6IFNpZ25lZEZldGNoUmVxdWVzdCwgb3B0czogT3B0cyA9IHt9KTogUHJvbWlzZTxSZXN1bHQ8VCwgc3RyaW5nPj4ge1xuICAvLyBUT0RPOiB1bmNvbW1lbnQgdGhpc1xuICBjb25zdCByZWFsbSA9IGF3YWl0IGdldFJlYWxtKClcblxuICBpZiAocmVhbG0/LmlzUHJldmlldykge1xuICAgIHJldHVybiBbXCJUcnkgYWdhaW4gaW4gR2VuZXNpcy9Xb3JsZC4gTG9jYWxQcmV2aWV3IG5vdCBzdXBwb3J0ZWQuXCIsIG51bGxdXG4gIH1cblxuICBjb25zdCBbZXJyb3IsIHZhbHVlXSA9IGF3YWl0IHRyeUNhdGNoKHNpZ25lZEZldGNoKHNpZ25lZEZldGNoQm9keSkpXG5cbiAgaWYgKCF2YWx1ZT8ub2sgfHwgZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZyhgRXJyb3IgaW4gJHtzaWduZWRGZXRjaEJvZHkudXJsfSBlbmRwb2ludGAsIEpTT04uc3RyaW5naWZ5KHsgZXJyb3IsIHZhbHVlIH0pKVxuICAgIHJldHVybiBbZXJyb3I/Lm1lc3NhZ2UgPz8gdmFsdWU/LmJvZHkgPz8gJ1RoZXJlIHdhcyBhbiBlcnJvcicsIG51bGxdXG4gIH1cbiAgY29uc3QgW18sIGJvZHldID0gYXdhaXQgdHJ5Q2F0Y2g8VD4oSlNPTi5wYXJzZSh2YWx1ZS5ib2R5IHx8ICd7fScpKVxuXG4gIHJldHVybiBbbnVsbCwgb3B0cy50b0NhbWVsQ2FzZSA/IHRvQ2FtZWxDYXNlKGJvZHkgPz8ge30pIDogYm9keSA/PyB7fV0gYXMgW251bGwsIFRdXG59XG5cbi8vIFR5cGVzIGZvciB0aGUgcmVzdWx0IG9iamVjdCB3aXRoIGRpc2NyaW1pbmF0ZWQgdW5pb25cbmV4cG9ydCB0eXBlIFN1Y2Nlc3M8VD4gPSBbbnVsbCwgVF1cblxuZXhwb3J0IHR5cGUgRmFpbHVyZTxFPiA9IFtFLCBudWxsXVxuXG5leHBvcnQgdHlwZSBSZXN1bHQ8VCwgRSA9IEVycm9yPiA9IFN1Y2Nlc3M8VD4gfCBGYWlsdXJlPEU+O1xuXG4vLyBNYWluIHdyYXBwZXIgZnVuY3Rpb25cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0cnlDYXRjaDxULCBFID0gRXJyb3I+KFxuICBwcm9taXNlOiBQcm9taXNlPFQ+LFxuKTogUHJvbWlzZTxSZXN1bHQ8VCwgRT4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcHJvbWlzZTtcbiAgICByZXR1cm4gW251bGwsIGRhdGFdXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFtlcnJvciBhcyBFLCBudWxsXVxuICB9XG59XG5cbmxldCByZWFsbUNhY2hlOiBQQlJlYWxtSW5mbyB8IHVuZGVmaW5lZFxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVhbG0oKSB7XG4gIGlmIChyZWFsbUNhY2hlKSByZXR1cm4gcmVhbG1DYWNoZVxuICByZXR1cm4gcmVhbG1DYWNoZSA9IChhd2FpdCBnZXRSZWFsbVJ1bnRpbWUoe30pKS5yZWFsbUluZm9cbn1cblxuZ2V0UmVhbG0oKVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmV2aWV3KCkge1xuICByZXR1cm4gISFyZWFsbUNhY2hlPy5pc1ByZXZpZXdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvbWFpbigpIHtcbiAgaWYgKCFyZWFsbUNhY2hlIHx8IHJlYWxtQ2FjaGUubmV0d29ya0lkID09PSAxKSByZXR1cm4gJ29yZydcbiAgcmV0dXJuICd6b25lJ1xufVxuXG4iXX0=
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
import { Color4 } from '@dcl/sdk/math';
|
|
1
2
|
import { ReactBasedUiSystem } from '@dcl/react-ecs';
|
|
2
3
|
import { IEngine, PointerEventsSystem } from '@dcl/ecs';
|
|
3
4
|
import { IPlayersHelper, ISDKHelpers } from '../definitions';
|
|
5
|
+
import { State } from './types';
|
|
4
6
|
export declare const nextTickFunctions: (() => void)[];
|
|
7
|
+
export declare let scaleFactor: number;
|
|
8
|
+
export declare let state: State;
|
|
9
|
+
export declare const containerBackgroundColor: Color4.MutableColor4;
|
|
10
|
+
export declare function fetchSceneAdmins(): Promise<void>;
|
|
11
|
+
export declare function getSmartItems(engine: IEngine): import("@dcl/ecs").DeepReadonlyObject<import("@dcl/ecs").MapResult<{
|
|
12
|
+
entity: import("@dcl/ecs").ISchema<number>;
|
|
13
|
+
customName: import("@dcl/ecs").ISchema<string>;
|
|
14
|
+
defaultAction: import("@dcl/ecs").ISchema<string>;
|
|
15
|
+
}>>[];
|
|
5
16
|
export declare function initializeAdminData(engine: IEngine, sdkHelpers?: ISDKHelpers): Promise<void>;
|
|
6
17
|
export declare function createAdminToolkitUI(engine: IEngine, pointerEventsSystem: PointerEventsSystem, reactBasedUiSystem: ReactBasedUiSystem, sdkHelpers?: ISDKHelpers, playersHelper?: IPlayersHelper): void;
|