decentraland-ui2 3.6.0 → 3.7.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.
@@ -4,21 +4,28 @@ import CloseIcon from '@mui/icons-material/Close';
4
4
  import { DclIcon } from './icons/DclIcon';
5
5
  import { VerifiedIcon } from './icons/VerifiedIcon';
6
6
  import dclLogoQr from '../../../Assets/dcl-logo-qr.svg';
7
+ import qrAndroid from '../../../Assets/qr-android.svg';
8
+ import qrIos from '../../../Assets/qr-ios.svg';
7
9
  import { CloseButton, DownloadSection, ModalContainer, ModalTitle, StatItem, StatsRow, StyledModal } from './DownloadModal.styled';
8
10
  import { QRContainer, QRImage, QRLogo } from './DownloadQRModal.styled';
11
+ const DEFAULT_QR = {
12
+ android: qrAndroid,
13
+ ios: qrIos
14
+ };
9
15
  const DEFAULT_I18N = {
10
16
  title: 'Download Decentraland App for {os}',
11
17
  totalDownloads: 'Total Downloads: +250K'
12
18
  };
13
19
  function DownloadQRModal(props) {
14
20
  const { os, qrImageUrl, logoUrl = dclLogoQr, i18n: i18nPartial, open, onClose } = props;
21
+ const resolvedQr = qrImageUrl ?? DEFAULT_QR[os] ?? '';
15
22
  const i18n = useMemo(() => ({ ...DEFAULT_I18N, ...i18nPartial }), [i18nPartial]);
16
23
  const handleClose = useCallback((_event, _reason) => {
17
24
  onClose();
18
25
  }, [onClose]);
19
26
  const osLabel = os === 'ios' ? 'iOS' : 'Android';
20
27
  const title = i18n.title.replace('{os}', osLabel);
21
- return (_jsx(StyledModal, { open: open, onClose: handleClose, children: _jsxs(ModalContainer, { children: [_jsx(CloseButton, { onClick: onClose, "aria-label": "Close", children: _jsx(CloseIcon, {}) }), _jsx(DclIcon, {}), _jsx(ModalTitle, { children: title }), _jsxs(DownloadSection, { children: [_jsxs(QRContainer, { children: [_jsx(QRImage, { src: qrImageUrl, alt: `QR code to download Decentraland for ${osLabel}` }), logoUrl && _jsx(QRLogo, { src: logoUrl, alt: "Decentraland" })] }), _jsx(StatsRow, { children: _jsxs(StatItem, { children: [_jsx(VerifiedIcon, {}), i18n.totalDownloads] }) })] })] }) }));
28
+ return (_jsx(StyledModal, { open: open, onClose: handleClose, children: _jsxs(ModalContainer, { children: [_jsx(CloseButton, { onClick: onClose, "aria-label": "Close", children: _jsx(CloseIcon, {}) }), _jsx(DclIcon, {}), _jsx(ModalTitle, { children: title }), _jsxs(DownloadSection, { children: [_jsxs(QRContainer, { children: [_jsx(QRImage, { src: resolvedQr, alt: `QR code to download Decentraland for ${osLabel}` }), logoUrl && _jsx(QRLogo, { src: logoUrl, alt: "Decentraland" })] }), _jsx(StatsRow, { children: _jsxs(StatItem, { children: [_jsx(VerifiedIcon, {}), i18n.totalDownloads] }) })] })] }) }));
22
29
  }
23
30
  export { DownloadQRModal };
