@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,67 @@
|
|
|
1
|
+
import { Color4 } from '@dcl/ecs-math';
|
|
2
|
+
import ReactEcs, { UiEntity, Label, Input } from "@dcl/react-ecs";
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
import { postSceneAdmin } from './api';
|
|
5
|
+
import { Error } from '../Error';
|
|
6
|
+
import { fetchSceneAdmins } from '..';
|
|
7
|
+
let $inputValue = '';
|
|
8
|
+
function isValidAddress(value) {
|
|
9
|
+
return /^0x[a-fA-F0-9]{40}$/.test(value);
|
|
10
|
+
}
|
|
11
|
+
export function AddUserInput({ scaleFactor, onSubmit }) {
|
|
12
|
+
const [error, setError] = ReactEcs.useState(false);
|
|
13
|
+
const [loading, setLoading] = ReactEcs.useState(false);
|
|
14
|
+
return (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
15
|
+
display: 'flex',
|
|
16
|
+
flexDirection: 'column',
|
|
17
|
+
positionType: 'relative',
|
|
18
|
+
} },
|
|
19
|
+
ReactEcs.createElement(Label, { value: "<b>Add an Admin</b>", fontSize: 18 * scaleFactor, color: Color4.White(), uiTransform: {
|
|
20
|
+
margin: { bottom: 16 * scaleFactor },
|
|
21
|
+
} }),
|
|
22
|
+
ReactEcs.createElement(UiEntity, null,
|
|
23
|
+
ReactEcs.createElement(Input, { onChange: ($) => {
|
|
24
|
+
if (error) {
|
|
25
|
+
setError(false);
|
|
26
|
+
}
|
|
27
|
+
$inputValue = $;
|
|
28
|
+
}, onSubmit: (value) => {
|
|
29
|
+
onSubmit(value);
|
|
30
|
+
$inputValue = '';
|
|
31
|
+
}, value: $inputValue, fontSize: 16 * scaleFactor, placeholder: "Wallet Address", placeholderColor: Color4.create(160 / 255, 155 / 255, 168 / 255, 1), color: Color4.Black(), uiBackground: { color: Color4.White() }, uiTransform: {
|
|
32
|
+
width: '100%',
|
|
33
|
+
height: 42 * scaleFactor,
|
|
34
|
+
margin: { bottom: 16 * scaleFactor },
|
|
35
|
+
borderColor: ((!$inputValue || isValidAddress($inputValue)) && !error) ? Color4.White() : Color4.Red(),
|
|
36
|
+
borderWidth: 4,
|
|
37
|
+
borderRadius: 8
|
|
38
|
+
} }),
|
|
39
|
+
ReactEcs.createElement(Button, { id: "moderation_control_add_admin", value: '<b>Add</b>', fontSize: 18 * scaleFactor, uiTransform: {
|
|
40
|
+
margin: { left: 10 * scaleFactor },
|
|
41
|
+
minWidth: 96 * scaleFactor,
|
|
42
|
+
height: 42 * scaleFactor,
|
|
43
|
+
alignItems: 'center',
|
|
44
|
+
justifyContent: 'center',
|
|
45
|
+
padding: 0,
|
|
46
|
+
}, onMouseDown: async () => {
|
|
47
|
+
if (loading)
|
|
48
|
+
return;
|
|
49
|
+
setLoading(true);
|
|
50
|
+
const [error, data] = await postSceneAdmin($inputValue);
|
|
51
|
+
if (data) {
|
|
52
|
+
setError(false);
|
|
53
|
+
$inputValue = '';
|
|
54
|
+
await fetchSceneAdmins();
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.log(error);
|
|
58
|
+
setError(true);
|
|
59
|
+
}
|
|
60
|
+
setLoading(false);
|
|
61
|
+
} })),
|
|
62
|
+
error && (ReactEcs.createElement(Error, { uiTransform: {
|
|
63
|
+
margin: { top: -16 & scaleFactor, bottom: 16 * scaleFactor },
|
|
64
|
+
justifyContent: 'flex-start',
|
|
65
|
+
}, scaleFactor: scaleFactor, text: "Please try again." }))));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkVXNlcklucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvTW9kZXJhdGlvbkNvbnRyb2wvQWRkVXNlcklucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFNckMsSUFBSSxXQUFXLEdBQVcsRUFBRSxDQUFBO0FBRTVCLFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFTO0lBQzNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsRCxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFdEQsT0FBTyxDQUNMLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsTUFBTTtZQUNmLGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxVQUFVO1NBQ3pCO1FBRUQsdUJBQUMsS0FBSyxJQUNKLEtBQUssRUFBQyxxQkFBcUIs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RUFBRTtnQkFDWCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFFO2dCQUM1RCxjQUFjLEVBQUUsWUFBWTthQUM3QixFQUNELFdBQVcsRUFBRSxXQUFXLEVBQ3hCLElBQUksRUFBQyxtQkFBbUIsR0FDeEIsQ0FDSCxDQUNRLENBQ1osQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL2Vjcy1tYXRoJ1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCwgSW5wdXQgfSBmcm9tIFwiQGRjbC9yZWFjdC1lY3NcIlxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgcG9zdFNjZW5lQWRtaW4gfSBmcm9tICcuL2FwaSdcbmltcG9ydCB7IEVycm9yIH0gZnJvbSAnLi4vRXJyb3InXG5pbXBvcnQgeyBmZXRjaFNjZW5lQWRtaW5zIH0gZnJvbSAnLi4nXG5cbnR5cGUgUHJvcHMgPSB7XG4gIHNjYWxlRmFjdG9yOiBudW1iZXJcbiAgb25TdWJtaXQodmFsdWU6IHN0cmluZyk6IHZvaWRcbn1cbmxldCAkaW5wdXRWYWx1ZTogc3RyaW5nID0gJydcblxuZnVuY3Rpb24gaXNWYWxpZEFkZHJlc3ModmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gL14weFthLWZBLUYwLTldezQwfSQvLnRlc3QodmFsdWUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRVc2VySW5wdXQoeyBzY2FsZUZhY3Rvciwgb25TdWJtaXQgfTogUHJvcHMpIHtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdEVjcy51c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIHBvc2l0aW9uVHlwZTogJ3JlbGF0aXZlJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPExhYmVsXG4gICAgICAgIHZhbHVlPVwiPGI+QWRkIGFuIEFkbWluPC9iPlwiXG4gICAgICAgIGZvbnRTaXplPXsxOCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMTYgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIDxVaUVudGl0eT5cbiAgICAgICAgPElucHV0XG4gICAgICAgICAgb25DaGFuZ2U9eygkKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkaW5wdXRWYWx1ZSA9ICRcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU3VibWl0PXsodmFsdWUpID0+IHtcbiAgICAgICAgICAgIG9uU3VibWl0KHZhbHVlKVxuICAgICAgICAgICAgJGlucHV0VmFsdWUgPSAnJ1xuICAgICAgICAgIH19XG4gICAgICAgICAgdmFsdWU9eyRpbnB1dFZhbHVlfVxuICAgICAgICAgIGZvbnRTaXplPXsxNiAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiV2FsbGV0IEFkZHJlc3NcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyQ29sb3I9e0NvbG9yNC5jcmVhdGUoMTYwIC8gMjU1LCAxNTUgLyAyNTUsIDE2OCAvIDI1NSwgMSl9XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LldoaXRlKCkgfX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIGhlaWdodDogNDIgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDE2ICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAoKCEkaW5wdXRWYWx1ZSB8fCBpc1ZhbGlkQWRkcmVzcygkaW5wdXRWYWx1ZSkpICYmICFlcnJvcikgPyBDb2xvcjQuV2hpdGUoKSA6IENvbG9yNC5SZWQoKSxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiA0LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIGlkPVwibW9kZXJhdGlvbl9jb250cm9sX2FkZF9hZG1pblwiXG4gICAgICAgICAgdmFsdWU9eyc8Yj5BZGQ8L2I+J31cbiAgICAgICAgICBmb250U2l6ZT17MTggKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDEwICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgIG1pbldpZHRoOiA5NiAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgaGVpZ2h0OiA0MiAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgICAgb25Nb3VzZURvd249e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsb2FkaW5nKSByZXR1cm5cbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCBwb3N0U2NlbmVBZG1pbigkaW5wdXRWYWx1ZSlcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgICAgICAgICAgICAkaW5wdXRWYWx1ZSA9ICcnXG4gICAgICAgICAgICAgIGF3YWl0IGZldGNoU2NlbmVBZG1pbnMoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgICAgICAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgICAge2Vycm9yICYmIChcbiAgICAgICAgPEVycm9yXG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIG1hcmdpbjogeyB0b3A6IC0xNiAmIHNjYWxlRmFjdG9yLCBib3R0b206IDE2ICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBzY2FsZUZhY3Rvcj17c2NhbGVGYWN0b3J9XG4gICAgICAgICAgdGV4dD1cIlBsZWFzZSB0cnkgYWdhaW4uXCJcbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9VaUVudGl0eT5cbiAgKVxufSJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IEngine } from '@dcl/ecs';
|
|
2
|
+
import ReactEcs from '@dcl/react-ecs';
|
|
3
|
+
import { SceneAdmin } from '.';
|
|
4
|
+
type CurrentAdminProps = {
|
|
5
|
+
scaleFactor: number;
|
|
6
|
+
sceneAdmins: SceneAdmin[];
|
|
7
|
+
engine: IEngine;
|
|
8
|
+
};
|
|
9
|
+
export declare function ModalAdminList({ scaleFactor, sceneAdmins, engine, }: CurrentAdminProps): ReactEcs.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { Color4 } from '@dcl/ecs-math';
|
|
2
|
+
import ReactEcs, { UiEntity, Label } from '@dcl/react-ecs';
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
import { RemoveAdminConfirmation } from './RemoveAdminConfirmation';
|
|
5
|
+
import { moderationControlState } from '.';
|
|
6
|
+
import { CONTENT_URL } from '../constants';
|
|
7
|
+
const ADMINS_PER_PAGE = 5;
|
|
8
|
+
const ICONS = {
|
|
9
|
+
BACK: `${CONTENT_URL}/admin_toolkit/assets/icons/chevron-back.png`,
|
|
10
|
+
NEXT: `${CONTENT_URL}/admin_toolkit/assets/icons/chevron-forward.png`,
|
|
11
|
+
CLOSE: `${CONTENT_URL}/admin_toolkit/assets/icons/close.png`,
|
|
12
|
+
PERSON: `${CONTENT_URL}/admin_toolkit/assets/icons/person-outline.png`,
|
|
13
|
+
VERIFIED_USER: `${CONTENT_URL}/admin_toolkit/assets/icons/admin-panel-verified-user.png`,
|
|
14
|
+
};
|
|
15
|
+
export function ModalAdminList({ scaleFactor, sceneAdmins, engine, }) {
|
|
16
|
+
const [page, setPage] = ReactEcs.useState(1);
|
|
17
|
+
if (moderationControlState.adminToRemove) {
|
|
18
|
+
return (ReactEcs.createElement(RemoveAdminConfirmation, { scaleFactor: scaleFactor, admin: moderationControlState.adminToRemove, engine: engine }));
|
|
19
|
+
}
|
|
20
|
+
const startIndex = (page - 1) * ADMINS_PER_PAGE;
|
|
21
|
+
const endIndex = Math.min(startIndex + ADMINS_PER_PAGE, sceneAdmins.length);
|
|
22
|
+
const currentPageAdmins = sceneAdmins.slice(startIndex, endIndex);
|
|
23
|
+
return (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
24
|
+
width: '100%',
|
|
25
|
+
height: '100%',
|
|
26
|
+
positionType: 'absolute',
|
|
27
|
+
display: 'flex',
|
|
28
|
+
justifyContent: 'center',
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
flexDirection: 'row',
|
|
31
|
+
} },
|
|
32
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
33
|
+
width: 675 * scaleFactor,
|
|
34
|
+
maxHeight: 679 * scaleFactor,
|
|
35
|
+
minHeight: 479 * scaleFactor,
|
|
36
|
+
padding: 20 * scaleFactor,
|
|
37
|
+
display: 'flex',
|
|
38
|
+
flexDirection: 'column',
|
|
39
|
+
justifyContent: 'space-between',
|
|
40
|
+
borderRadius: 12 * scaleFactor,
|
|
41
|
+
}, uiBackground: { color: Color4.Black() } },
|
|
42
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
43
|
+
display: 'flex',
|
|
44
|
+
flexDirection: 'column',
|
|
45
|
+
flexGrow: 1,
|
|
46
|
+
} },
|
|
47
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
48
|
+
justifyContent: 'flex-start',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
margin: { bottom: 24 * scaleFactor },
|
|
51
|
+
} },
|
|
52
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
53
|
+
width: 30 * scaleFactor,
|
|
54
|
+
height: 30 * scaleFactor,
|
|
55
|
+
margin: { right: 10 * scaleFactor },
|
|
56
|
+
}, uiBackground: {
|
|
57
|
+
textureMode: 'stretch',
|
|
58
|
+
texture: {
|
|
59
|
+
src: ICONS.VERIFIED_USER,
|
|
60
|
+
},
|
|
61
|
+
} }),
|
|
62
|
+
ReactEcs.createElement(Label, { value: "<b>ADMIN LIST</b>", fontSize: 24 * scaleFactor, color: Color4.White() }),
|
|
63
|
+
ReactEcs.createElement(Label, { value: `(${sceneAdmins.length} admins)`, fontSize: 16 * scaleFactor, color: Color4.Gray(), uiTransform: { margin: { left: 8 * scaleFactor } } }),
|
|
64
|
+
ReactEcs.createElement(Button, { id: "close-modal", onlyIcon: true, icon: ICONS.CLOSE, variant: "secondary", fontSize: 20 * scaleFactor, uiTransform: {
|
|
65
|
+
position: { right: 0 },
|
|
66
|
+
positionType: 'absolute',
|
|
67
|
+
borderColor: Color4.Clear(),
|
|
68
|
+
}, iconTransform: {
|
|
69
|
+
width: 32 * scaleFactor,
|
|
70
|
+
height: 32 * scaleFactor,
|
|
71
|
+
}, onMouseDown: () => (moderationControlState.showModalAdminList = false) })),
|
|
72
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
73
|
+
flexDirection: 'column',
|
|
74
|
+
width: '100%',
|
|
75
|
+
margin: { top: 16 * scaleFactor },
|
|
76
|
+
} }, currentPageAdmins.map((user, index) => (ReactEcs.createElement(UiEntity, { key: user.address, uiTransform: { display: 'flex', flexDirection: 'column' } },
|
|
77
|
+
ReactEcs.createElement(UiEntity, { key: `admin-${user.name}`, uiTransform: {
|
|
78
|
+
flexDirection: 'row',
|
|
79
|
+
justifyContent: 'space-between',
|
|
80
|
+
alignItems: 'center',
|
|
81
|
+
height: 48 * scaleFactor,
|
|
82
|
+
padding: { left: 8 * scaleFactor, right: 8 * scaleFactor },
|
|
83
|
+
margin: { top: 4 * scaleFactor, bottom: 4 * scaleFactor },
|
|
84
|
+
} },
|
|
85
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
86
|
+
display: 'flex',
|
|
87
|
+
height: '100%',
|
|
88
|
+
justifyContent: 'center',
|
|
89
|
+
} },
|
|
90
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
91
|
+
display: 'flex',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
justifyContent: 'center',
|
|
94
|
+
margin: { right: 10 * scaleFactor },
|
|
95
|
+
} },
|
|
96
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
97
|
+
width: 28 * scaleFactor,
|
|
98
|
+
height: 28 * scaleFactor,
|
|
99
|
+
}, uiBackground: {
|
|
100
|
+
textureMode: 'stretch',
|
|
101
|
+
texture: {
|
|
102
|
+
src: ICONS.PERSON,
|
|
103
|
+
},
|
|
104
|
+
} })),
|
|
105
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
106
|
+
display: 'flex',
|
|
107
|
+
flexDirection: 'column',
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
} },
|
|
110
|
+
user.name && (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
111
|
+
display: 'flex',
|
|
112
|
+
alignItems: 'center',
|
|
113
|
+
} },
|
|
114
|
+
ReactEcs.createElement(Label, { value: `<b>${user.name}</b>`, fontSize: 14 * scaleFactor, color: Color4.White() }),
|
|
115
|
+
!user.name.includes('#') && (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
116
|
+
width: 14 * scaleFactor,
|
|
117
|
+
height: 14 * scaleFactor,
|
|
118
|
+
}, uiBackground: {
|
|
119
|
+
textureMode: 'stretch',
|
|
120
|
+
texture: {
|
|
121
|
+
src: ICONS.VERIFIED_USER,
|
|
122
|
+
},
|
|
123
|
+
color: Color4.White(),
|
|
124
|
+
} })),
|
|
125
|
+
(user.role === 'owner' ||
|
|
126
|
+
user.role === 'operator') && (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
127
|
+
display: 'flex',
|
|
128
|
+
alignItems: 'center',
|
|
129
|
+
justifyContent: 'center',
|
|
130
|
+
width: 'auto',
|
|
131
|
+
height: 20 * scaleFactor,
|
|
132
|
+
padding: {
|
|
133
|
+
left: 4 * scaleFactor,
|
|
134
|
+
},
|
|
135
|
+
margin: { left: 8 * scaleFactor },
|
|
136
|
+
borderRadius: 4 * scaleFactor,
|
|
137
|
+
}, uiBackground: {
|
|
138
|
+
color: Color4.fromHexString('#A09BA8'),
|
|
139
|
+
} },
|
|
140
|
+
ReactEcs.createElement(Label, { value: `<b>${(user.role ?? '')?.charAt(0).toUpperCase() +
|
|
141
|
+
user.role?.slice(1)}</b>`, fontSize: 12 * scaleFactor, color: Color4.Black() }))))),
|
|
142
|
+
ReactEcs.createElement(Label, { fontSize: (user.name ? 12 : 14) * scaleFactor, value: user.name ? user.address : `${user.address}`, color: user.name
|
|
143
|
+
? Color4.fromHexString('#716B7C')
|
|
144
|
+
: Color4.White() }))),
|
|
145
|
+
user.canBeRemoved && (ReactEcs.createElement(Button, { id: `remove-${index}`, value: "<b>Remove</b>", variant: "text", fontSize: 14 * scaleFactor, color: Color4.fromHexString('#FF2D55FF'), labelTransform: {
|
|
146
|
+
margin: {
|
|
147
|
+
left: 10 * scaleFactor,
|
|
148
|
+
right: 10 * scaleFactor,
|
|
149
|
+
},
|
|
150
|
+
}, onMouseDown: () => {
|
|
151
|
+
moderationControlState.adminToRemove = user;
|
|
152
|
+
} }))),
|
|
153
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
154
|
+
width: '100%',
|
|
155
|
+
height: 1,
|
|
156
|
+
}, uiBackground: { color: Color4.fromHexString('#43404A') } })))))),
|
|
157
|
+
sceneAdmins.length > ADMINS_PER_PAGE && (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
158
|
+
flexDirection: 'row',
|
|
159
|
+
justifyContent: 'space-between',
|
|
160
|
+
alignItems: 'center',
|
|
161
|
+
margin: { top: 20 * scaleFactor },
|
|
162
|
+
padding: { left: 10 * scaleFactor, right: 10 * scaleFactor },
|
|
163
|
+
} },
|
|
164
|
+
ReactEcs.createElement(Button, { id: "prev", value: "Prev", variant: "secondary", disabled: page <= 1, fontSize: 18 * scaleFactor, icon: ICONS.BACK, iconTransform: {
|
|
165
|
+
width: 25 * scaleFactor,
|
|
166
|
+
height: 25 * scaleFactor,
|
|
167
|
+
margin: { left: 8 * scaleFactor },
|
|
168
|
+
}, iconBackground: { color: page <= 1 ? Color4.fromHexString('#323232') : Color4.White() }, color: page <= 1 ? Color4.fromHexString('#323232') : Color4.White(), labelTransform: {
|
|
169
|
+
margin: { right: 10 * scaleFactor },
|
|
170
|
+
}, uiTransform: {
|
|
171
|
+
height: 42 * scaleFactor,
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
}, onMouseDown: () => setPage(page - 1) }),
|
|
174
|
+
ReactEcs.createElement(Label, { value: `${page} / ${Math.ceil(sceneAdmins.length / ADMINS_PER_PAGE)}`, fontSize: 14 * scaleFactor, color: Color4.White() }),
|
|
175
|
+
ReactEcs.createElement(Button, { id: "next", value: "<b>Next</b>", variant: "secondary", fontSize: 18 * scaleFactor, iconRight: ICONS.NEXT, iconRightTransform: {
|
|
176
|
+
width: 25 * scaleFactor,
|
|
177
|
+
height: 25 * scaleFactor,
|
|
178
|
+
margin: { right: 8 * scaleFactor },
|
|
179
|
+
}, labelTransform: {
|
|
180
|
+
margin: { left: 10 * scaleFactor },
|
|
181
|
+
}, iconRightBackground: {
|
|
182
|
+
color: page >= Math.ceil(sceneAdmins.length / ADMINS_PER_PAGE)
|
|
183
|
+
? Color4.fromHexString('#323232')
|
|
184
|
+
: Color4.White()
|
|
185
|
+
}, color: page >= Math.ceil(sceneAdmins.length / ADMINS_PER_PAGE)
|
|
186
|
+
? Color4.fromHexString('#323232')
|
|
187
|
+
: Color4.White(), disabled: page >= Math.ceil(sceneAdmins.length / ADMINS_PER_PAGE), uiTransform: {
|
|
188
|
+
alignItems: 'center',
|
|
189
|
+
height: 42 * scaleFactor,
|
|
190
|
+
}, onMouseDown: () => setPage(page + 1) }))))));
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRtaW5MaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvTW9kZXJhdGlvbkNvbnRyb2wvQWRtaW5MaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFjLE1BQU0sR0FBRyxDQUFBO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFTMUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFBO0FBRXpCLE1BQU0sS0FBSyxHQUFHO0lBQ1osSUFBSSxFQUFFLEdBQUcsV0FBVyw4Q0FBOEM7SUFDbEUsSUFBSSxFQUFFLEdBQUcsV0FBVyxpREFBaUQ7SUFDckUsS0FBSyxFQUFFLEdBQUcsV0FBVyx1Q0FBdUM7SUFDNUQsTUFBTSxFQUFFLEdBQUcsV0FBVyxnREFBZ0Q7SUFDdEUsYUFBYSxFQUFFLEdBQUcsV0FBVywyREFBMkQ7Q0FDekYsQ0FBQTtBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsRUFDN0IsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEdBQ1k7SUFDbEIsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVDLElBQUksc0JBQXNCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsT0FBTyxDQUNMLHVCQUFDLHVCQUF1QixJQUN0QixXQUFXLEVBQUUsV0FBVyxFQUN4QixLQUFLLEVBQUUsc0JBQXNCLENB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Q0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO3dCQUNqQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUVwQixRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsRUFDakUsV0FBVyxFQUFFO3dCQUNYLFVBQVUsRUFBRSxRQUFRO3dCQUNwQixNQUFNLEVBQUUsRUFBRSxHQUFHLFdBQVc7cUJBQ3pCLEVBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQ3BDLENBQ08sQ0FDWixDQUNRLENBQ0YsQ0FDWixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUgfSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvZWNzLW1hdGgnXG5pbXBvcnQgUmVhY3RFY3MsIHsgVWlFbnRpdHksIExhYmVsIH0gZnJvbSAnQGRjbC9yZWFjdC1lY3MnXG5cbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IFJlbW92ZUFkbWluQ29uZmlybWF0aW9uIH0gZnJvbSAnLi9SZW1vdmVBZG1pbkNvbmZpcm1hdGlvbidcbmltcG9ydCB7IG1vZGVyYXRpb25Db250cm9sU3RhdGUsIFNjZW5lQWRtaW4gfSBmcm9tICcuJ1xuaW1wb3J0IHsgQ09OVEVOVF9VUkwgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cblxudHlwZSBDdXJyZW50QWRtaW5Qcm9wcyA9IHtcbiAgc2NhbGVGYWN0b3I6IG51bWJlclxuICBzY2VuZUFkbWluczogU2NlbmVBZG1pbltdXG4gIGVuZ2luZTogSUVuZ2luZVxufVxuXG5jb25zdCBBRE1JTlNfUEVSX1BBR0UgPSA1XG5cbmNvbnN0IElDT05TID0ge1xuICBCQUNLOiBgJHtDT05URU5UX1VSTH0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvY2hldnJvbi1iYWNrLnBuZ2AsXG4gIE5FWFQ6IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9jaGV2cm9uLWZvcndhcmQucG5nYCxcbiAgQ0xPU0U6IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9jbG9zZS5wbmdgLFxuICBQRVJTT046IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9wZXJzb24tb3V0bGluZS5wbmdgLFxuICBWRVJJRklFRF9VU0VSOiBgJHtDT05URU5UX1VSTH0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvYWRtaW4tcGFuZWwtdmVyaWZpZWQtdXNlci5wbmdgLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWxBZG1pbkxpc3Qoe1xuICBzY2FsZUZhY3RvcixcbiAgc2NlbmVBZG1pbnMsXG4gIGVuZ2luZSxcbn06IEN1cnJlbnRBZG1pblByb3BzKSB7XG4gIGNvbnN0IFtwYWdlLCBzZXRQYWdlXSA9IFJlYWN0RWNzLnVzZVN0YXRlKDEpXG4gIGlmIChtb2RlcmF0aW9uQ29udHJvbFN0YXRlLmFkbWluVG9SZW1vdmUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFJlbW92ZUFkbWluQ29uZmlybWF0aW9uXG4gICAgICAgIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn1cbiAgICAgICAgYWRtaW49e21vZGVyYXRpb25Db250cm9sU3RhdGUuYWRtaW5Ub1JlbW92ZX1cbiAgICAgICAgZW5naW5lPXtlbmdpbmV9XG4gICAgICAvPlxuICAgIClcbiAgfVxuICBjb25zdCBzdGFydEluZGV4ID0gKHBhZ2UgLSAxKSAqIEFETUlOU19QRVJfUEFHRVxuICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWluKHN0YXJ0SW5kZXggKyBBRE1JTlNfUEVSX1BBR0UsIHNjZW5lQWRtaW5zLmxlbmd0aClcbiAgY29uc3QgY3VycmVudFBhZ2VBZG1pbnMgPSBzY2VuZUFkbWlucy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleClcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiA2NzUgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICBtYXhIZWlnaHQ6IDY3OSAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgIG1pbkhlaWdodDogNDc5ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgcGFkZGluZzogMjAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDEyICogc2NhbGVGYWN0b3IsXG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LkJsYWNrKCkgfX1cbiAgICAgID5cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHsvKiBIZWFkZXIgKi99XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMjQgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiAxMCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICAgICAgc3JjOiBJQ09OUy5WRVJJRklFRF9VU0VSLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+QURNSU4gTElTVDwvYj5cIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MjQgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT17YCgke3NjZW5lQWRtaW5zLmxlbmd0aH0gYWRtaW5zKWB9XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNiAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LkdyYXkoKX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3sgbWFyZ2luOiB7IGxlZnQ6IDggKiBzY2FsZUZhY3RvciB9IH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cImNsb3NlLW1vZGFsXCJcbiAgICAgICAgICAgICAgb25seUljb25cbiAgICAgICAgICAgICAgaWNvbj17SUNPTlMuQ0xPU0V9XG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MjAgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogeyByaWdodDogMCB9LFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogQ29sb3I0LkNsZWFyKCksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGljb25UcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PlxuICAgICAgICAgICAgICAgIChtb2RlcmF0aW9uQ29udHJvbFN0YXRlLnNob3dNb2RhbEFkbWluTGlzdCA9IGZhbHNlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgICAgICB7LyogQWRtaW4gTGlzdCAqL31cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAxNiAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjdXJyZW50UGFnZUFkbWlucy5tYXAoKHVzZXIsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgIGtleT17dXNlci5hZGRyZXNzfVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAga2V5PXtgYWRtaW4tJHt1c2VyLm5hbWV9YH1cbiAgICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB7IGxlZnQ6IDggKiBzY2FsZUZhY3RvciwgcmlnaHQ6IDggKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiA0ICogc2NhbGVGYWN0b3IsIGJvdHRvbTogNCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogMTAgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6IElDT05TLlBFUlNPTixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgICAgICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt1c2VyLm5hbWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YDxiPiR7dXNlci5uYW1lfTwvYj5gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxNCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeyF1c2VyLm5hbWUuaW5jbHVkZXMoJyMnKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTQgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBJQ09OUy5WRVJJRklFRF9VU0VSLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQ29sb3I0LldoaXRlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsodXNlci5yb2xlID09PSAnb3duZXInIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlci5yb2xlID09PSAnb3BlcmF0b3InKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDQgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDggKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDQgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjQTA5QkE4JyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YDxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVzZXIucm9sZSA/PyAnJyk/LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnJvbGU/LnNsaWNlKDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH08L2I+YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezEyICogc2NhbGVGYWN0b3J9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuQmxhY2soKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsodXNlci5uYW1lID8gMTIgOiAxNCkgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt1c2VyLm5hbWUgPyB1c2VyLmFkZHJlc3MgOiBgJHt1c2VyLmFkZHJlc3N9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlci5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBDb2xvcjQuZnJvbUhleFN0cmluZygnIzcxNkI3QycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBDb2xvcjQuV2hpdGUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAgICAgICAge3VzZXIuY2FuQmVSZW1vdmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGlkPXtgcmVtb3ZlLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPlJlbW92ZTwvYj5cIlxuICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTQgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRjJENTVGRicpfVxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVyYXRpb25Db250cm9sU3RhdGUuYWRtaW5Ub1JlbW92ZSA9IHVzZXJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IHsgdG9wOiAtNCAqIHNjYWxlRmFjdG9yLCBib3R0b206IDQgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LmZyb21IZXhTdHJpbmcoJyM0MzQwNEEnKSB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICA8L1VpRW50aXR5PlxuXG4gICAgICAgIHtzY2VuZUFkbWlucy5sZW5ndGggPiBBRE1JTlNfUEVSX1BBR0UgJiYgKFxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBtYXJnaW46IHsgdG9wOiAyMCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgICAgIHBhZGRpbmc6IHsgbGVmdDogMTAgKiBzY2FsZUZhY3RvciwgcmlnaHQ6IDEwICogc2NhbGVGYWN0b3IgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInByZXZcIlxuICAgICAgICAgICAgICB2YWx1ZT1cIlByZXZcIlxuICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3BhZ2UgPD0gMX1cbiAgICAgICAgICAgICAgZm9udFNpemU9ezE4ICogc2NhbGVGYWN0b3J9XG4gICAgICAgICAgICAgIGljb249e0lDT05TLkJBQ0t9XG4gICAgICAgICAgICAgIGljb25UcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDggKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBpY29uQmFja2dyb3VuZD17eyBjb2xvcjogcGFnZSA8PSAxID8gQ29sb3I0LmZyb21IZXhTdHJpbmcoJyMzMjMyMzInKSA6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgICAgICAgIGNvbG9yPXtcbiAgICAgICAgICAgICAgICBwYWdlIDw9IDEgPyBDb2xvcjQuZnJvbUhleFN0cmluZygnIzMyMzIzMicpIDogQ29sb3I0LldoaXRlKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogMTAgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDIgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHNldFBhZ2UocGFnZSAtIDEpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT17YCR7cGFnZX0gLyAke01hdGguY2VpbChzY2VuZUFkbWlucy5sZW5ndGggLyBBRE1JTlNfUEVSX1BBR0UpfWB9XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cIm5leHRcIlxuICAgICAgICAgICAgICB2YWx1ZT1cIjxiPk5leHQ8L2I+XCJcbiAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxOCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgICBpY29uUmlnaHQ9e0lDT05TLk5FWFR9XG4gICAgICAgICAgICAgIGljb25SaWdodFRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgIGhlaWdodDogMjUgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDggKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogeyBsZWZ0OiAxMCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGljb25SaWdodEJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgICBjb2xvcjogcGFnZSA+PSBNYXRoLmNlaWwoc2NlbmVBZG1pbnMubGVuZ3RoIC8gQURNSU5TX1BFUl9QQUdFKVxuICAgICAgICAgICAgICAgICAgICA/IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjMzIzMjMyJylcbiAgICAgICAgICAgICAgICAgICAgOiBDb2xvcjQuV2hpdGUoKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNvbG9yPXtcbiAgICAgICAgICAgICAgICBwYWdlID49IE1hdGguY2VpbChzY2VuZUFkbWlucy5sZW5ndGggLyBBRE1JTlNfUEVSX1BBR0UpXG4gICAgICAgICAgICAgICAgICA/IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjMzIzMjMyJylcbiAgICAgICAgICAgICAgICAgIDogQ29sb3I0LldoaXRlKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17cGFnZSA+PSBNYXRoLmNlaWwoc2NlbmVBZG1pbnMubGVuZ3RoIC8gQURNSU5TX1BFUl9QQUdFKX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBzZXRQYWdlKHBhZ2UgKyAxKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgKX1cbiAgICAgIDwvVWlFbnRpdHk+XG4gICAgPC9VaUVudGl0eT5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEngine } from '@dcl/ecs';
|
|
2
|
+
import ReactEcs from '@dcl/react-ecs';
|
|
3
|
+
import { SceneAdmin } from '.';
|
|
4
|
+
export declare function RemoveAdminConfirmation({ scaleFactor, admin, engine, }: {
|
|
5
|
+
scaleFactor: number;
|
|
6
|
+
admin: SceneAdmin;
|
|
7
|
+
engine: IEngine;
|
|
8
|
+
}): ReactEcs.JSX.Element;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Color4 } from '@dcl/ecs-math';
|
|
2
|
+
import ReactEcs, { UiEntity, Label } from '@dcl/react-ecs';
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
import { deleteSceneAdmin } from './api';
|
|
5
|
+
import { moderationControlState } from '.';
|
|
6
|
+
import { LoadingDots } from '../Loading';
|
|
7
|
+
import { Error } from '../Error';
|
|
8
|
+
import { fetchSceneAdmins } from '..';
|
|
9
|
+
export function RemoveAdminConfirmation({ scaleFactor, admin, engine, }) {
|
|
10
|
+
const [isLoading, setIsLoading] = ReactEcs.useState(false);
|
|
11
|
+
const [error, setError] = ReactEcs.useState('');
|
|
12
|
+
return (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
13
|
+
width: '100%',
|
|
14
|
+
height: '100%',
|
|
15
|
+
display: 'flex',
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
} },
|
|
19
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
20
|
+
width: 675 * scaleFactor,
|
|
21
|
+
minHeight: 279 * scaleFactor,
|
|
22
|
+
padding: 24 * scaleFactor,
|
|
23
|
+
display: 'flex',
|
|
24
|
+
flexDirection: 'column',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
borderRadius: 12,
|
|
28
|
+
}, uiBackground: { color: Color4.Black() } },
|
|
29
|
+
ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'row', maxWidth: 675 * scaleFactor } },
|
|
30
|
+
ReactEcs.createElement(Label, { value: `Are you sure you want to remove `, fontSize: 18 * scaleFactor, color: Color4.White() }),
|
|
31
|
+
ReactEcs.createElement(Label, { value: `<b>${admin.name || (admin.address ? `${admin.address.substring(0, 6)}...${admin.address.substring(admin.address.length - 4)}` : '')}</b>`, fontSize: 18 * scaleFactor, color: Color4.fromHexString('#FF2D55') }),
|
|
32
|
+
ReactEcs.createElement(Label, { value: ` from the Admin list?`, fontSize: 18 * scaleFactor, color: Color4.White() })),
|
|
33
|
+
ReactEcs.createElement(Label, { value: "If you proceed, they will lose access to tehe Admin Tools for this scene.", fontSize: 14 * scaleFactor, color: Color4.Gray(), uiTransform: {
|
|
34
|
+
margin: { top: 12 * scaleFactor, bottom: 24 * scaleFactor },
|
|
35
|
+
} }),
|
|
36
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
37
|
+
display: 'flex',
|
|
38
|
+
flexDirection: 'row',
|
|
39
|
+
justifyContent: 'center',
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
width: '100%',
|
|
42
|
+
} },
|
|
43
|
+
!isLoading && (ReactEcs.createElement(Button, { id: "cancel-remove", value: "<b>Cancel</b>", variant: "primary", fontSize: 16 * scaleFactor, color: Color4.Black(), uiTransform: {
|
|
44
|
+
width: 90 * scaleFactor,
|
|
45
|
+
height: 40 * scaleFactor,
|
|
46
|
+
display: 'flex',
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
margin: { right: 30 * scaleFactor, left: 30 * scaleFactor },
|
|
50
|
+
}, onMouseDown: () => {
|
|
51
|
+
moderationControlState.adminToRemove = undefined;
|
|
52
|
+
} })),
|
|
53
|
+
!isLoading && (ReactEcs.createElement(Button, { id: "confirm-remove", value: '<b>Remove</b>', variant: "primary", fontSize: 16 * scaleFactor, color: Color4.White(), uiTransform: {
|
|
54
|
+
width: 160 * scaleFactor,
|
|
55
|
+
height: 40 * scaleFactor,
|
|
56
|
+
justifyContent: 'center',
|
|
57
|
+
alignItems: 'center',
|
|
58
|
+
}, uiBackground: { color: Color4.fromHexString('#FF2D55') }, onMouseDown: async () => {
|
|
59
|
+
if (!isLoading && admin.address) {
|
|
60
|
+
setIsLoading(true);
|
|
61
|
+
const [error] = await deleteSceneAdmin(admin.address);
|
|
62
|
+
if (error) {
|
|
63
|
+
setError(error);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
moderationControlState.adminToRemove = undefined;
|
|
67
|
+
await fetchSceneAdmins();
|
|
68
|
+
}
|
|
69
|
+
setIsLoading(false);
|
|
70
|
+
}
|
|
71
|
+
} }))),
|
|
72
|
+
isLoading && ReactEcs.createElement(LoadingDots, { scaleFactor: scaleFactor, engine: engine }),
|
|
73
|
+
error && (ReactEcs.createElement(Error, { uiTransform: { margin: { top: 16 * scaleFactor } }, scaleFactor: scaleFactor, text: error })))));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3ZlQWRtaW5Db25maXJtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9Nb2RlcmF0aW9uQ29udHJvbC9SZW1vdmVBZG1pbkNvbmZpcm1hdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxHQUFHLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUdyQyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsRUFDdEMsV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEdBS1A7SUFDQyxNQUFNLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUQsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRS9DLE9BQU8sQ0FDTCx1QkFBQyxRQUFRLElBQ1AsV0FBVyxFQUFFO1lBQ1gsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxNQUFNO1lBQ2YsY0FBYyxFQUFFLFFBQVE7WUFDeEIsVUFBVSxFQUFFLFFBQVE7U0FDckI7UUFF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QU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFFLEVBQUUsRUFDbEQsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFLEtBQUssR0FDWCxDQUNILENBQ1EsQ0FDRixDQUNaLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJ1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9lY3MtbWF0aCdcbmltcG9ydCBSZWFjdEVjcywgeyBVaUVudGl0eSwgTGFiZWwgfSBmcm9tICdAZGNsL3JlYWN0LWVjcydcblxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IHsgZGVsZXRlU2NlbmVBZG1pbiB9IGZyb20gJy4vYXBpJ1xuaW1wb3J0IHsgbW9kZXJhdGlvbkNvbnRyb2xTdGF0ZSwgU2NlbmVBZG1pbiB9IGZyb20gJy4nXG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uL0xvYWRpbmcnXG5pbXBvcnQgeyBFcnJvciB9IGZyb20gJy4uL0Vycm9yJ1xuaW1wb3J0IHsgZmV0Y2hTY2VuZUFkbWlucyB9IGZyb20gJy4uJ1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBSZW1vdmVBZG1pbkNvbmZpcm1hdGlvbih7XG4gIHNjYWxlRmFjdG9yLFxuICBhZG1pbixcbiAgZW5naW5lLFxufToge1xuICBzY2FsZUZhY3RvcjogbnVtYmVyXG4gIGFkbWluOiBTY2VuZUFkbWluXG4gIGVuZ2luZTogSUVuZ2luZVxufSkge1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gUmVhY3RFY3MudXNlU3RhdGUoJycpXG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiA2NzUgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICBtaW5IZWlnaHQ6IDI3OSAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgIHBhZGRpbmc6IDI0ICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDEyLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5CbGFjaygpIH19XG4gICAgICA+XG4gICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBmbGV4RGlyZWN0aW9uOiAncm93JywgbWF4V2lkdGg6IDY3NSAqIHNjYWxlRmFjdG9yIH19PlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgdmFsdWU9e2BBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIGB9XG4gICAgICAgICAgICBmb250U2l6ZT17MTggKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgdmFsdWU9e2A8Yj4ke2FkbWluLm5hbWUgfHwgKGFkbWluLmFkZHJlc3MgPyBgJHthZG1pbi5hZGRyZXNzLnN1YnN0cmluZygwLCA2KX0uLi4ke2FkbWluLmFkZHJlc3Muc3Vic3RyaW5nKGFkbWluLmFkZHJlc3MubGVuZ3RoIC0gNCl9YCA6ICcnKX08L2I+YH1cbiAgICAgICAgICAgIGZvbnRTaXplPXsxOCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkYyRDU1Jyl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHZhbHVlPXtgIGZyb20gdGhlIEFkbWluIGxpc3Q/YH1cbiAgICAgICAgICAgIGZvbnRTaXplPXsxOCAqIHNjYWxlRmFjdG9yfVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgdmFsdWU9XCJJZiB5b3UgcHJvY2VlZCwgdGhleSB3aWxsIGxvc2UgYWNjZXNzIHRvIHRlaGUgQWRtaW4gVG9vbHMgZm9yIHRoaXMgc2NlbmUuXCJcbiAgICAgICAgICBmb250U2l6ZT17MTQgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LkdyYXkoKX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgbWFyZ2luOiB7IHRvcDogMTIgKiBzY2FsZUZhY3RvciwgYm90dG9tOiAyNCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshaXNMb2FkaW5nICYmIChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJjYW5jZWwtcmVtb3ZlXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5DYW5jZWw8L2I+XCJcbiAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MTYgKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgIGhlaWdodDogNDAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogMzAgKiBzY2FsZUZhY3RvciwgbGVmdDogMzAgKiBzY2FsZUZhY3RvciB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICAgIG1vZGVyYXRpb25Db250cm9sU3RhdGUuYWRtaW5Ub1JlbW92ZSA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHshaXNMb2FkaW5nICYmIChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJjb25maXJtLXJlbW92ZVwiXG4gICAgICAgICAgICAgIHZhbHVlPXsnPGI+UmVtb3ZlPC9iPid9XG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2ICogc2NhbGVGYWN0b3J9XG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogMTYwICogc2NhbGVGYWN0b3IsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MCAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7IGNvbG9yOiBDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZGMkQ1NScpIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0xvYWRpbmcgJiYgYWRtaW4uYWRkcmVzcykge1xuICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgICAgICAgICAgICAgICBjb25zdCBbZXJyb3JdID0gYXdhaXQgZGVsZXRlU2NlbmVBZG1pbihhZG1pbi5hZGRyZXNzKVxuICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldEVycm9yKGVycm9yKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kZXJhdGlvbkNvbnRyb2xTdGF0ZS5hZG1pblRvUmVtb3ZlID0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGZldGNoU2NlbmVBZG1pbnMoKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAge2lzTG9hZGluZyAmJiA8TG9hZGluZ0RvdHMgc2NhbGVGYWN0b3I9e3NjYWxlRmFjdG9yfSBlbmdpbmU9e2VuZ2luZX0gLz59XG4gICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgPEVycm9yXG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtYXJnaW46IHsgdG9wOiAxNiAqIHNjYWxlRmFjdG9yIH0gfX1cbiAgICAgICAgICAgIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn1cbiAgICAgICAgICAgIHRleHQ9e2Vycm9yfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvVWlFbnRpdHk+XG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from "../fetch-utils";
|
|
2
|
+
type SceneAdminResponse = {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
admin: string;
|
|
6
|
+
active: string;
|
|
7
|
+
canBeRemoved: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function getSceneAdmins(): Promise<Result<SceneAdminResponse[], string>>;
|
|
10
|
+
export declare function postSceneAdmin<T = unknown>(address: string): Promise<Result<T, string>>;
|
|
11
|
+
export declare function deleteSceneAdmin<T = unknown>(address: string): Promise<Result<T, string>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getDomain, wrapSignedFetch } from "../fetch-utils";
|
|
2
|
+
const URLS = () => ({
|
|
3
|
+
SCENE_ADMIN: `https://comms-gatekeeper.decentraland.${getDomain()}/scene-admin`,
|
|
4
|
+
});
|
|
5
|
+
export async function getSceneAdmins() {
|
|
6
|
+
return wrapSignedFetch({ url: URLS().SCENE_ADMIN });
|
|
7
|
+
}
|
|
8
|
+
export async function postSceneAdmin(address) {
|
|
9
|
+
return wrapSignedFetch({
|
|
10
|
+
url: URLS().SCENE_ADMIN,
|
|
11
|
+
init: {
|
|
12
|
+
method: 'POST',
|
|
13
|
+
headers: {},
|
|
14
|
+
body: JSON.stringify({ admin: address })
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export async function deleteSceneAdmin(address) {
|
|
19
|
+
return wrapSignedFetch({
|
|
20
|
+
url: URLS().SCENE_ADMIN,
|
|
21
|
+
init: {
|
|
22
|
+
method: 'DELETE',
|
|
23
|
+
headers: {},
|
|
24
|
+
body: JSON.stringify({ admin: address })
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvTW9kZXJhdGlvbkNvbnRyb2wvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQixXQUFXLEVBQUUseUNBQXlDLFNBQVMsRUFBRSxjQUFjO0NBQ2hGLENBQUMsQ0FBQTtBQVVGLE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYztJQUNsQyxPQUFPLGVBQWUsQ0FBdUIsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtBQUMzRSxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQWMsT0FBZTtJQUMvRCxPQUFPLGVBQWUsQ0FBSTtRQUN4QixHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVztRQUN2QixJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDekM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBYyxPQUFlO0lBQ2pFLE9BQU8sZUFBZSxDQUFJO1FBQ3hCLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXO1FBQ3ZCLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDekM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RG9tYWluLCBSZXN1bHQsIHdyYXBTaWduZWRGZXRjaCB9IGZyb20gXCIuLi9mZXRjaC11dGlsc1wiO1xuXG5jb25zdCBVUkxTID0gKCkgPT4gKHtcbiAgU0NFTkVfQURNSU46IGBodHRwczovL2NvbW1zLWdhdGVrZWVwZXIuZGVjZW50cmFsYW5kLiR7Z2V0RG9tYWluKCl9L3NjZW5lLWFkbWluYCxcbn0pXG5cbnR5cGUgU2NlbmVBZG1pblJlc3BvbnNlID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFkbWluOiBzdHJpbmc7XG4gIGFjdGl2ZTogc3RyaW5nO1xuICBjYW5CZVJlbW92ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTY2VuZUFkbWlucygpOiBQcm9taXNlPFJlc3VsdDxTY2VuZUFkbWluUmVzcG9uc2VbXSwgc3RyaW5nPj4gIHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTY2VuZUFkbWluUmVzcG9uc2VbXT4oeyB1cmw6IFVSTFMoKS5TQ0VORV9BRE1JTiB9KVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdFNjZW5lQWRtaW48VCA9IHVua25vd24+KGFkZHJlc3M6IHN0cmluZykge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFQ+KHtcbiAgICB1cmw6IFVSTFMoKS5TQ0VORV9BRE1JTixcbiAgICBpbml0OiB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhZG1pbjogYWRkcmVzcyB9KVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZVNjZW5lQWRtaW48VCA9IHVua25vd24+KGFkZHJlc3M6IHN0cmluZykge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFQ+KHtcbiAgICB1cmw6IFVSTFMoKS5TQ0VORV9BRE1JTixcbiAgICBpbml0OiB7XG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgaGVhZGVyczoge30sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGFkbWluOiBhZGRyZXNzIH0pXG4gICAgfVxuICB9KVxufVxuXG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IEngine } from '@dcl/ecs';
|
|
2
|
+
import ReactEcs from '@dcl/react-ecs';
|
|
3
|
+
import { GetPlayerDataRes } from '../../types';
|
|
4
|
+
type Props = {
|
|
5
|
+
engine: IEngine;
|
|
6
|
+
player: GetPlayerDataRes | null | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const BTN_MODERATION_CONTROL = "https://builder-items.decentraland.org/admin_toolkit/assets/icons/admin-panel-moderation-control-button.png";
|
|
9
|
+
export declare const MODERATION_CONTROL_ICON = "https://builder-items.decentraland.org/admin_toolkit/assets/icons/moderation-control-icon.png";
|
|
10
|
+
export type SceneAdmin = {
|
|
11
|
+
name?: string;
|
|
12
|
+
address: string;
|
|
13
|
+
role?: 'owner' | 'operator' | 'admin';
|
|
14
|
+
verified?: boolean;
|
|
15
|
+
canBeRemoved: boolean;
|
|
16
|
+
};
|
|
17
|
+
type State = {
|
|
18
|
+
showModalAdminList?: boolean;
|
|
19
|
+
adminToRemove?: SceneAdmin;
|
|
20
|
+
};
|
|
21
|
+
export declare const moderationControlState: State;
|
|
22
|
+
export declare function ModerationControl({ engine, player }: Props): ReactEcs.JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Color4 } from '@dcl/ecs-math';
|
|
2
|
+
import ReactEcs, { UiEntity } from '@dcl/react-ecs';
|
|
3
|
+
import { Header } from '../Header';
|
|
4
|
+
import { getScaleUIFactor } from '../../ui';
|
|
5
|
+
import { AddUserInput } from './AddUserInput';
|
|
6
|
+
import { Button } from '../Button';
|
|
7
|
+
import { Card } from '../Card';
|
|
8
|
+
import { CONTENT_URL } from '../constants';
|
|
9
|
+
export const BTN_MODERATION_CONTROL = `${CONTENT_URL}/admin_toolkit/assets/icons/admin-panel-moderation-control-button.png`;
|
|
10
|
+
export const MODERATION_CONTROL_ICON = `${CONTENT_URL}/admin_toolkit/assets/icons/moderation-control-icon.png`;
|
|
11
|
+
const VERIFIED_USER_ICON = `${CONTENT_URL}/admin_toolkit/assets/icons/admin-panel-verified-user.png`;
|
|
12
|
+
export const moderationControlState = {
|
|
13
|
+
showModalAdminList: false,
|
|
14
|
+
adminToRemove: undefined
|
|
15
|
+
};
|
|
16
|
+
export function ModerationControl({ engine, player }) {
|
|
17
|
+
const scaleFactor = getScaleUIFactor(engine);
|
|
18
|
+
return (ReactEcs.createElement(Card, { scaleFactor: scaleFactor },
|
|
19
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
20
|
+
width: '100%',
|
|
21
|
+
height: '100%',
|
|
22
|
+
flexDirection: 'column',
|
|
23
|
+
} },
|
|
24
|
+
ReactEcs.createElement(Header, { iconSrc: MODERATION_CONTROL_ICON, title: "PERMISSIONS", scaleFactor: scaleFactor }),
|
|
25
|
+
ReactEcs.createElement(AddUserInput, { scaleFactor: scaleFactor, onSubmit: console.log }),
|
|
26
|
+
ReactEcs.createElement(Button, { variant: "secondary", id: "moderation_control_admin_list", value: "<b>View Admin List</b>", fontSize: 18 * scaleFactor, color: Color4.White(), uiTransform: {
|
|
27
|
+
width: 220 * scaleFactor,
|
|
28
|
+
height: 42 * scaleFactor,
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
}, icon: VERIFIED_USER_ICON, iconTransform: {
|
|
32
|
+
width: 25 * scaleFactor,
|
|
33
|
+
height: 25 * scaleFactor,
|
|
34
|
+
margin: { right: 10 * scaleFactor },
|
|
35
|
+
}, onMouseDown: () => (moderationControlState.showModalAdminList = true) }))));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9Nb2RlcmF0aW9uQ29udHJvbC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWxDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQVMxQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLFdBQVcsdUVBQXVFLENBQUE7QUFDM0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxXQUFXLHlEQUF5RCxDQUFBO0FBQzlHLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxXQUFXLDJEQUEyRCxDQUFBO0FBZXBHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFVO0lBQzNDLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsYUFBYSxFQUFFLFNBQVM7Q0FDekIsQ0FBQTtBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVM7SUFDekQsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFNUMsT0FBTyxDQUNMLHVCQUFDLElBQUksSUFBQyxXQUFXLEVBQUUsV0FBVztRQUM1Qix1QkFBQyxRQUFRLElBQ1AsV0FBVyxFQUFFO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxRQUFRO2FBQ3hCO1lBRUQsdUJBQUMsTUFBTSxJQUNMLE9BQU8sRUFBRSx1QkFBdUIsRUFDaEMsS0FBSyxFQUFDLGFBQWEsRUFDbkIsV0FBVyxFQUFFLFdBQVcsR0FDeEI7WUFDRix1QkFBQyxZQUFZLElBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsR0FBSTtZQUNqRSx1QkFBQyxNQUFNLElBQ0wsT0FBTyxFQUFDLFdBQVcsRUFDbkIsRUFBRSxFQUFDLCtCQUErQixFQUNsQyxLQUFLLEVBQUMsd0JBQXdCLEVBQzlCLFFBQVEsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUMxQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUNyQixXQUFXLEVBQUU7b0JBQ1gsS0FBSyxFQUFFLEdBQUcsR0FBRyxXQUFXO29CQUN4QixNQUFNLEVBQUUsRUFBRSxHQUFHLFdBQVc7b0JBQ3hCLFVBQVUsRUFBRSxRQUFRO29CQUNwQixjQUFjLEVBQUUsUUFBUTtpQkFDekIsRUFDRCxJQUFJLEVBQUUsa0JBQWtCLEVBQ3hCLGFBQWEsRUFBRTtvQkFDYixLQUFLLEVBQUUsRUFBRSxHQUFHLFdBQVc7b0JBQ3ZCLE1BQU0sRUFBRSxFQUFFLEdBQUcsV0FBVztvQkFDeEIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxXQUFXLEVBQUU7aUJBQ3BDLEVBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEdBQ3JFLENBQ08sQ0FDTixDQUNSLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJ1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9lY3MtbWF0aCdcbmltcG9ydCBSZWFjdEVjcywgeyBVaUVudGl0eSB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJ1xuXG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tICcuLi9IZWFkZXInXG5pbXBvcnQgeyBnZXRTY2FsZVVJRmFjdG9yIH0gZnJvbSAnLi4vLi4vdWknXG5pbXBvcnQgeyBBZGRVc2VySW5wdXQgfSBmcm9tICcuL0FkZFVzZXJJbnB1dCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEdldFBsYXllckRhdGFSZXMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IENhcmQgfSBmcm9tICcuLi9DYXJkJ1xuaW1wb3J0IHsgQ09OVEVOVF9VUkwgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cblxudHlwZSBQcm9wcyA9IHtcbiAgZW5naW5lOiBJRW5naW5lXG4gIHBsYXllcjogR2V0UGxheWVyRGF0YVJlcyB8IG51bGwgfCB1bmRlZmluZWRcbn1cblxuLy8gVE9ETzogdXBsb2FkIHRoaXMgdG8gdGhlIGNvbnRlbnRcbmV4cG9ydCBjb25zdCBCVE5fTU9ERVJBVElPTl9DT05UUk9MID0gYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL2FkbWluLXBhbmVsLW1vZGVyYXRpb24tY29udHJvbC1idXR0b24ucG5nYFxuZXhwb3J0IGNvbnN0IE1PREVSQVRJT05fQ09OVFJPTF9JQ09OID0gYCR7Q09OVEVOVF9VUkx9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL21vZGVyYXRpb24tY29udHJvbC1pY29uLnBuZ2BcbmNvbnN0IFZFUklGSUVEX1VTRVJfSUNPTiA9IGAke0NPTlRFTlRfVVJMfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9hZG1pbi1wYW5lbC12ZXJpZmllZC11c2VyLnBuZ2BcblxuXG5leHBvcnQgdHlwZSBTY2VuZUFkbWluID0ge1xuICBuYW1lPzogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xuICByb2xlPzogJ293bmVyJyB8ICdvcGVyYXRvcicgfCAnYWRtaW4nXG4gIHZlcmlmaWVkPzogYm9vbGVhblxuICBjYW5CZVJlbW92ZWQ6IGJvb2xlYW5cbn1cblxudHlwZSBTdGF0ZSA9IHtcbiAgc2hvd01vZGFsQWRtaW5MaXN0PzogYm9vbGVhblxuICBhZG1pblRvUmVtb3ZlPzogU2NlbmVBZG1pblxufVxuZXhwb3J0IGNvbnN0IG1vZGVyYXRpb25Db250cm9sU3RhdGU6IFN0YXRlID0ge1xuICBzaG93TW9kYWxBZG1pbkxpc3Q6IGZhbHNlLFxuICBhZG1pblRvUmVtb3ZlOiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVyYXRpb25Db250cm9sKHsgZW5naW5lLCBwbGF5ZXIgfTogUHJvcHMpIHtcbiAgY29uc3Qgc2NhbGVGYWN0b3IgPSBnZXRTY2FsZVVJRmFjdG9yKGVuZ2luZSlcblxuICByZXR1cm4gKFxuICAgIDxDYXJkIHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn0+XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8SGVhZGVyXG4gICAgICAgICAgaWNvblNyYz17TU9ERVJBVElPTl9DT05UUk9MX0lDT059XG4gICAgICAgICAgdGl0bGU9XCJQRVJNSVNTSU9OU1wiXG4gICAgICAgICAgc2NhbGVGYWN0b3I9e3NjYWxlRmFjdG9yfVxuICAgICAgICAvPlxuICAgICAgICA8QWRkVXNlcklucHV0IHNjYWxlRmFjdG9yPXtzY2FsZUZhY3Rvcn0gb25TdWJtaXQ9e2NvbnNvbGUubG9nfSAvPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgaWQ9XCJtb2RlcmF0aW9uX2NvbnRyb2xfYWRtaW5fbGlzdFwiXG4gICAgICAgICAgdmFsdWU9XCI8Yj5WaWV3IEFkbWluIExpc3Q8L2I+XCJcbiAgICAgICAgICBmb250U2l6ZT17MTggKiBzY2FsZUZhY3Rvcn1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIHdpZHRoOiAyMjAgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgIGhlaWdodDogNDIgKiBzY2FsZUZhY3RvcixcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWNvbj17VkVSSUZJRURfVVNFUl9JQ09OfVxuICAgICAgICAgIGljb25UcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIHdpZHRoOiAyNSAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgaGVpZ2h0OiAyNSAqIHNjYWxlRmFjdG9yLFxuICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiAxMCAqIHNjYWxlRmFjdG9yIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4gKG1vZGVyYXRpb25Db250cm9sU3RhdGUuc2hvd01vZGFsQWRtaW5MaXN0ID0gdHJ1ZSl9XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvQ2FyZD5cbiAgKVxufVxuXG4iXX0=
|