namirasoft-site-react 1.2.51 → 1.2.54

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 (88) hide show
  1. package/dist/App.js +2 -2
  2. package/dist/App.js.map +1 -1
  3. package/dist/assets/images/map_location.png +0 -0
  4. package/dist/components/NSCard.d.ts +2 -5
  5. package/dist/components/NSCard.js +3 -3
  6. package/dist/components/NSCard.js.map +1 -1
  7. package/dist/components/NSCard.module.css +10 -1
  8. package/dist/components/NSEntityBar.d.ts +12 -0
  9. package/dist/components/NSEntityBar.js +10 -0
  10. package/dist/components/NSEntityBar.js.map +1 -0
  11. package/dist/components/NSEntityBar.module.css +53 -0
  12. package/dist/components/NSLayoutTitle.d.ts +4 -1
  13. package/dist/components/NSLayoutTitle.js +5 -2
  14. package/dist/components/NSLayoutTitle.js.map +1 -1
  15. package/dist/components/NSLinkBlue.d.ts +17 -0
  16. package/dist/components/NSLinkBlue.js +20 -0
  17. package/dist/components/NSLinkBlue.js.map +1 -0
  18. package/dist/components/NSLinkBlue.module.css +24 -0
  19. package/dist/components/NSMap.d.ts +12 -0
  20. package/dist/components/NSMap.js +18 -0
  21. package/dist/components/NSMap.js.map +1 -0
  22. package/dist/components/NSSection.d.ts +15 -0
  23. package/dist/components/NSSection.js +27 -0
  24. package/dist/components/NSSection.js.map +1 -0
  25. package/dist/components/NSSection.module.css +10 -0
  26. package/dist/components/NSSectionBars.d.ts +11 -0
  27. package/dist/components/NSSectionBars.js +14 -0
  28. package/dist/components/NSSectionBars.js.map +1 -0
  29. package/dist/components/NSSectionBars.module.css +11 -0
  30. package/dist/components/NSSectionCards.d.ts +23 -0
  31. package/dist/components/NSSectionCards.js +19 -0
  32. package/dist/components/NSSectionCards.js.map +1 -0
  33. package/dist/components/NSSectionCards.module.css +38 -0
  34. package/dist/components/NSSectionTitle.d.ts +15 -0
  35. package/dist/components/NSSectionTitle.js +11 -0
  36. package/dist/components/NSSectionTitle.js.map +1 -0
  37. package/dist/components/NSSectionTitle.module.css +0 -0
  38. package/dist/components/NSSelectBox.js +1 -2
  39. package/dist/components/NSSelectBox.js.map +1 -1
  40. package/dist/components/NSTitle.d.ts +10 -0
  41. package/dist/components/NSTitle.js +11 -0
  42. package/dist/components/NSTitle.js.map +1 -0
  43. package/dist/components/NSTitle.module.css +9 -0
  44. package/dist/main.d.ts +8 -2
  45. package/dist/main.js +8 -2
  46. package/dist/main.js.map +1 -1
  47. package/dist/types/Background.d.ts +5 -0
  48. package/dist/types/Background.js +2 -0
  49. package/dist/types/Background.js.map +1 -0
  50. package/package.json +12 -9
  51. package/src/App.tsx +1 -2
  52. package/src/assets/images/map_location.png +0 -0
  53. package/src/components/NSCard.module.css +10 -1
  54. package/src/components/NSCard.tsx +16 -16
  55. package/src/components/NSEntityBar.module.css +53 -0
  56. package/src/components/NSEntityBar.tsx +32 -0
  57. package/src/components/NSLayoutTitle.tsx +14 -11
  58. package/src/components/NSLinkBlue.module.css +24 -0
  59. package/src/components/NSLinkBlue.tsx +45 -0
  60. package/src/components/NSMap.tsx +38 -0
  61. package/src/components/NSSection.module.css +10 -0
  62. package/src/components/NSSection.tsx +48 -0
  63. package/src/components/NSSectionBars.module.css +11 -0
  64. package/src/components/NSSectionBars.tsx +35 -0
  65. package/src/components/NSSectionCards.module.css +38 -0
  66. package/src/components/NSSectionCards.tsx +69 -0
  67. package/src/components/NSSectionTitle.module.css +0 -0
  68. package/src/components/NSSectionTitle.tsx +28 -0
  69. package/src/components/NSSelectBox.tsx +2 -3
  70. package/src/components/NSTitle.module.css +9 -0
  71. package/src/components/NSTitle.tsx +25 -0
  72. package/src/main.ts +8 -2
  73. package/src/types/Background.ts +6 -0
  74. package/dist/components/NSBoxPosition.d.ts +0 -20
  75. package/dist/components/NSBoxPosition.js +0 -14
  76. package/dist/components/NSBoxPosition.js.map +0 -1
  77. package/dist/components/NSBoxPosition.module.css +0 -81
  78. package/dist/components/NSBoxSection.d.ts +0 -20
  79. package/dist/components/NSBoxSection.js +0 -28
  80. package/dist/components/NSBoxSection.js.map +0 -1
  81. package/dist/components/NSBoxSection.module.css +0 -26
  82. package/dist/components/NSParentCard.module.css +0 -35
  83. package/src/components/NSBoxPosition.module.css +0 -81
  84. package/src/components/NSBoxPosition.tsx +0 -56
  85. package/src/components/NSBoxSection.module.css +0 -26
  86. package/src/components/NSBoxSection.tsx +0 -73
  87. package/src/components/NSParentCard.module.css +0 -35
  88. package/src/components/NSParentCard.tsx.temp +0 -59
