decentraland-ui2 0.10.1 → 0.11.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.
Files changed (41) hide show
  1. package/dist/components/DownloadButton/DownloadButton.d.ts +4 -0
  2. package/dist/components/DownloadButton/DownloadButton.js +9 -0
  3. package/dist/components/DownloadButton/DownloadButton.js.map +1 -0
  4. package/dist/components/DownloadButton/DownloadButton.stories.d.ts +8 -0
  5. package/dist/components/DownloadButton/DownloadButton.stories.js +56 -0
  6. package/dist/components/DownloadButton/DownloadButton.stories.js.map +1 -0
  7. package/dist/components/DownloadButton/DownloadButton.styled.d.ts +11 -0
  8. package/dist/components/DownloadButton/DownloadButton.styled.js +59 -0
  9. package/dist/components/DownloadButton/DownloadButton.styled.js.map +1 -0
  10. package/dist/components/DownloadButton/DownloadButton.types.d.ts +13 -0
  11. package/dist/components/DownloadButton/DownloadButton.types.js +7 -0
  12. package/dist/components/DownloadButton/DownloadButton.types.js.map +1 -0
  13. package/dist/components/DownloadButton/index.d.ts +3 -0
  14. package/dist/components/DownloadButton/index.js +3 -0
  15. package/dist/components/DownloadButton/index.js.map +1 -0
  16. package/dist/components/Icon/AppleIcon.d.ts +4 -0
  17. package/dist/components/Icon/AppleIcon.js +8 -0
  18. package/dist/components/Icon/AppleIcon.js.map +1 -0
  19. package/dist/components/Icon/WindowsIcon.d.ts +4 -0
  20. package/dist/components/Icon/WindowsIcon.js +8 -0
  21. package/dist/components/Icon/WindowsIcon.js.map +1 -0
  22. package/dist/components/UserMenu/UserMenu.js +64 -4
  23. package/dist/components/UserMenu/UserMenu.js.map +1 -1
  24. package/dist/components/UserMenu/UserMenu.styled.d.ts +1 -6
  25. package/dist/components/UserMenu/UserMenu.styled.js +1 -11
  26. package/dist/components/UserMenu/UserMenu.styled.js.map +1 -1
  27. package/dist/components/UserMenu/UserMenu.types.d.ts +6 -1
  28. package/dist/components/UserMenu/UserMenu.types.js.map +1 -1
  29. package/dist/modules/cdnReleases.d.ts +13 -0
  30. package/dist/modules/cdnReleases.js +38 -0
  31. package/dist/modules/cdnReleases.js.map +1 -0
  32. package/dist/modules/file.d.ts +2 -0
  33. package/dist/modules/file.js +10 -0
  34. package/dist/modules/file.js.map +1 -0
  35. package/dist/modules/url.d.ts +3 -0
  36. package/dist/modules/url.js +20 -0
  37. package/dist/modules/url.js.map +1 -0
  38. package/dist/modules/userAgent.d.ts +4 -0
  39. package/dist/modules/userAgent.js +14 -0
  40. package/dist/modules/userAgent.js.map +1 -0
  41. package/package.json +3 -2
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DownloadButtonProps } from "./DownloadButton.types";
3
+ declare const DownloadButton: React.MemoExoticComponent<(props: DownloadButtonProps) => import("react/jsx-runtime").JSX.Element>;
4
+ export { DownloadButton };
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { DownloadButtonLabelContainer, DownloadButtonStyled, } from "./DownloadButton.styled";
4
+ const DownloadButton = React.memo((props) => {
5
+ const { href, onClick, label, startIcon, endIcon } = props;
6
+ return (_jsx(DownloadButtonStyled, { variant: "contained", href: href, onClick: onClick, startIcon: startIcon, endIcon: endIcon, children: _jsx(DownloadButtonLabelContainer, { children: label || "Download" }) }));
7
+ });
8
+ export { DownloadButton };
9
+ //# sourceMappingURL=DownloadButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadButton.js","sourceRoot":"","sources":["../../../src/components/DownloadButton/DownloadButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,yBAAyB,CAAA;AAEhC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAA0B,EAAE,EAAE;IAC/D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAC1D,OAAO,CACL,KAAC,oBAAoB,IACnB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,YAEhB,KAAC,4BAA4B,cAC1B,KAAK,IAAI,UAAU,GACS,GACV,CACxB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { DownloadButtonProps } from "./DownloadButton.types";
2
+ import type { Meta, StoryObj } from "@storybook/react";
3
+ declare const meta: Meta<DownloadButtonProps>;
4
+ type Story = StoryObj<DownloadButtonProps>;
5
+ declare const Basic: Story;
6
+ declare const WithOS: Story;
7
+ export default meta;
8
+ export { Basic, WithOS };
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Download from "@mui/icons-material/Download";
3
+ import { Box } from "@mui/material";
4
+ import { DownloadButton } from "./DownloadButton";
5
+ import { config } from "../../config";
6
+ import { CDNSource, getCDNRelease } from "../../modules/cdnReleases";
7
+ import { AppleIcon } from "../Icon/AppleIcon";
8
+ import { WindowsIcon } from "../Icon/WindowsIcon";
9
+ const links = getCDNRelease(CDNSource.LAUNCHER);
10
+ const meta = {
11
+ component: DownloadButton,
12
+ title: "Decentraland UI/Download Button",
13
+ tags: ["autodocs"],
14
+ argTypes: {
15
+ href: {
16
+ description: "URL to download",
17
+ control: "select",
18
+ options: [links.Windows.amd64, links.macOS.arm64, links.macOS.amd64],
19
+ },
20
+ label: {
21
+ description: "Button label text",
22
+ defaultValue: "Download",
23
+ },
24
+ startIcon: {
25
+ description: "Icon to show at start of button",
26
+ },
27
+ endIcon: {
28
+ description: "Icon to show at end of button",
29
+ control: "select",
30
+ options: ["Windows", "macOS", "Download"],
31
+ },
32
+ onClick: {
33
+ description: "Click handler",
34
+ },
35
+ },
36
+ render: (args) => {
37
+ const { endIcon, ...rest } = args;
38
+ const icon = endIcon === "Windows" ? (_jsx(WindowsIcon, { sx: { path: { fill: "#fff" } } })) : endIcon === "macOS" ? (_jsx(AppleIcon, { sx: { path: { fill: "#fff" } } })) : null;
39
+ return (_jsx(DownloadButton, { ...rest, endIcon: icon, startIcon: !icon && _jsx(Download, {}) }));
40
+ },
41
+ };
42
+ const Basic = {
43
+ name: "Basic",
44
+ args: {
45
+ href: config.get("DOWNLOAD_URL"),
46
+ startIcon: _jsx(Download, {}),
47
+ },
48
+ };
49
+ const WithOS = {
50
+ name: "With OS Icons",
51
+ render: () => (_jsxs(Box, { display: "flex", gap: 2, children: [_jsx(DownloadButton, { href: links.Windows.amd64, endIcon: _jsx(WindowsIcon, { sx: { path: { fill: "#fff" } } }), onClick: () => { } }), _jsx(DownloadButton, { href: links.macOS.arm64, endIcon: _jsx(AppleIcon, { sx: { path: { fill: "#fff" } } }), onClick: () => { } })] })),
52
+ };
53
+ // eslint-disable-next-line import/no-default-export
54
+ export default meta;
55
+ export { Basic, WithOS };
56
+ //# sourceMappingURL=DownloadButton.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadButton.stories.js","sourceRoot":"","sources":["../../../src/components/DownloadButton/DownloadButton.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ declare const DownloadButtonStyled: import("@emotion/styled").StyledComponent<import("@mui/material").ButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
2
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
3
+ }, "disabled" | "color" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "tabIndex" | "disableElevation" | "fullWidth" | "startIcon" | "endIcon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "href" | "size"> & {
4
+ theme?: import("@emotion/react").Theme;
5
+ }, {}, {}>;
6
+ declare const DownloadButtonLabelContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
8
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
9
+ theme?: import("@emotion/react").Theme;
10
+ }, {}, {}>;
11
+ export { DownloadButtonStyled, DownloadButtonLabelContainer };
@@ -0,0 +1,59 @@
1
+ import styled from "@emotion/styled";
2
+ import { Box, Button } from "@mui/material";
3
+ const DownloadButtonStyled = styled(Button)((props) => {
4
+ const { theme } = props;
5
+ return {
6
+ "&.MuiButton-sizeMedium.MuiButton-containedPrimary": {
7
+ height: "48px",
8
+ fontSize: "14px",
9
+ fontWeight: 600,
10
+ borderRadius: "6px",
11
+ boxShadow: "rgba(0, 0, 0, 0.4) 0px 2px 8px",
12
+ marginLeft: "16px",
13
+ "& .MuiButton-icon.MuiButton-endIcon": {
14
+ marginLeft: "8px",
15
+ },
16
+ },
17
+ "&.MuiButton-sizeMedium.MuiButton-containedPrimary:not(.Mui-disabled):not(.Mui-focusVisible):hover": {
18
+ backgroundColor: theme.palette.primary.main,
19
+ color: "white",
20
+ },
21
+ "&::before": {
22
+ content: "''",
23
+ position: "absolute",
24
+ top: 0,
25
+ right: 0,
26
+ bottom: 0,
27
+ left: 0,
28
+ border: `4px solid #FCFCFC`,
29
+ borderRadius: "14px",
30
+ opacity: 0,
31
+ transition: `${theme.transitions.create(["top", "right", "bottom", "left", "opacity"], {
32
+ duration: theme.transitions.duration.shorter,
33
+ easing: theme.transitions.easing.easeInOut,
34
+ })}`,
35
+ },
36
+ "&:hover": {
37
+ "&::before": {
38
+ opacity: 1,
39
+ top: "-7.5px",
40
+ right: "-7.5px",
41
+ bottom: "-7.5px",
42
+ left: "-7.5px",
43
+ },
44
+ },
45
+ };
46
+ });
47
+ const DownloadButtonLabelContainer = styled(Box)({
48
+ display: "flex",
49
+ flexDirection: "column",
50
+ lineHeight: "20px",
51
+ "& span": {
52
+ display: "block",
53
+ fontSize: "14px",
54
+ fontWeight: 400,
55
+ lineHeight: "20px",
56
+ },
57
+ });
58
+ export { DownloadButtonStyled, DownloadButtonLabelContainer };
59
+ //# sourceMappingURL=DownloadButton.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadButton.styled.js","sourceRoot":"","sources":["../../../src/components/DownloadButton/DownloadButton.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO;QACL,mDAAmD,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,gCAAgC;YAC3C,UAAU,EAAE,MAAM;YAClB,qCAAqC,EAAE;gBACrC,UAAU,EAAE,KAAK;aAClB;SACF;QACD,mGAAmG,EACjG;YACE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;YAC3C,KAAK,EAAE,OAAO;SACf;QACH,WAAW,EAAE;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C;gBACE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO;gBAC5C,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS;aAC3C,CACF,EAAE;SACJ;QACD,SAAS,EAAE;YACT,WAAW,EAAE;gBACX,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAA;AAEF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,CAAA"}
@@ -0,0 +1,13 @@
1
+ declare enum OperativeSystem {
2
+ WINDOWS = "Windows",
3
+ MACOS = "macOS"
4
+ }
5
+ type DownloadButtonProps = {
6
+ href: string;
7
+ onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
8
+ label?: string;
9
+ startIcon?: React.ReactNode;
10
+ endIcon?: React.ReactNode;
11
+ };
12
+ export type { DownloadButtonProps };
13
+ export { OperativeSystem };
@@ -0,0 +1,7 @@
1
+ var OperativeSystem;
2
+ (function (OperativeSystem) {
3
+ OperativeSystem["WINDOWS"] = "Windows";
4
+ OperativeSystem["MACOS"] = "macOS";
5
+ })(OperativeSystem || (OperativeSystem = {}));
6
+ export { OperativeSystem };
7
+ //# sourceMappingURL=DownloadButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadButton.types.js","sourceRoot":"","sources":["../../../src/components/DownloadButton/DownloadButton.types.ts"],"names":[],"mappings":"AAAA,IAAK,eAGJ;AAHD,WAAK,eAAe;IAClB,sCAAmB,CAAA;IACnB,kCAAe,CAAA;AACjB,CAAC,EAHI,eAAe,KAAf,eAAe,QAGnB;AAWD,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type { DownloadButtonProps } from "./DownloadButton.types";
2
+ export { OperativeSystem } from "./DownloadButton.types";
3
+ export { DownloadButton } from "./DownloadButton";
@@ -0,0 +1,3 @@
1
+ export { OperativeSystem } from "./DownloadButton.types";
2
+ export { DownloadButton } from "./DownloadButton";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DownloadButton/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SvgIconProps } from "@mui/material/SvgIcon";
3
+ declare const AppleIcon: React.MemoExoticComponent<(props: SvgIconProps) => import("react/jsx-runtime").JSX.Element>;
4
+ export { AppleIcon };
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import SvgIcon from "@mui/material/SvgIcon";
4
+ const AppleIcon = React.memo((props) => {
5
+ return (_jsx(SvgIcon, { ...props, children: _jsx("svg", { width: "560.035px", height: "560.035px", viewBox: "-52.01 0 560.035 560.035", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M380.844 297.529c.787 84.752 74.349 112.955 75.164 113.314-.622 1.988-11.754 40.191-38.756 79.652-23.343 34.117-47.568 68.107-85.731 68.811-37.499.691-49.557-22.236-92.429-22.236-42.859 0-56.256 21.533-91.753 22.928-36.837 1.395-64.889-36.891-88.424-70.883-48.093-69.53-84.846-196.475-35.496-282.165 24.516-42.554 68.328-69.501 115.882-70.192 36.173-.69 70.315 24.336 92.429 24.336 22.1 0 63.59-30.096 107.208-25.676 18.26.76 69.517 7.376 102.429 55.552-2.652 1.644-61.159 35.704-60.523 106.559M310.369 89.418C329.926 65.745 343.089 32.79 339.498 0 311.308 1.133 277.22 18.785 257 42.445c-18.121 20.952-33.991 54.487-29.709 86.628 31.421 2.431 63.52-15.967 83.078-39.655" }) }) }));
6
+ });
7
+ export { AppleIcon };
8
+ //# sourceMappingURL=AppleIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppleIcon.js","sourceRoot":"","sources":["../../../src/components/Icon/AppleIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAyB,MAAM,uBAAuB,CAAA;AAE7D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAmB,EAAE,EAAE;IACnD,OAAO,CACL,KAAC,OAAO,OAAK,KAAK,YAChB,cACE,KAAK,EAAC,WAAW,EACjB,MAAM,EAAC,WAAW,EAClB,OAAO,EAAC,0BAA0B,EAClC,KAAK,EAAC,4BAA4B,YAElC,eAAM,CAAC,EAAC,gqBAAgqB,GAAG,GACvqB,GACE,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SvgIconProps } from "@mui/material/SvgIcon";
3
+ declare const WindowsIcon: React.MemoExoticComponent<(props: SvgIconProps) => import("react/jsx-runtime").JSX.Element>;
4
+ export { WindowsIcon };
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import SvgIcon from "@mui/material/SvgIcon";
4
+ const WindowsIcon = React.memo((props) => {
5
+ return (_jsx(SvgIcon, { ...props, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: _jsx("path", { fill: "white", d: "M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z" }) }) }));
6
+ });
7
+ export { WindowsIcon };
8
+ //# sourceMappingURL=WindowsIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindowsIcon.js","sourceRoot":"","sources":["../../../src/components/Icon/WindowsIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,OAAyB,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAmB,EAAE,EAAE;IACrD,OAAO,CACL,KAAC,OAAO,OAAK,KAAK,YAChB,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,YACzD,eACE,IAAI,EAAC,OAAO,EACZ,CAAC,EAAC,4HAA4H,GAC9H,GACE,GACE,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,17 +1,53 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import React, { useCallback, useState } from "react";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useMemo, useState } from "react";
3
+ import { useAdvancedUserAgentData } from "@dcl/hooks";
3
4
  import Download from "@mui/icons-material/Download";
4
5
  import { v4 as uuidv4 } from "uuid";
5
6
  import { CircularProgress } from "@mui/material";
6
7
  import { i18n as i18nUserMenu } from "./UserMenu.i18n";
7
8
  import { UserMenuSignedIn } from "./UserMenuSignedIn/UserMenuSignedIn";
8
9
  import { config } from "../../config";
10
+ import { CDNSource, getCDNRelease } from "../../modules/cdnReleases";
11
+ import { triggerFileDownload } from "../../modules/file";
12
+ import { addQueryParamsToUrlString, updateUrlWithLastValue, } from "../../modules/url";
13
+ import { setUserAgentArchitectureDefautlByOs } from "../../modules/userAgent";
14
+ import { DownloadButton, OperativeSystem } from "../DownloadButton";
15
+ import { AppleIcon } from "../Icon/AppleIcon";
16
+ import { WindowsIcon } from "../Icon/WindowsIcon";
9
17
  import { UserMenuEventId } from "./UserMenu.types";
10
- import { DownloadLink, SignInButton, UserMenuContainer, UserMenuLoaderContainer, } from "./UserMenu.styled";
18
+ import { SignInButton, UserMenuContainer, UserMenuLoaderContainer, } from "./UserMenu.styled";
11
19
  const UserMenu = React.memo((props) => {
12
20
  const { isSignedIn, isSigningIn, isDisconnecting, manaBalances, i18n = i18nUserMenu, onClickSignIn, onClickBalance, onClickOpen, onClickDownload, onClickUserMenuItem, ...signInProps } = props;
13
21
  const [isOpen, setIsOpen] = useState(false);
14
22
  const [trackingId, setTrackingId] = useState(undefined);
23
+ const [isLoadingUserAgentData, userAgentData] = useAdvancedUserAgentData();
24
+ const searchParams = new URLSearchParams(window.location.search);
25
+ const os = searchParams.get("os");
26
+ if (userAgentData && os) {
27
+ setUserAgentArchitectureDefautlByOs(userAgentData, os);
28
+ }
29
+ const links = getCDNRelease(CDNSource.LAUNCHER);
30
+ const defaultDownloadOption = useMemo(() => {
31
+ if (!userAgentData ||
32
+ !links ||
33
+ !links[userAgentData.os.name] ||
34
+ !links[userAgentData.os.name][userAgentData.cpu.architecture]) {
35
+ return null;
36
+ }
37
+ if (userAgentData.os.name === OperativeSystem.MACOS &&
38
+ links[userAgentData.os.name][userAgentData.cpu.architecture]) {
39
+ return {
40
+ icon: _jsx(AppleIcon, { sx: { path: { fill: "#fff" } } }),
41
+ link: links[userAgentData.os.name][userAgentData.cpu.architecture],
42
+ arch: userAgentData.cpu.architecture,
43
+ };
44
+ }
45
+ return {
46
+ icon: _jsx(WindowsIcon, { sx: { path: { fill: "#fff" } } }),
47
+ link: links[userAgentData.os.name][userAgentData.cpu.architecture],
48
+ arch: userAgentData.cpu.architecture,
49
+ };
50
+ }, [userAgentData, links]);
15
51
  const handleToggle = useCallback((event) => {
16
52
  const trackId = uuidv4();
17
53
  setIsOpen((prev) => {
@@ -41,6 +77,27 @@ const UserMenu = React.memo((props) => {
41
77
  : window.open(config.get("DOWNLOAD_URL"), "_blank", "noopener");
42
78
  }, onClickUserMenuItem ? 300 : 0);
43
79
  }, [onClickDownload, onClickUserMenuItem, trackingId]);
80
+ const onClickDownloadOsHandler = useCallback((event) => {
81
+ event.preventDefault();
82
+ if (!userAgentData || !defaultDownloadOption)
83
+ return;
84
+ onClickUserMenuItem &&
85
+ onClickUserMenuItem(event, {
86
+ type: UserMenuEventId.DOWNLOAD,
87
+ track_uuid: trackingId || undefined,
88
+ url: config.get("DOWNLOAD_URL"),
89
+ });
90
+ setTimeout(() => {
91
+ triggerFileDownload(defaultDownloadOption.link);
92
+ }, onClickUserMenuItem ? 300 : 0);
93
+ const redirectUrl = updateUrlWithLastValue(window.location.href, "os", userAgentData.os.name);
94
+ const finalUrl = addQueryParamsToUrlString(redirectUrl, {
95
+ arch: userAgentData.cpu.architecture,
96
+ });
97
+ setTimeout(() => {
98
+ window.location.href = finalUrl;
99
+ }, 3000);
100
+ }, [defaultDownloadOption, userAgentData]);
44
101
  const handleClickSignIn = useCallback((event) => {
45
102
  event.preventDefault();
46
103
  onClickUserMenuItem &&
@@ -63,7 +120,10 @@ const UserMenu = React.memo((props) => {
63
120
  : window.open(config.get("ACCOUNT_URL"), "_blank", "noopener");
64
121
  }, onClickUserMenuItem ? 300 : 0);
65
122
  }, [onClickBalance, onClickUserMenuItem, trackingId]);
66
- return (_jsx(UserMenuContainer, { children: isDisconnecting ? (_jsx(UserMenuLoaderContainer, { children: _jsx(CircularProgress, { size: 20 }) })) : (_jsxs(_Fragment, { children: [isSignedIn && (_jsx(UserMenuSignedIn, { ...signInProps, manaBalances: manaBalances, trackingId: trackingId, isOpen: isOpen, i18n: i18n, onClickToggle: handleToggle, onClickClose: handleClose, onClickUserMenuItem: onClickUserMenuItem, onClickBalance: handleClickBalance })), !isSignedIn ? (_jsx(SignInButton, { variant: "outlined", color: "inherit", disabled: isSigningIn, onClick: handleClickSignIn, children: isSigningIn ? (_jsx(CircularProgress, { size: 20, color: "inherit" })) : (i18n.signIn) })) : null, _jsxs(DownloadLink, { variant: "contained", onClick: handleClickDownload, href: config.get("DOWNLOAD_URL"), children: [_jsx(Download, {}), " ", i18n.download] })] })) }));
123
+ return (_jsx(UserMenuContainer, { children: isDisconnecting ? (_jsx(UserMenuLoaderContainer, { children: _jsx(CircularProgress, { size: 20 }) })) : (_jsxs(_Fragment, { children: [isSignedIn && (_jsx(UserMenuSignedIn, { ...signInProps, manaBalances: manaBalances, trackingId: trackingId, isOpen: isOpen, i18n: i18n, onClickToggle: handleToggle, onClickClose: handleClose, onClickUserMenuItem: onClickUserMenuItem, onClickBalance: handleClickBalance })), !isSignedIn ? (_jsx(SignInButton, { variant: "outlined", color: "inherit", disabled: isSigningIn, onClick: handleClickSignIn, children: isSigningIn ? (_jsx(CircularProgress, { size: 20, color: "inherit" })) : (i18n.signIn) })) : null, (isLoadingUserAgentData || !defaultDownloadOption) &&
124
+ userAgentData &&
125
+ !userAgentData.mobile &&
126
+ !userAgentData.tablet && (_jsx(DownloadButton, { href: config.get("DOWNLOAD_URL"), onClick: handleClickDownload, label: i18n.download, startIcon: _jsx(Download, {}) })), !isLoadingUserAgentData && defaultDownloadOption && (_jsx(DownloadButton, { href: defaultDownloadOption.link, onClick: onClickDownloadOsHandler, endIcon: defaultDownloadOption.icon, label: i18n.download }))] })) }));
67
127
  });
68
128
  export { UserMenu };
69
129
  //# sourceMappingURL=UserMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.tsx"],"names":[],"mappings":"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"}
@@ -13,9 +13,4 @@ declare const SignInButton: import("@emotion/styled").StyledComponent<import("@m
13
13
  }, "disabled" | "color" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "tabIndex" | "disableElevation" | "fullWidth" | "startIcon" | "endIcon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "href" | "size"> & {
14
14
  theme?: import("@emotion/react").Theme;
15
15
  }, {}, {}>;
16
- declare const DownloadLink: import("@emotion/styled").StyledComponent<import("@mui/material").ButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
17
- ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
18
- }, "disabled" | "color" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "tabIndex" | "disableElevation" | "fullWidth" | "startIcon" | "endIcon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "href" | "size"> & {
19
- theme?: import("@emotion/react").Theme;
20
- }, {}, {}>;
21
- export { UserMenuContainer, UserMenuLoaderContainer, SignInButton, DownloadLink, };
16
+ export { UserMenuContainer, UserMenuLoaderContainer, SignInButton };
@@ -18,15 +18,5 @@ const SignInButton = styled(Button)({
18
18
  height: "46px",
19
19
  minWidth: "90px",
20
20
  });
21
- const DownloadLink = styled(Button)((props) => {
22
- const { theme } = props;
23
- return {
24
- height: "46px",
25
- marginLeft: "24px",
26
- [theme.breakpoints.down("sm")]: {
27
- display: "none",
28
- },
29
- };
30
- });
31
- export { UserMenuContainer, UserMenuLoaderContainer, SignInButton, DownloadLink, };
21
+ export { UserMenuContainer, UserMenuLoaderContainer, SignInButton };
32
22
  //# sourceMappingURL=UserMenu.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.styled.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.styled.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAChD,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO;QACL,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,MAAM;QAClB,CAAC,KAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/B,OAAO,EAAE,MAAM;SAChB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,YAAY,GACb,CAAA"}
1
+ {"version":3,"file":"UserMenu.styled.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.styled.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAChD,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAA;AAEF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAA"}
@@ -23,5 +23,10 @@ declare enum UserMenuEventId {
23
23
  DOWNLOAD = "download",
24
24
  BALANCE = "balance"
25
25
  }
26
- export type { UserMenuProps, UserMenuI18N };
26
+ type DownloadProps = {
27
+ icon: React.ReactNode;
28
+ link: string;
29
+ arch: string;
30
+ };
31
+ export type { UserMenuProps, UserMenuI18N, DownloadProps };
27
32
  export { UserMenuEventId };
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.types.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.types.ts"],"names":[],"mappings":"AAgCA,IAAK,eAWJ;AAXD,WAAK,eAAe;IAClB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,kCAAe,CAAA;IACf,4EAAyD,CAAA;IACzD,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;AACrB,CAAC,EAXI,eAAe,KAAf,eAAe,QAWnB;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"UserMenu.types.js","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.types.ts"],"names":[],"mappings":"AAgCA,IAAK,eAWJ;AAXD,WAAK,eAAe;IAClB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,kCAAe,CAAA;IACf,4EAAyD,CAAA;IACzD,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;AACrB,CAAC,EAXI,eAAe,KAAf,eAAe,QAWnB;AASD,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,13 @@
1
+ declare enum CDNSource {
2
+ LAUNCHER = "launcher"
3
+ }
4
+ declare const getCDNRelease: (source: CDNSource) => {
5
+ Windows: {
6
+ amd64: string;
7
+ };
8
+ macOS: {
9
+ amd64: string;
10
+ arm64: string;
11
+ };
12
+ } | null;
13
+ export { getCDNRelease, CDNSource };
@@ -0,0 +1,38 @@
1
+ import { OperativeSystem } from "../components/DownloadButton";
2
+ var CDNSource;
3
+ (function (CDNSource) {
4
+ CDNSource["LAUNCHER"] = "launcher";
5
+ // Add future CDN sources here
6
+ })(CDNSource || (CDNSource = {}));
7
+ const CDN_CONFIGS = {
8
+ [CDNSource.LAUNCHER]: {
9
+ baseUrl: "https://explorer-artifacts.decentraland.org/launcher/dcl",
10
+ fileNamePattern: {
11
+ [OperativeSystem.WINDOWS]: {
12
+ amd64: "Decentraland%20Launcher-win-x64.exe",
13
+ },
14
+ [OperativeSystem.MACOS]: {
15
+ amd64: "Decentraland%20Launcher-mac-x64.dmg",
16
+ arm64: "Decentraland%20Launcher-mac-arm64.dmg",
17
+ },
18
+ },
19
+ },
20
+ // Add more CDN configurations here as needed
21
+ };
22
+ const getCDNRelease = (source) => {
23
+ const config = CDN_CONFIGS[source];
24
+ if (!config) {
25
+ return null;
26
+ }
27
+ return {
28
+ [OperativeSystem.WINDOWS]: {
29
+ amd64: `${config.baseUrl}/${config.fileNamePattern.Windows.amd64}`,
30
+ },
31
+ [OperativeSystem.MACOS]: {
32
+ amd64: `${config.baseUrl}/${config.fileNamePattern.macOS.amd64}`,
33
+ arm64: `${config.baseUrl}/${config.fileNamePattern.macOS.arm64}`,
34
+ },
35
+ };
36
+ };
37
+ export { getCDNRelease, CDNSource };
38
+ //# sourceMappingURL=cdnReleases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdnReleases.js","sourceRoot":"","sources":["../../src/modules/cdnReleases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,kCAAqB,CAAA;IACrB,8BAA8B;AAChC,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;AAeD,MAAM,WAAW,GAAiC;IAChD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACpB,OAAO,EAAE,0DAA0D;QACnE,eAAe,EAAE;YACf,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;gBACzB,KAAK,EAAE,qCAAqC;aAC7C;YACD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBACvB,KAAK,EAAE,qCAAqC;gBAC5C,KAAK,EAAE,uCAAuC;aAC/C;SACF;KACF;IACD,6CAA6C;CAC9C,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,MAAiB,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;YACzB,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE;SACnE;QACD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YACvB,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE;YAChE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE;SACjE;KACF,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const triggerFileDownload: (link: string) => void;
2
+ export { triggerFileDownload };
@@ -0,0 +1,10 @@
1
+ const triggerFileDownload = (link) => {
2
+ const a = document.createElement("a");
3
+ a.href = link;
4
+ a.setAttribute("download", "");
5
+ document.body.appendChild(a);
6
+ a.click();
7
+ document.body.removeChild(a);
8
+ };
9
+ export { triggerFileDownload };
10
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/modules/file.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAQ,EAAE;IACjD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;IACb,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC,CAAC,KAAK,EAAE,CAAA;IACT,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ declare const addQueryParamsToUrlString: (url: string, params: Record<string, string | undefined | null>) => string;
2
+ declare const updateUrlWithLastValue: (url: string, paramKey: string, paramValue: string) => string;
3
+ export { addQueryParamsToUrlString, updateUrlWithLastValue };
@@ -0,0 +1,20 @@
1
+ const addQueryParamsToUrlString = (url, params) => {
2
+ if (!params || Object.keys(params).length === 0) {
3
+ return url;
4
+ }
5
+ const urlObj = new URL(url);
6
+ Object.entries(params).forEach(([key, value]) => {
7
+ if (value !== undefined && value !== null) {
8
+ urlObj.searchParams.append(key, value);
9
+ }
10
+ });
11
+ return urlObj.toString();
12
+ };
13
+ const updateUrlWithLastValue = (url, paramKey, paramValue) => {
14
+ const urlObj = new URL(url);
15
+ urlObj.searchParams.delete(paramKey);
16
+ urlObj.searchParams.append(paramKey, paramValue);
17
+ return urlObj.toString();
18
+ };
19
+ export { addQueryParamsToUrlString, updateUrlWithLastValue };
20
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/modules/url.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,CAChC,GAAW,EACX,MAAiD,EACzC,EAAE;IACV,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAE3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,GAAW,EACX,QAAgB,EAChB,UAAkB,EAClB,EAAE;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAE3B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAEhD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { AdvancedNavigatorUAData } from "@dcl/hooks/cjs/hooks/useAdvancedUserAgentData";
2
+ import { OperativeSystem } from "../components/DownloadButton/DownloadButton.types";
3
+ declare const setUserAgentArchitectureDefautlByOs: (userAgent: AdvancedNavigatorUAData, os: OperativeSystem) => AdvancedNavigatorUAData;
4
+ export { setUserAgentArchitectureDefautlByOs };
@@ -0,0 +1,14 @@
1
+ import { OperativeSystem } from "../components/DownloadButton/DownloadButton.types";
2
+ const setUserAgentArchitectureDefautlByOs = (userAgent, os) => {
3
+ if (os === OperativeSystem.MACOS) {
4
+ userAgent.os.name = OperativeSystem.MACOS;
5
+ userAgent.cpu.architecture = "unknown";
6
+ }
7
+ else if (os === OperativeSystem.WINDOWS) {
8
+ userAgent.os.name = OperativeSystem.WINDOWS;
9
+ userAgent.cpu.architecture = "amd64";
10
+ }
11
+ return userAgent;
12
+ };
13
+ export { setUserAgentArchitectureDefautlByOs };
14
+ //# sourceMappingURL=userAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAgent.js","sourceRoot":"","sources":["../../src/modules/userAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AAEnF,MAAM,mCAAmC,GAAG,CAC1C,SAAkC,EAClC,EAAmB,EACM,EAAE;IAC3B,IAAI,EAAE,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACjC,SAAS,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAA;QACzC,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAA;IACxC,CAAC;SAAM,IAAI,EAAE,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAA;QAC3C,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAA;IACtC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-ui2",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Decentraland's UI components and styles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,6 +38,7 @@
38
38
  "homepage": "https://github.com/decentraland/ui2#readme",
39
39
  "dependencies": {
40
40
  "@contentful/rich-text-react-renderer": "^16.0.1",
41
+ "@dcl/hooks": "^0.0.2",
41
42
  "@dcl/schemas": "^15.6.0",
42
43
  "@dcl/ui-env": "^1.5.1",
43
44
  "@emotion/react": "^11.11.4",
@@ -92,5 +93,5 @@
92
93
  "files": [
93
94
  "dist"
94
95
  ],
95
- "commit": "b18f5595caf0405ae835b51e662de4169e5330c1"
96
+ "commit": "24170fca185839d92e667ea6863a6f6a4d2f40d2"
96
97
  }