24
31
  //# sourceMappingURL=DownloadQRModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadQRModal.js","sourceRoot":"","sources":["../../../../src/components/Modal/DownloadModal/DownloadQRModal.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,SAAS,MAAM,iCAAiC,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClI,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEvE,MAAM,YAAY,GAAwB;IACxC,KAAK,EAAE,oCAAoC;IAC3C,cAAc,EAAE,wBAAwB;CACzC,CAAA;AAED,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEvF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEhF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,MAAoC,EAAE,OAAgB,EAAE,EAAE;QACzD,OAAO,EAAE,CAAA;IACX,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjD,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,YAC3C,MAAC,cAAc,eACb,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,gBAAa,OAAO,YAC/C,KAAC,SAAS,KAAG,GACD,EAEd,KAAC,OAAO,KAAG,EAEX,KAAC,UAAU,cAAE,KAAK,GAAc,EAEhC,MAAC,eAAe,eACd,MAAC,WAAW,eACV,KAAC,OAAO,IAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,wCAAwC,OAAO,EAAE,GAAI,EACnF,OAAO,IAAI,KAAC,MAAM,IAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,cAAc,GAAG,IAC3C,EAEd,KAAC,QAAQ,cACP,MAAC,QAAQ,eACP,KAAC,YAAY,KAAG,EACf,IAAI,CAAC,cAAc,IACX,GACF,IACK,IACH,GACL,CACf,CAAA;AACH,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"DownloadQRModal.js","sourceRoot":"","sources":["../../../../src/components/Modal/DownloadModal/DownloadQRModal.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,SAAS,MAAM,gCAAgC,CAAA;AACtD,OAAO,KAAK,MAAM,4BAA4B,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAClI,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEvE,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;CACX,CAAA;AAED,MAAM,YAAY,GAAwB;IACxC,KAAK,EAAE,oCAAoC;IAC3C,cAAc,EAAE,wBAAwB;CACzC,CAAA;AAED,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEvF,MAAM,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEhF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,MAAoC,EAAE,OAAgB,EAAE,EAAE;QACzD,OAAO,EAAE,CAAA;IACX,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjD,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,YAC3C,MAAC,cAAc,eACb,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,gBAAa,OAAO,YAC/C,KAAC,SAAS,KAAG,GACD,EAEd,KAAC,OAAO,KAAG,EAEX,KAAC,UAAU,cAAE,KAAK,GAAc,EAEhC,MAAC,eAAe,eACd,MAAC,WAAW,eACV,KAAC,OAAO,IAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,wCAAwC,OAAO,EAAE,GAAI,EACnF,OAAO,IAAI,KAAC,MAAM,IAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,cAAc,GAAG,IAC3C,EAEd,KAAC,QAAQ,cACP,MAAC,QAAQ,eACP,KAAC,YAAY,KAAG,EACf,IAAI,CAAC,cAAc,IACX,GACF,IACK,IACH,GACL,CACf,CAAA;AACH,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -1,6 +1,4 @@
1
1
  import { DownloadQRModal } from './DownloadQRModal';