package/dist/main.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./components/NSButtonGreen";
2
2
  export * from "./components/NSButtonRed";
3
3
  export * from "./components/NSCard";
4
+ export * from "./components/NSEntityBar";
4
5
  export * from "./components/NSFooter";
5
6
  export * from "./components/NSHeader";
6
7
  export * from "./components/NSInputDate";
@@ -19,10 +20,15 @@ export * from "./components/NSLayout";
19
20
  export * from "./components/NSLayoutHeroBanner";
20
21
  export * from "./components/NSLayoutTitle";
21
22
  export * from "./components/NSSelectBox";
23
+ export * from "./components/NSSection";
24
+ export * from "./components/NSSectionBars";
25
+ export * from "./components/NSSectionCards";
26
+ export * from "./components/NSSectionTitle";
27
+ export * from "./components/NSLinkBlue";
22
28
  export * from "./components/NSLinkGreen";
23
29
  export * from "./components/NSLinkRed";
30
+ export * from "./components/NSMap";
24
31
  export * from "./components/NSPagination";
25
32
  export * from "./components/NSTable";
33
+ export * from "./components/NSTitle";
26
34
  export * from "./pages/NSLoginPage";
27
- export * from "./components/NSBoxSection";
28
- export * from "./components/NSBoxPosition";
package/dist/main.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./components/NSButtonGreen";
2
2
  export * from "./components/NSButtonRed";
3
3
  export * from "./components/NSCard";
4
+ export * from "./components/NSEntityBar";
4
5
  export * from "./components/NSFooter";
5
6
  export * from "./components/NSHeader";
6
7
  export * from "./components/NSInputDate";
@@ -19,11 +20,16 @@ export * from "./components/NSLayout";
19
20
  export * from "./components/NSLayoutHeroBanner";
20
21
  export * from "./components/NSLayoutTitle";
21
22
  export * from "./components/NSSelectBox";
23
+ export * from "./components/NSSection";
24
+ export * from "./components/NSSectionBars";
25
+ export * from "./components/NSSectionCards";
26
+ export * from "./components/NSSectionTitle";
27
+ export * from "./components/NSLinkBlue";
22
28
  export * from "./components/NSLinkGreen";
23
29
  export * from "./components/NSLinkRed";
30
+ export * from "./components/NSMap";
24
31
  export * from "./components/NSPagination";
25
32
  export * from "./components/NSTable";
33
+ export * from "./components/NSTitle";
26
34
  export * from "./pages/NSLoginPage";
