namirasoft-site-react 1.3.376 → 1.3.378
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NSFooter.d.ts +1 -0
- package/dist/components/NSFooter.js +1 -2
- package/dist/components/NSFooter.js.map +1 -1
- package/dist/components/NSLayout.d.ts +1 -0
- package/dist/components/NSLayout.js +1 -1
- package/dist/components/NSLayout.js.map +1 -1
- package/dist/components/NSProductList.d.ts +3 -33
- package/dist/components/NSProductList.js +6 -7
- package/dist/components/NSProductList.js.map +1 -1
- package/package.json +1 -2
- package/src/components/NSFooter.tsx +4 -5
- package/src/components/NSLayout.tsx +2 -0
- package/src/components/NSProductList.tsx +14 -51
|
@@ -13,7 +13,6 @@ import React from "react";
|
|
|
13
13
|
import Styles from "./NSFooter.module.css";
|
|
14
14
|
import { NamirasoftAPILinkServer } from 'namirasoft-api-link';
|
|
15
15
|
import { IStorageLocal, CacheService } from "namirasoft-core";
|
|
16
|
-
const packageJson = require('../../package.json');
|
|
17
16
|
export class NSFooter extends React.Component {
|
|
18
17
|
constructor(props) {
|
|
19
18
|
super(props);
|
|
@@ -65,7 +64,7 @@ export class NSFooter extends React.Component {
|
|
|
65
64
|
}
|
|
66
65
|
render() {
|
|
67
66
|
var _a;
|
|
68
|
-
return (_jsx("footer", { id: this.props.id, className: `${Styles.ns_footer} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: _jsxs("div", { className: `container ${Styles.ns_package_footer}`, children: [_jsxs("div", { className: `${Styles.ns_footer_parent_items}`, children: [_jsx("div", { className: `${Styles.ns_footer_project_logo_tablet}`, children: _jsx("a", { href: "/", children: _jsx("img", { src: this.props.logo, alt: 'Logo', width: 80, height: 80 }) }) }), _jsx("div", { className: `${Styles.ns_footer_menu_container}`, children: this.render_menu(0, null) }), _jsxs("div", { className: `${Styles.ns_footer_namira_logo_tablet}`, children: [_jsxs("div", { className: "d-flex flex-row gap-3", children: [_jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/site/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) }), _jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/account/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) })] }), _jsxs("div", { className: "d-flex flex-row gap-1 w-100 justify-content-center align-items-center", children: [_jsx("a", { style: { cursor: "pointer" }, href: "https://ca.linkedin.com/company/namira-software-corporation", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/linkedin/white.svg", alt: "Communicate with Namirasoft Via LinkedIn", width: 24, height: 24 }) }), _jsx("a", { href: "https://instagram.com/namira.software.corporation?igshid=MzRlODBiNWFlZA==", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/instagram/white.svg", alt: "Communicate with Namirasoft Via Instagram", width: 24, height: 24 }) }), _jsx("a", { href: "support@namirasoft.com", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/email/white.svg", alt: "Communicate with Namirasoft Via Email", width: 24, height: 24 }) }), _jsx("a", { href: "https://www.google.com/maps/place//@49.2781041,-123.1354814,14z/data=!4m2!3m1!1s0x0:0x18f70365c7a2f0fa?entry=s&sa=X", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/location/white.svg", alt: "Communicate with Namirasoft in Person", width: 24, height: 24 }) })] }), _jsxs("div", { className: `${Styles.ns_footer_copyright}`, children: [" Versin: ",
|
|
67
|
+
return (_jsx("footer", { id: this.props.id, className: `${Styles.ns_footer} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: _jsxs("div", { className: `container ${Styles.ns_package_footer}`, children: [_jsxs("div", { className: `${Styles.ns_footer_parent_items}`, children: [_jsx("div", { className: `${Styles.ns_footer_project_logo_tablet}`, children: _jsx("a", { href: "/", children: _jsx("img", { src: this.props.logo, alt: 'Logo', width: 80, height: 80 }) }) }), _jsx("div", { className: `${Styles.ns_footer_menu_container}`, children: this.render_menu(0, null) }), _jsxs("div", { className: `${Styles.ns_footer_namira_logo_tablet}`, children: [_jsxs("div", { className: "d-flex flex-row gap-3", children: [_jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/site/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) }), _jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/account/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) })] }), _jsxs("div", { className: "d-flex flex-row gap-1 w-100 justify-content-center align-items-center", children: [_jsx("a", { style: { cursor: "pointer" }, href: "https://ca.linkedin.com/company/namira-software-corporation", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/linkedin/white.svg", alt: "Communicate with Namirasoft Via LinkedIn", width: 24, height: 24 }) }), _jsx("a", { href: "https://instagram.com/namira.software.corporation?igshid=MzRlODBiNWFlZA==", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/instagram/white.svg", alt: "Communicate with Namirasoft Via Instagram", width: 24, height: 24 }) }), _jsx("a", { href: "support@namirasoft.com", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/email/white.svg", alt: "Communicate with Namirasoft Via Email", width: 24, height: 24 }) }), _jsx("a", { href: "https://www.google.com/maps/place//@49.2781041,-123.1354814,14z/data=!4m2!3m1!1s0x0:0x18f70365c7a2f0fa?entry=s&sa=X", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/location/white.svg", alt: "Communicate with Namirasoft in Person", width: 24, height: 24 }) })] }), _jsxs("div", { className: `${Styles.ns_footer_copyright}`, children: [" Versin: ", this.props.version, " "] })] })] }), _jsx("div", { className: `${Styles.ns_footer_logos_mobile}`, children: _jsxs("div", { className: "d-flex flex-column gap-4", children: [_jsxs("div", { className: "d-flex flex-row gap-3", children: [_jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/site/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) }), _jsx("a", { href: "/", children: _jsx("img", { src: "https://static.namirasoft.com/image/namirasoft/account/logo/circle.png", alt: 'Namira Software Corporation Logo', width: 48, height: 48 }) })] }), _jsxs("div", { className: "d-flex flex-row gap-1 w-100 justify-content-center align-items-center", children: [_jsx("a", { href: "https://ca.linkedin.com/company/namira-software-corporation", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/linkedin/white.svg", alt: "Communicate with Namirasoft Via LinkedIn", width: 24, height: 24 }) }), _jsx("a", { href: "https://instagram.com/namira.software.corporation?igshid=MzRlODBiNWFlZA==", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/instagram/white.svg", alt: "Communicate with Namirasoft Via Instagram", width: 24, height: 24 }) }), _jsx("a", { href: "support@namirasoft.com", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/email/white.svg", alt: "Communicate with Namirasoft Via Email", width: 24, height: 24 }) }), _jsx("a", { href: "https://www.google.com/maps/place//@49.2781041,-123.1354814,14z/data=!4m2!3m1!1s0x0:0x18f70365c7a2f0fa?entry=s&sa=X", target: "_blank", rel: "noreferrer", children: _jsx("img", { src: "https://static.namirasoft.com/image/concept/social/location/white.svg", alt: "Communicate with Namirasoft in Person", width: 24, height: 24 }) })] }), _jsxs("div", { className: `${Styles.ns_footer_copyright}`, children: [" Versin: ", this.props.version, " "] })] }) }), _jsxs("div", { className: `${Styles.ns_footer_copyright}`, children: [_jsxs("span", { children: [" \u00A9Copyright 2010 - ", new Date().getFullYear(), " "] }), " ", _jsx("a", { href: "https://namirasoft.com/", target: "_blank", rel: "noreferrer", children: " Namira Software Corporation" }), ". ", " ", _jsx("span", { children: " All rights reserved. " })] })] }) }));
|
|
69
68
|
}
|
|
70
69
|
render_menu(level, parent_id) {
|
|
71
70
|
let fs = this.getFilters().filter(f => f.parent_id === parent_id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSFooter.js","sourceRoot":"","sources":["../../src/components/NSFooter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAqB,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"NSFooter.js","sourceRoot":"","sources":["../../src/components/NSFooter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAqB,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAiB9D,MAAM,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAwC;IAMxE,YAAY,KAAqB;QAE7B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAG1B,WAAW,EAAE,GAAG,EAAE,IAAI,aAAa,EAAE,EAAE,GAAS,EAAE;YAEjD,IAAI,MAAM,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC,CAAA,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClB,CAAC;IACQ,iBAAiB;QAEtB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAE5B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IACO,UAAU;;QAEd,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE;YAErC,IAAI,CAAC,CAAC,IAAI,EACV;gBACI,IAAI,QAAQ;oBACR,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;aACxB;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,mCAAI,EAAE,CAAC;QAET,OAAO,IAAI,EACX;YACI,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YAC5B,IAAI,GAAG,GAAG,GAAG,CAAC;YACd,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;gBAEjB,IAAI,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG;oBACX,OAAO,IAAI,CAAC;gBAChB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;YAC5B,IAAI,UAAU,KAAK,UAAU;gBACzB,MAAM;SACb;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IACO,QAAQ,CAAC,EAAU;QAEvB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,iBAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EACrB,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EACnE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,YAEvB,eAAK,SAAS,EAAE,aAAa,MAAM,CAAC,iBAAiB,EAAE,aACnD,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,sBAAsB,EAAE,aAC9C,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,6BAA6B,EAAE,YACrD,YAAG,IAAI,EAAC,GAAG,YACP,cAAK,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAC/D,GACF,EACN,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,wBAAwB,EAAE,YAC/C,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GACxB,EACN,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,4BAA4B,EAAE,aACpD,eAAK,SAAS,EAAC,uBAAuB,aAClC,YAAG,IAAI,EAAC,GAAG,YAAC,cAAK,GAAG,EAAC,qEAAqE,EAAC,GAAG,EAAC,kCAAkC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EAC/J,YAAG,IAAI,EAAC,GAAG,YAAC,cAAK,GAAG,EAAC,wEAAwE,EAAC,GAAG,EAAC,kCAAkC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,IAChK,EACN,eAAK,SAAS,EAAC,uEAAuE,aAClF,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAC,6DAA6D,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,uEAAuE,EAAC,GAAG,EAAC,0CAA0C,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EAClS,YAAG,IAAI,EAAC,2EAA2E,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,wEAAwE,EAAC,GAAG,EAAC,2CAA2C,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EACpR,YAAG,IAAI,EAAC,wBAAwB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,oEAAoE,EAAC,GAAG,EAAC,uCAAuC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EACzN,YAAG,IAAI,EAAC,qHAAqH,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,uEAAuE,EAAC,GAAG,EAAC,uCAAuC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,IACvT,EAC3B,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,0BAAY,IAAI,CAAC,KAAK,CAAC,OAAO,SAAQ,IAChF,IACc,EACN,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,sBAAsB,EAAE,YAC9C,eAAK,SAAS,EAAC,0BAA0B,aACrC,eAAK,SAAS,EAAC,uBAAuB,aAClC,YAAG,IAAI,EAAC,GAAG,YAAC,cAAK,GAAG,EAAC,qEAAqE,EAAC,GAAG,EAAC,kCAAkC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EAC/J,YAAG,IAAI,EAAC,GAAG,YAAC,cAAK,GAAG,EAAC,wEAAwE,EAAC,GAAG,EAAC,kCAAkC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,IAChK,EACN,eAAK,SAAS,EAAC,uEAAuE,aAClF,YAAG,IAAI,EAAC,6DAA6D,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAE,cAAK,GAAG,EAAC,uEAAuE,EAAC,GAAG,EAAC,0CAA0C,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EACrQ,YAAG,IAAI,EAAC,2EAA2E,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,wEAAwE,EAAC,GAAG,EAAC,2CAA2C,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EACpR,YAAG,IAAI,EAAC,wBAAwB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,oEAAoE,EAAC,GAAG,EAAC,uCAAuC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,EACzN,YAAG,IAAI,EAAC,qHAAqH,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAC,cAAK,GAAG,EAAC,uEAAuE,EAAC,GAAG,EAAC,uCAAuC,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAAI,IACvT,EAC3B,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,0BAAY,IAAI,CAAC,KAAK,CAAC,OAAO,SAAQ,IAC9D,GACJ,EACN,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,aAC3C,wDAA2B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAC,GAAG,EACjE,YAAG,IAAI,EAAC,yBAAyB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,6CAAiC,QAAG,GAAG,EACzG,oDAAoC,IAClC,IACJ,GACA,CACb,CAAC;IACN,CAAC;IACO,WAAW,CAAC,KAAa,EAAE,SAAwB;QAEvD,IAAI,EAAE,GAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACvF,OAAO,CACH,4BAEQ,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAEnD,CACN,CAAC;IACN,CAAC;IACO,eAAe,CAAC,KAAa,EAAE,MAAyB;;QAE5D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAC5B;YACI,OAAO,CACH,cACI,EAAE,EAAE,kBAAkB,MAAM,CAAC,EAAE,EAAE,aACjC,gBAAM,SAAS,EAAE,MAAM,CAAC,oBAAoB,kBAAI,MAAM,CAAC,IAAI,SAAS,EACnE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,KAH1B,MAAM,CAAC,EAAE,CAIb,CACR,CAAC;SACL;aACI,IAAI,KAAK,KAAK,CAAC,EACpB;YACI,OAAO,CACH,aAEI,EAAE,EAAE,kBAAkB,MAAM,CAAC,EAAE,EAAE,YAChC,MAAM,CAAC,IAAI,IAFP,MAAM,CAAC,EAAE,CAGb,CACR,CAAC;SACL;aAED;YACI,IAAI,IAAI,GAAG,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAChC,IAAI,IAAI,EACR;oBACI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;oBACxB,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACxC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;iBACzB;YACL,OAAO,CACH,aAAoB,SAAS,EAAC,MAAM,YAChC,YAAG,IAAI,EAAE,IAAI,YACR,MAAM,CAAC,IAAI,GACZ,IAHC,MAAM,CAAC,EAAE,CAIb,CACR,CAAC;SACL;IACL,CAAC;CACJ"}
|
|
@@ -25,6 +25,6 @@ export function NSLayout(props) {
|
|
|
25
25
|
backgroundSize: "cover",
|
|
26
26
|
backgroundAttachment: "fixed"
|
|
27
27
|
}, children: [_jsx(NSHeader, { scope: props.scope, name: "Header", logo: props.logo, header: props.header, isLoggedIn: props.isLoggedIn }), props.notifications.map(props => _jsx(NSBarNotification, Object.assign({}, props))), isValidAction(props.action) && _jsx(NSBarAction, Object.assign({}, props.action)), props.banner && _jsx(NSBarHeroBanner, Object.assign({}, props.banner)), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), props.title &&
|
|
28
|
-
_jsxs(_Fragment, { children: [_jsx(NSBarTitle, Object.assign({}, props.title)), _jsx(NSSpace, { size: NSSpaceSizeType.MEDUIM })] }), _jsx("main", { className: `d-flex flex-column text-white ${Styles.ns_layout_main}`, children: props.children }), _jsx(NSSpace, { size: NSSpaceSizeType.MEDUIM }), _jsx(NSFooter, { scope: props.scope, name: "Footer", logo: props.logo, isLoggedIn: props.isLoggedIn })] }));
|
|
28
|
+
_jsxs(_Fragment, { children: [_jsx(NSBarTitle, Object.assign({}, props.title)), _jsx(NSSpace, { size: NSSpaceSizeType.MEDUIM })] }), _jsx("main", { className: `d-flex flex-column text-white ${Styles.ns_layout_main}`, children: props.children }), _jsx(NSSpace, { size: NSSpaceSizeType.MEDUIM }), _jsx(NSFooter, { scope: props.scope, name: "Footer", logo: props.logo, isLoggedIn: props.isLoggedIn, version: props.version })] }));
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=NSLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSLayout.js","sourceRoot":"","sources":["../../src/components/NSLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"NSLayout.js","sourceRoot":"","sources":["../../src/components/NSLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAsBrD,MAAM,UAAU,QAAQ,CAAC,KAAqB;;IAE7C,SAAS,aAAa,CAAC,MAA0B;QAEhD,IAAI,MAAM;YACT,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC7E,OAAO,IAAI,CAAC;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CACN,eAAK,EAAE,EAAE,KAAK,CAAC,EAAE,EAChB,SAAS,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EACjE,KAAK,EAAE;YACN,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,OAAO;YACvB,oBAAoB,EAAE,OAAO;SAC7B,aACD,KAAC,QAAQ,IACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,KAAK,CAAC,UAAU,GAC3B,EACD,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAC,iBAAiB,oBAAK,KAAK,EAAsB,CAAC,EACpF,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAC,WAAW,oBAAK,KAAK,CAAC,MAAM,EAAkB,EAC9E,KAAK,CAAC,MAAM,IAAI,KAAC,eAAe,oBAAK,KAAK,CAAC,MAAM,EAAsB,EACxE,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAI,EACvC,KAAK,CAAC,KAAK;gBACX,8BACC,KAAC,UAAU,oBAAK,KAAK,CAAC,KAAK,EAAiB,EAC5C,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAI,IACvC,EAEJ,eAAM,SAAS,EAAE,iCAAiC,MAAM,CAAC,cAAc,EAAE,YACvE,KAAK,CAAC,QAAQ,GACT,EACP,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAI,EACzC,KAAC,QAAQ,IACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,GACrB,IACI,CACP,CAAC;AACH,CAAC"}
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { INSARouterProps, NSASectionEditProps, NSASectionListProps, NSASectionViewProps, IEntityInfo } from "namirasoft-account-react";
|
|
3
|
-
export interface NSProductListProps<EntityType extends {
|
|
4
|
-
id: string;
|
|
5
|
-
}, EntityTypeInput = EntityType> extends INSARouterProps {
|
|
6
|
-
action?: INSBarActionProps;
|
|
7
|
-
banner?: INSBarHeroBannerProps;
|
|
8
|
-
title?: INSBarTitleProps;
|
|
9
|
-
pages?: {
|
|
10
|
-
entity: IEntityInfo<EntityType, EntityTypeInput>;
|
|
11
|
-
ui?: {
|
|
12
|
-
action?: {
|
|
13
|
-
menus: {
|
|
14
|
-
view?: boolean;
|
|
15
|
-
viewHistory?: boolean;
|
|
16
|
-
copy?: boolean;
|
|
17
|
-
edit?: boolean;
|
|
18
|
-
delete?: boolean;
|
|
19
|
-
apply?: boolean;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
list?: NSASectionListProps<EntityType>;
|
|
24
|
-
edit?: NSASectionEditProps<EntityType, EntityTypeInput>;
|
|
25
|
-
view?: NSASectionViewProps<EntityType>;
|
|
26
|
-
};
|
|
27
|
-
edit?: () => void;
|
|
28
|
-
delete?: () => void;
|
|
29
|
-
redirectToView?: () => void;
|
|
1
|
+
export interface NSProductListProps {
|
|
30
2
|
scope: string;
|
|
31
|
-
|
|
3
|
+
name: string;
|
|
32
4
|
}
|
|
33
|
-
export declare function NSProductList
|
|
34
|
-
id: string;
|
|
35
|
-
} = any, EntityTypeInput = EntityType>(props: NSProductListProps<EntityType, EntityTypeInput>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function NSProductList(props: NSProductListProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { NSCard } from "../main";
|
|
3
3
|
import { useState, useEffect } from "react";
|
|
4
4
|
import { NamirasoftAPIProductServer } from "namirasoft-api-product";
|
|
5
|
-
import { NSALayout } from "namirasoft-account-react";
|
|
6
5
|
export function NSProductList(props) {
|
|
7
6
|
const [state, setState] = useState({ products: [] });
|
|
8
7
|
useEffect(() => {
|
|
9
8
|
let server = new NamirasoftAPIProductServer(console.error);
|
|
10
|
-
server.filter.ListProducts(
|
|
9
|
+
server.filter.ListProducts(props.scope, props.name, null, null, null).then((products) => {
|
|
11
10
|
setState({ products: products.rows });
|
|
12
11
|
}).catch(() => { });
|
|
13
12
|
}, []);
|
|
14
|
-
return (_jsx(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return (_jsx("div", { className: "d-flex gap-3 flex-wrap justify-content-between container", children: state.products.map((product) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
return (_jsx(NSCard, { link: { href: (_a = product.link) !== null && _a !== void 0 ? _a : "" }, title: product.name, image: { src: (_b = product.logo) !== null && _b !== void 0 ? _b : '', alt: product.name } }, product.id));
|
|
16
|
+
}) }));
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=NSProductList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSProductList.js","sourceRoot":"","sources":["../../src/components/NSProductList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"NSProductList.js","sourceRoot":"","sources":["../../src/components/NSProductList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAkB,MAAM,wBAAwB,CAAC;AAapF,MAAM,UAAU,aAAa,CAAC,KAAyB;IAEnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEzE,SAAS,CAAC,GAAG,EAAE;QAEX,IAAI,MAAM,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAEpF,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAGxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,cAAK,SAAS,EAAC,0DAA0D,YACpE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAuB,EAAE,EAAE;;YAE5C,OAAO,CACH,KAAC,MAAM,IAAkB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,IAA1H,OAAO,CAAC,EAAE,CAAoH,CAC9I,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.378",
|
|
12
12
|
"author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/main.js",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"bootstrap": "^5.3.3",
|
|
30
30
|
"copyfiles": "^2.4.1",
|
|
31
31
|
"link-react": "^3.0.0",
|
|
32
|
-
"namirasoft-account-react": "^1.3.245",
|
|
33
32
|
"namirasoft-api-link": "^1.3.17",
|
|
34
33
|
"namirasoft-api-product": "^1.3.14",
|
|
35
34
|
"namirasoft-core": "^1.3.80",
|
|
@@ -5,15 +5,14 @@ import Styles from "./NSFooter.module.css";
|
|
|
5
5
|
import { NamirasoftAPILinkServer, FilterLinkFullRow } from 'namirasoft-api-link';
|
|
6
6
|
import { IBaseComponentProps } from "../props/IBaseComponentProps";
|
|
7
7
|
import { IStorageLocal, CacheService } from "namirasoft-core";
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
|
-
const packageJson = require('../../package.json');
|
|
10
8
|
|
|
11
9
|
export interface INSFooterProps extends IBaseComponentProps
|
|
12
10
|
{
|
|
13
11
|
scope: string;
|
|
14
12
|
name: string;
|
|
15
13
|
logo: string;
|
|
16
|
-
|
|
14
|
+
isLoggedIn: () => boolean;
|
|
15
|
+
version? :string
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
export interface NSFooterState
|
|
@@ -117,7 +116,7 @@ export class NSFooter extends React.Component<INSFooterProps, NSFooterState>
|
|
|
117
116
|
<a href="support@namirasoft.com" target="_blank" rel="noreferrer"><img src="https://static.namirasoft.com/image/concept/social/email/white.svg" alt="Communicate with Namirasoft Via Email" width={24} height={24} /></a>
|
|
118
117
|
<a href="https://www.google.com/maps/place//@49.2781041,-123.1354814,14z/data=!4m2!3m1!1s0x0:0x18f70365c7a2f0fa?entry=s&sa=X" target="_blank" rel="noreferrer"><img src="https://static.namirasoft.com/image/concept/social/location/white.svg" alt="Communicate with Namirasoft in Person" width={24} height={24} /></a>
|
|
119
118
|
</div>
|
|
120
|
-
<div className={`${Styles.ns_footer_copyright}`}> Versin: {
|
|
119
|
+
<div className={`${Styles.ns_footer_copyright}`}> Versin: {this.props.version} </div>
|
|
121
120
|
</div>
|
|
122
121
|
</div>
|
|
123
122
|
<div className={`${Styles.ns_footer_logos_mobile}`}>
|
|
@@ -132,7 +131,7 @@ export class NSFooter extends React.Component<INSFooterProps, NSFooterState>
|
|
|
132
131
|
<a href="support@namirasoft.com" target="_blank" rel="noreferrer"><img src="https://static.namirasoft.com/image/concept/social/email/white.svg" alt="Communicate with Namirasoft Via Email" width={24} height={24} /></a>
|
|
133
132
|
<a href="https://www.google.com/maps/place//@49.2781041,-123.1354814,14z/data=!4m2!3m1!1s0x0:0x18f70365c7a2f0fa?entry=s&sa=X" target="_blank" rel="noreferrer"><img src="https://static.namirasoft.com/image/concept/social/location/white.svg" alt="Communicate with Namirasoft in Person" width={24} height={24} /></a>
|
|
134
133
|
</div>
|
|
135
|
-
<div className={`${Styles.ns_footer_copyright}`}> Versin: {
|
|
134
|
+
<div className={`${Styles.ns_footer_copyright}`}> Versin: {this.props.version} </div>
|
|
136
135
|
</div>
|
|
137
136
|
</div>
|
|
138
137
|
<div className={`${Styles.ns_footer_copyright}`}>
|
|
@@ -22,6 +22,7 @@ export interface INSLayoutProps extends IBaseComponentProps
|
|
|
22
22
|
title?: INSBarTitleProps;
|
|
23
23
|
children: ReactNode;
|
|
24
24
|
isLoggedIn: () => boolean;
|
|
25
|
+
version? :string
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export interface NSLayoutState
|
|
@@ -77,6 +78,7 @@ export function NSLayout(props: INSLayoutProps)
|
|
|
77
78
|
name="Footer"
|
|
78
79
|
logo={props.logo}
|
|
79
80
|
isLoggedIn={props.isLoggedIn}
|
|
81
|
+
version={props.version}
|
|
80
82
|
/>
|
|
81
83
|
</div >
|
|
82
84
|
);
|
|
@@ -1,51 +1,26 @@
|
|
|
1
1
|
import { NSCard } from "../main";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
3
|
import { NamirasoftAPIProductServer, ProductFullRow } from "namirasoft-api-product";
|
|
4
|
-
import { INSBarActionProps, INSBarHeroBannerProps, INSBarTitleProps } from "namirasoft-site-react";
|
|
5
|
-
import { INSARouterProps, NSALayout, NSASectionEditProps, NSASectionListProps, NSASectionViewProps, IEntityInfo } from "namirasoft-account-react";
|
|
6
4
|
|
|
7
|
-
export interface NSProductListProps
|
|
5
|
+
export interface NSProductListProps
|
|
8
6
|
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
title?: INSBarTitleProps;
|
|
12
|
-
pages?: {
|
|
13
|
-
entity: IEntityInfo<EntityType, EntityTypeInput>;
|
|
14
|
-
ui?: {
|
|
15
|
-
action?: {
|
|
16
|
-
menus: {
|
|
17
|
-
view?: boolean;
|
|
18
|
-
viewHistory?: boolean;
|
|
19
|
-
copy?: boolean;
|
|
20
|
-
edit?: boolean;
|
|
21
|
-
delete?: boolean;
|
|
22
|
-
apply?: boolean;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
list?: NSASectionListProps<EntityType>;
|
|
27
|
-
edit?: NSASectionEditProps<EntityType, EntityTypeInput>;
|
|
28
|
-
view?: NSASectionViewProps<EntityType>;
|
|
29
|
-
}
|
|
30
|
-
edit?: () => void;
|
|
31
|
-
delete?: () => void;
|
|
32
|
-
redirectToView?: () => void;
|
|
33
|
-
scope:string;
|
|
34
|
-
logo:string;
|
|
7
|
+
scope: string;
|
|
8
|
+
name: string;
|
|
35
9
|
}
|
|
36
10
|
|
|
37
11
|
interface NSProductListState
|
|
38
12
|
{
|
|
39
13
|
products: ProductFullRow[];
|
|
40
14
|
}
|
|
41
|
-
|
|
15
|
+
|
|
16
|
+
export function NSProductList(props: NSProductListProps)
|
|
42
17
|
{
|
|
43
18
|
const [state, setState] = useState<NSProductListState>({ products: [] });
|
|
44
19
|
|
|
45
20
|
useEffect(() =>
|
|
46
21
|
{
|
|
47
22
|
let server = new NamirasoftAPIProductServer(console.error);
|
|
48
|
-
server.filter.ListProducts(
|
|
23
|
+
server.filter.ListProducts(props.scope, props.name, null, null, null).then((products) =>
|
|
49
24
|
{
|
|
50
25
|
setState({ products: products.rows });
|
|
51
26
|
}).catch(() => { });
|
|
@@ -54,25 +29,13 @@ export function NSProductList<EntityType extends { id: string } = any, EntityTyp
|
|
|
54
29
|
}, []);
|
|
55
30
|
|
|
56
31
|
return (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
notifier={props.notifier}
|
|
66
|
-
>
|
|
67
|
-
<div className="d-flex gap-3 flex-wrap justify-content-between container">
|
|
68
|
-
{state.products.map((product: ProductFullRow) =>
|
|
69
|
-
{
|
|
70
|
-
return (
|
|
71
|
-
<NSCard key={product.id} link={{ href: product.link ?? "" }} title={product.name} image={{ src: product.logo ?? '', alt: product.name }} />
|
|
72
|
-
);
|
|
73
|
-
})}
|
|
74
|
-
</div>
|
|
75
|
-
</NSALayout>
|
|
76
|
-
</>
|
|
32
|
+
<div className="d-flex gap-3 flex-wrap justify-content-between container">
|
|
33
|
+
{state.products.map((product: ProductFullRow) =>
|
|
34
|
+
{
|
|
35
|
+
return (
|
|
36
|
+
<NSCard key={product.id} link={{ href: product.link ?? "" }} title={product.name} image={{ src: product.logo ?? '', alt: product.name }} />
|
|
37
|
+
);
|
|
38
|
+
})}
|
|
39
|
+
</div>
|
|
77
40
|
);
|
|
78
41
|
}
|