2
- import qrAndroid from '../../../Assets/qr-android.svg';
3
- import qrIos from '../../../Assets/qr-ios.svg';
4
2
  const meta = {
5
3
  title: 'Decentraland UI/Download QR Modal',
6
4
  component: DownloadQRModal,
@@ -11,7 +9,7 @@ const meta = {
11
9
  description: {
12
10
  component: 'Modal that displays a QR code linking to the App Store or Google Play store. ' +
13
11
  'Used on desktop to let users scan and download the mobile app. ' +
14
- 'The QR images are static SVGsregenerate with `node scripts/generate-qr-codes.cjs` if URLs change. ' +
12
+ 'QR images are built-in for iOS and Android no need to pass `qrImageUrl` unless overriding. ' +
15
13
  'A DCL logo is overlaid at the center of the QR by default (`dcl-logo-qr.svg`).'
16
14
  },
17
15
  story: {
@@ -24,10 +22,10 @@ const meta = {
24
22
  os: {
25
23
  control: 'radio',
26
24
  options: ['android', 'ios'],
27
- description: 'Target platform — drives the title text'
25
+ description: 'Target platform — drives the title text and default QR code'
28
26
  },
29
27
  qrImageUrl: {
30
- description: 'QR code image URL (static SVG, PNG, or data URI)'
28
+ description: 'Optional QR code image URL override. Built-in QRs are used by default.'
31
29
  },
32
30
  logoUrl: {
33
31
  description: 'Optional logo overlaid at the center of the QR. Defaults to DCL logo.'
@@ -40,23 +38,20 @@ const meta = {
40
38
  const Android = {
41
39
  args: {
42
40
  open: true,
43
- os: 'android',
44
- qrImageUrl: qrAndroid
41
+ os: 'android'
45
42
  }
46
43
  };
47
44
  const IOS = {
48
45
  name: 'iOS',
49
46
  args: {
50
47
  open: true,
51
- os: 'ios',
52
- qrImageUrl: qrIos
48
+ os: 'ios'
53
49
  }
54
50
  };
55
51
  const WithoutLogo = {
56
52
  args: {
57
53
  open: true,
58
54
  os: 'android',
59
- qrImageUrl: qrAndroid,
60
55
  logoUrl: undefined
61
56
  }
62
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadQRModal.stories.js","sourceRoot":"","sources":["../../../../src/components/Modal/DownloadModal/DownloadQRModal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,SAAS,MAAM,gCAAgC,CAAA;AACtD,OAAO,KAAK,MAAM,4BAA4B,CAAA;AAI9C,MAAM,IAAI,GAA+B;IACvC,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,+EAA+E;oBAC/E,iEAAiE;oBACjE,uGAAuG;oBACvG,gFAAgF;aACnF;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,GAAG;aAClB;SACF;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE;YACF,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC3B,WAAW,EAAE,yCAAyC;SACvD;QACD,UAAU,EAAE;YACV,WAAW,EAAE,kDAAkD;SAChE;QACD,OAAO,EAAE;YACP,WAAW,EAAE,uEAAuE;SACrF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;SACnB;KACF;CACqC,CAAA;AAIxC,MAAM,OAAO,GAAU;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,SAAS;KACtB;CACF,CAAA;AAED,MAAM,GAAG,GAAU;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,KAAK;KAClB;CACF,CAAA;AAED,MAAM,WAAW,GAAU;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;KACnB;CACF,CAAA;AAED,oDAAoD;AACpD,eAAe,IAAI,CAAA;AAEnB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"DownloadQRModal.stories.js","sourceRoot":"","sources":["../../../../src/components/Modal/DownloadModal/DownloadQRModal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAInD,MAAM,IAAI,GAA+B;IACvC,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,+EAA+E;oBAC/E,iEAAiE;oBACjE,+FAA+F;oBAC/F,gFAAgF;aACnF;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,GAAG;aAClB;SACF;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE;YACF,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC3B,WAAW,EAAE,6DAA6D;SAC3E;QACD,UAAU,EAAE;YACV,WAAW,EAAE,wEAAwE;SACtF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,uEAAuE;SACrF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;SACnB;KACF;CACqC,CAAA;AAIxC,MAAM,OAAO,GAAU;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,SAAS;KACd;CACF,CAAA;AAED,MAAM,GAAG,GAAU;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,KAAK;KACV;CACF,CAAA;AAED,MAAM,WAAW,GAAU;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,SAAS;KACnB;CACF,CAAA;AAED,oDAAoD;AACpD,eAAe,IAAI,CAAA;AAEnB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA"}
@@ -7,10 +7,10 @@ type DownloadQRModalProps = {
7
7
  open: boolean;
8
8
  /** Called when the modal is closed */
9
9
  onClose: () => void;
10
- /** The platform — drives the title text */
10
+ /** The platform — drives the title text and default QR code */
11
11
  os: 'android' | 'ios';
12
- /** QR code image URL (PNG/SVG/data URI) pointing to the store listing */
13
- qrImageUrl: string;
12
+ /** QR code image URL override. If omitted, uses the built-in QR for the given OS. */
13
+ qrImageUrl?: string;
14
14
  /** Optional logo to overlay at the center of the QR code */
15
15
  logoUrl?: string;
16
16
  /** i18n strings — all have English defaults */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-ui2",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "Decentraland's UI components and styles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -117,5 +117,5 @@
117
117
  "url": "https://github.com/decentraland/ui2/issues"
118
118
  },
119
119
  "homepage": "https://github.com/decentraland/ui2#readme",
120
- "commit": "3ad58353cccb0e7dd87c10f03e91158d28488322"
120
+ "commit": "008495871d2dcbaba6425045750669e8af04b746"
121
121
  }