27
- export * from "./components/NSBoxSection";
28
- export * from "./components/NSBoxPosition";
29
35
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface Background {
2
+ image?: string;
3
+ color?: string;
4
+ position?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../src/types/Background.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,26 +1,29 @@
1
1
  {
2
2
  "name": "namirasoft-site-react",
3
- "version": "1.2.51",
3
+ "version": "1.2.54",
4
4
  "main": "./dist/main.js",
5
5
  "types": "./dist/main.d.ts",
6
6
  "dependencies": {
7
- "@types/node": "^20.11.24",
8
- "@types/react": "^18.2.62",
9
- "@types/react-dom": "^18.2.19",
10
- "antd": "^5.15.0",
7
+ "@types/leaflet": "^1.9.8",
8
+ "@types/node": "^20.11.28",
9
+ "@types/react": "^18.2.66",
10
+ "@types/react-dom": "^18.2.22",
11
+ "@types/react-leaflet": "^3.0.0",
12
+ "antd": "^5.15.2",
11
13
  "bootstrap": "^5.3.3",
14
+ "leaflet": "^1.9.4",
12
15
  "link-react": "^3.0.0",
13
16
  "namirasoft-api-link": "^1.2.3",
14
- "namirasoft-core": "^1.2.13",
15
- "namirasoft-site-react": "^1.2.50",
17
+ "namirasoft-core": "^1.2.16",
16
18
  "path-browserify": "^1.0.1",
17
19
  "react": "^18.2.0",
18
20
  "react-app-rewired": "^2.2.1",
19
21
  "react-bootstrap": "^2.10.1",
20
22
  "react-dom": "^18.2.0",
23
+ "react-leaflet": "^4.2.1",
21
24
  "react-phone-input-2": "^2.15.1",
22
25
  "react-phone-number-input": "^3.3.9",
23
- "react-router-dom": "^6.22.2",
26
+ "react-router-dom": "^6.22.3",
24
27
  "react-scripts": "5.0.1"
25
28
  },
26
29
  "scripts": {
@@ -51,4 +54,4 @@
51
54
  "devDependencies": {
52
55
  "copyfiles": "^2.4.1"
53
56
  }
54
- }
57
+ }
package/src/App.tsx CHANGED
@@ -16,7 +16,7 @@ import 'bootstrap/dist/css/bootstrap.min.css';
16
16
  import { NSButtonRed } from './components/NSButtonRed';
17
17
  // import { NSSelectBox } from './components/NSSelectBox';
18
18
  // import { type SelectProps } from 'antd';
19
- import { NSBoxSection, NSLayout, NSPagination } from './main';
19
+ import { NSLayout, NSPagination } from './main';
20
20
  // import { NSBoxPosition } from './components/NSBoxPosition';
21
21
  // import { NSBoxSection } from './components/NSBoxSection';
22
22
 
@@ -68,7 +68,6 @@ export function App()
68
68
  <NSPagination page={1} size={25} />
69
69
  </div>
70
70
  {/* <NSBoxPosition image='' title='' list='' percent='' information='' /> */}
71
- <NSBoxSection detail='detail' image='' description='desc' />
72
71
  </NSLayout>
73
72
  </div>
74
73
  );
@@ -9,6 +9,8 @@
9
9
  box-shadow: 0 2px 10px 4px #00000040;
10
10
  padding: 24px;
11
11
  border-radius: 24px;
12
+ width: 100%;
13
+ max-width: 358px;
12
14
  }
13
15
 
14
16
  .ns_card_detail_container {
@@ -23,6 +25,9 @@
23
25
  flex-direction: column;
24
26
  align-items: center;
25
27
  justify-content: flex-start;
28
+ gap: 24px;
29
+ margin-bottom: 16px;
30
+ width: 100%;
26
31
  }
27
32
 
28
33
  .card_img {
@@ -34,11 +39,12 @@
34
39
 
35
40
  .card_title {
36
41
  font-style: normal;
37
- font-size: 24;
42
+ font-size: 24px;
38
43
  font-weight: 700;
39
44
  line-height: normal;
40
45
  color: inherit;
41
46
  text-align: inherit;
47
+ color: #141161;
42
48
  }
43
49
 
44
50
  .card_description {
@@ -65,6 +71,9 @@
65
71
  width: 100%;
66
72
  max-width: 310px;
67
73
  }
74
+ .ns_card_link_container {
75
+ width: 100%;
76
+ }
68
77
 
69
78
  @media only screen and (min-width: 576px) {
70
79
  .ns_card {
@@ -4,7 +4,7 @@ import { Component } from 'react';
4
4
 
5
5
  import Styles from './NSCard.module.css'
6
6
 
7
- interface IProps
7
+ export interface NSCardProps
8
8
  {
9
9
  title: string;
10
10
  description?: string;
@@ -20,31 +20,31 @@ interface IProps
20
20
  }
21
21
  }
22
22
 
23
- interface IStart
24
- { }
25
-
26
- export class NSCard extends Component<IProps, IStart> {
23
+ export class NSCard extends Component<NSCardProps> {
27
24
  override render()
28
25
  {
29
- const { title, image, description, link } = this.props;
30
26
  return (
31
27
  <>
32
28
  <article className={Styles.ns_card}>
33
29
  <div className={Styles.ns_card_detail_container}>
34
- <div className={Styles.ns_card_title_img}>
30
+ <div className={Styles.ns_card_title_img} style={{ alignItems: this.props.description ? "flex-start" : "center" }}>
31
+ <img className={Styles.card_img} src={this.props.image.src} alt={this.props.image.alt} />
35
32
  <h3 className={Styles.card_title}>
36
- {title}
33
+ {this.props.title}
37
34
  </h3>
38
- <img className={Styles.card_img} src={image.src} alt={image.alt} />
39
35
  </div>
40
- <p className={Styles.card_description}>
41
- {description}
42
- </p>
36
+
37
+ {this.props.description &&
38
+ <p className={Styles.card_description}>
39
+ {this.props.description}
40
+ </p>
41
+ }
42
+
43
43
  </div>
44
- {link &&
45
- <div >
46
- <a className={Styles.ns_card_link} href={link.href} target={link.target ?? "_self"} >
47
- {link.text}
44
+ {this.props.link &&
45
+ <div className={Styles.ns_card_link_container}>
46
+ <a className={Styles.ns_card_link} href={this.props.link.href} target={this.props.link.target ?? "_self"} >
47
+ {this.props.link.text}
48
48
  </a>
49
49
  </div>
50
50
  }
@@ -0,0 +1,53 @@
1
+ .entity_bar_item {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: flex-start;
5
+ align-items: flex-start;
6
+ gap: 24px;
7
+ padding: 24px;
8
+ box-shadow: 0 2px 10px 4px #00000040;
9
+ width: 100%;
10
+ max-width: 358px;
11
+ }
12
+
13
+ .entity_bar_image_container {
14
+ width: 100%;
15
+ }
16
+
17
+ .entity_bar_details_container {
18
+ text-align: start;
19
+ }
20
+
21
+ .entity_bar_image_title {
22
+ color: #001664;
23
+ font-size: 32px;
24
+ font-weight: 700;
25
+ line-height: 32px;
26
+ margin-bottom: 16px;
27
+ text-align: start;
28
+ }
29
+
30
+ .entity_bar_image_description {
31
+
32
+ color: #001664;
33
+ font-size: 16px;
34
+ font-weight: 400;
35
+ line-height: 24px;
36
+ text-align: justify;
37
+ }
38
+
39
+ @media only screen and (min-width: 992px) {
40
+ .entity_bar_item {
41
+ display: flex;
42
+ flex-direction: row;
43
+ justify-content: flex-start;
44
+ align-items: flex-start;
45
+ gap: 48px;
46
+ width: 100%;
47
+ max-width: 1170px;
48
+ }
49
+
50
+ .entity_bar_details_container {
51
+ padding: 24px 0;
52
+ }
53
+ }
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ import { Component } from 'react';
4
+
5
+ import Styles from './NSEntityBar.module.css'
6
+
7
+ export interface NSEntityBarProps
8
+ {
9
+ title: string;
10
+ description: string;
11
+ image: {
12
+ src: string;
13
+ alt: string;
14
+ },
15
+ }
16
+
17
+ export class NSEntityBar extends Component<NSEntityBarProps> {
18
+ override render()
19
+ {
20
+ return (
21
+ <article className={Styles.entity_bar_item}>
22
+ <figure className={Styles.entity_bar_image_container}>
23
+ <img src={this.props.image.src} alt={this.props.image.alt} width={310} height={240} />
24
+ </figure>
25
+ <div className={Styles.entity_bar_details_container}>
26
+ <h3 className={Styles.entity_bar_image_title}> {this.props.title} </h3>
27
+ <p className={Styles.entity_bar_image_description} > {this.props.description} </p>
28
+ </div>
29
+ </article>
30
+ );
31
+ }
32
+ }
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { Component } from 'react';
2
3
 
3
4
  import { ReactNode } from 'react';
4
5
  import { NSLayout } from './NSLayout';
@@ -12,15 +13,17 @@ interface IProps
12
13
  children: ReactNode;
13
14
  }
14
15
 
15
- export function NSLayoutTitle(props: IProps)
16
- {
17
- return (
18
- <NSLayout scope={props.scope} logo={props.logo} >
19
- <div>
20
- <h1 className='text-black text-center'>{props.title}</h1>
21
- <p className='text-black page-description'>{props.description}</p>
22
- </div>
23
- {props.children}
24
- </NSLayout>
25
- );
16
+ export class NSLayoutTitle extends Component<IProps> {
17
+ override render()
18
+ {
19
+ return (
20
+ <NSLayout scope={this.props.scope} logo={this.props.logo} >
21
+ <div>
22
+ <h1 className='text-black text-center'>{this.props.title}</h1>
23
+ <p className='text-black page-description'>{this.props.description}</p>
24
+ </div>
25
+ {this.props.children}
26
+ </NSLayout>
27
+ );
28
+ }
26
29
  }
@@ -0,0 +1,24 @@
1
+ .ns_link_parent {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ width: 100%;
7
+ gap: 24px;
8
+ }
9
+
10
+ .ns_link_parent a {
11
+ text-decoration: none;
12
+ background-color: #366EFF;
13
+ color: #fff;
14
+ font-size: 16px;
15
+ font-weight: 400;
16
+ height: 48px;
17
+ display: flex;
18
+ justify-content: center;
19
+ align-items: center;
20
+ max-width: 358px;
21
+ padding: 12px 64px;
22
+ border-radius: 24px;
23
+ width: 256px;
24
+ }
@@ -0,0 +1,45 @@
1
+ "use client";
2
+
3
+ import Styles from "./NSLinkblue.module.css";
4
+ import React from "react";
5
+
6
+ interface IProps
7
+ {
8
+ title: string;
9
+ href: string;
10
+ style?: React.CSSProperties;
11
+ }
12
+
13
+ interface IState
14
+ {
15
+ title: string;
16
+ href: string;
17
+ }
18
+
19
+ export class NSLinkBlue extends React.Component<IProps, IState>
20
+ {
21
+ constructor(props: IProps)
22
+ {
23
+ super(props);
24
+ this.state = { title: props.title, href: props.href };
25
+ }
26
+ setTitle(title: string)
27
+ {
28
+ this.setState({ title });
29
+ }
30
+ setHRef(href: string)
31
+ {
32
+ this.setState({ href });
33
+ }
34
+ override render()
35
+ {
36
+ return (
37
+
38
+ <div className={Styles.ns_link_parent} style={this.props.style}>
39
+ <a className="text-white text-decoration-none" href={this.state.href}>
40
+ {this.state.title}
41
+ </a>
42
+ </div>
43
+ )
44
+ }
45
+ }
@@ -0,0 +1,38 @@
1
+ 'use client'
2
+
3
+ import React from 'react';
4
+ import { MapContainer, TileLayer, Marker, Popup } from 'react-leaflet';
5
+ import L from 'leaflet';
6
+ import IconLocation from '../assets/images/map_location.png';
7
+ const locationIcon = L.icon({
8
+ iconUrl: IconLocation,
9
+ iconSize: [24, 24],
10
+ iconAnchor: [12, 41],
11
+ popupAnchor: [1, -34],
12
+ });
13
+
14
+
15
+ interface NSMapProps
16
+ {
17
+ location: {
18
+ name: string;
19
+ latitude: number;
20
+ longitude: number;
21
+ }
22
+ }
23
+
24
+ export class NSMap extends React.Component<NSMapProps> {
25
+ override render()
26
+ {
27
+ return (
28
+ <MapContainer center={[this.props.location.latitude, this.props.location.longitude]} zoom={13} style={{ height: '400px', width: '100%' }}>
29
+ <TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
30
+ <Marker position={[this.props.location.latitude, this.props.location.longitude]} icon={locationIcon}>
31
+ <Popup>
32
+ {this.props.location.name}
33
+ </Popup>
34
+ </Marker>
35
+ </MapContainer>
36
+ );
37
+ }
38
+ }
@@ -0,0 +1,10 @@
1
+ .ns_section {
2
+ background-repeat: no-repeat;
3
+ background-size: cover;
4
+ background-position: center;
5
+ }
6
+
7
+ .ns_section_whitespace {
8
+ padding-bottom: 48px;
9
+ padding-top: 48px;
10
+ }
@@ -0,0 +1,48 @@
1
+ 'use client'
2
+ import { Component, ReactNode } from "react";
3
+ import Styles from './NSSection.module.css'
4
+ import { Background } from "../types/Background";
5
+ interface NSSectionProps
6
+ {
7
+ children: ReactNode;
8
+ background?: Background;
9
+ padding_bottom?: string
10
+ }
11
+
12
+ interface NSSectionState
13
+ {
14
+ background?: Background;
15
+ }
16
+
17
+ class NSSection extends Component<NSSectionProps, NSSectionState> {
18
+ constructor(props: NSSectionProps)
19
+ {
20
+ super(props);
21
+ this.state = {
22
+ background: {
23
+ image: `url(${props.background?.image})`,
24
+ color: props.background?.color,
25
+ position: props.background?.position
26
+ }
27
+ }
28
+ }
29
+ override render()
30
+ {
31
+ return (
32
+ <section style=
33
+ {{
34
+ backgroundImage: this.state.background?.image,
35
+ backgroundColor: this.state.background?.color,
36
+ backgroundPosition : this.state.background?.position
37
+ }}
38
+ className={Styles.ns_section} >
39
+ <div style={{ paddingBottom: this.props.padding_bottom }}
40
+ className={`${Styles.ns_section_whitespace}`}>
41
+ {this.props.children}
42
+ </div>
43
+ </section>
44
+ );
45
+ }
46
+ }
47
+
48
+ export default NSSection;
@@ -0,0 +1,11 @@
1
+ .ns_entity_bar_container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ margin-left: auto;
7
+ margin-right: auto;
8
+ padding-left: 1rem;
9
+ padding-right: 1rem;
10
+ gap: 24px;
11
+ }
@@ -0,0 +1,35 @@
1
+ "use client";
2
+
3
+ import { Component } from 'react';
4
+
5
+ import Styles from './NSSectionBars.module.css';
6
+
7
+ import { NSEntityBar, NSEntityBarProps } from './NSEntityBar';
8
+ import NSSection from './NSSection';
9
+ import { Background } from '../types/Background';
10
+ // import { NSLinkBlue } from './NSLinkBlue';
11
+
12
+ interface NSSectionBarsProps
13
+ {
14
+ background?: Background;
15
+ bars: NSEntityBarProps[]
16
+ }
17
+
18
+ class NSSectionBars extends Component<NSSectionBarsProps> {
19
+ override render()
20
+ {
21
+ return (
22
+ <>
23
+ <NSSection background={this.props.background} >
24
+ <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_entity_bar_container}`}>
25
+ {
26
+ this.props.bars?.map((bar) => <NSEntityBar {...bar} />)
27
+ }
28
+ </div>
29
+ </NSSection>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default NSSectionBars;
@@ -0,0 +1,38 @@
1
+ .ns_section_cards_holder {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ margin-left: auto;
7
+ margin-right: auto;
8
+ padding-left: 1rem;
9
+ padding-right: 1rem;
10
+ }
11
+
12
+ .ns_section_cards_title_container {
13
+ margin-bottom: 32px;
14
+ }
15
+
16
+ .ns_card_container {
17
+ display: flex;
18
+ flex-direction: row;
19
+ flex-wrap: wrap;
20
+ justify-content: center;
21
+ gap: 48px;
22
+ width: 100%;
23
+ }
24
+
25
+ .ns_section_cards_link_container {
26
+ margin-top: 48px;
27
+ width: 100%;
28
+ text-align: center;
29
+ }
30
+
31
+ .description {
32
+ font-style: normal;
33
+ font-weight: initial;
34
+ font-size: 16px;
35
+ font-family: initial;
36
+ line-height: initial;
37
+ margin-bottom: 16px;
38
+ }