namirasoft-site-react 1.2.48 → 1.2.50
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/App.js +2 -3
- package/dist/App.js.map +1 -1
- package/dist/components/NSBoxPosition.d.ts +20 -0
- package/dist/components/NSBoxPosition.js +14 -0
- package/dist/components/NSBoxPosition.js.map +1 -0
- package/dist/components/NSBoxPosition.module.css +81 -0
- package/dist/components/NSBoxSection.d.ts +2 -0
- package/dist/components/NSBoxSection.js +11 -3
- package/dist/components/NSBoxSection.js.map +1 -1
- package/package.json +3 -3
- package/src/App.tsx +6 -4
- package/src/components/NSBoxPosition.module.css +81 -0
- package/src/components/NSBoxPosition.tsx +56 -0
- package/src/components/NSBoxSection.tsx +36 -7
package/dist/App.js
CHANGED
|
@@ -2,9 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import './App.css';
|
|
3
3
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
4
4
|
import { NSButtonRed } from './components/NSButtonRed';
|
|
5
|
-
import { NSLayout, NSPagination } from './main';
|
|
6
|
-
import { NSBoxSection } from './components/NSBoxSection';
|
|
5
|
+
import { NSBoxSection, NSLayout, NSPagination } from './main';
|
|
7
6
|
export function App() {
|
|
8
|
-
return (_jsx("div", Object.assign({ className: "App" }, { children: _jsxs(NSLayout, Object.assign({ scope: 'Namirasoft SOP console', logo: '' }, { children: [_jsxs("div", Object.assign({ className: 'my-4 container' }, { children: [_jsx(
|
|
7
|
+
return (_jsx("div", Object.assign({ className: "App" }, { children: _jsxs(NSLayout, Object.assign({ scope: 'Namirasoft SOP console', logo: '' }, { children: [_jsxs("div", Object.assign({ className: 'my-4 container' }, { children: [_jsx(NSButtonRed, { title: 'Delete', onClick: () => { } }), _jsx(NSPagination, { page: 1, size: 25 })] })), _jsx(NSBoxSection, { detail: 'detail', image: '', description: 'desc' })] })) })));
|
|
9
8
|
}
|
|
10
9
|
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,sCAAsC,CAAC;AAc9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,sCAAsC,CAAC;AAc9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI9D,MAAM,UAAU,GAAG;IAyBf,OAAO,CACH,4BAAK,SAAS,EAAC,KAAK,gBAChB,MAAC,QAAQ,kBAAC,KAAK,EAAC,wBAAwB,EAAC,IAAI,EAAC,EAAE,iBAC5C,6BAAK,SAAS,EAAC,gBAAgB,iBAgB3B,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAI,EAClD,KAAC,YAAY,IAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,GAAI,KACjC,EAEN,KAAC,YAAY,IAAC,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAE,EAAC,WAAW,EAAC,MAAM,GAAG,KACrD,IACT,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface IProps {
|
|
3
|
+
image: string;
|
|
4
|
+
title: string;
|
|
5
|
+
list: string;
|
|
6
|
+
percent: string | number;
|
|
7
|
+
information: string | number;
|
|
8
|
+
}
|
|
9
|
+
interface IState {
|
|
10
|
+
image: string;
|
|
11
|
+
title: string;
|
|
12
|
+
list: string;
|
|
13
|
+
percent: string | number;
|
|
14
|
+
information: string | number;
|
|
15
|
+
}
|
|
16
|
+
export declare class NSBoxPosition extends React.Component<IProps, IState> {
|
|
17
|
+
constructor(props: IProps);
|
|
18
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Style from "./NSBoxPosition.module.css";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export class NSBoxPosition extends React.Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.state = { title: props.title, image: props.image, list: props.list, percent: props.percent, information: props.information };
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
return (_jsx("div", Object.assign({ className: Style.position_box_contain }, { children: _jsxs("div", Object.assign({ className: Style.position_box_layout }, { children: [_jsx("img", { className: "rounded", src: this.state.image, alt: "wordpress", width: 326, height: 220 }), _jsxs("div", Object.assign({ className: Style.position_box_information }, { children: [_jsx("h3", { children: this.state.title }), _jsx("h4", { children: "Skills :" }), _jsx("ul", { children: _jsxs("li", { children: [this.state.list, _jsx("span", { children: this.props.percent })] }) }), _jsx("h4", { children: "Or" }), _jsx("ul", { children: _jsxs("li", { children: [this.state.list, _jsx("span", { children: this.props.percent })] }) }), _jsx("h3", { children: "Responsibility :" }), _jsx("p", { children: this.state.information })] }))] })) })));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NSBoxPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NSBoxPosition.js","sourceRoot":"","sources":["../../src/components/NSBoxPosition.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAyB;IAG9D,YAAY,KAAa;QAErB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACtI,CAAC;IAEQ,MAAM;QAEX,OAAO,CACH,4BAAK,SAAS,EAAE,KAAK,CAAC,oBAAoB,gBACtC,6BAAK,SAAS,EAAE,KAAK,CAAC,mBAAmB,iBACrC,cAAK,SAAS,EAAC,SAAS,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAC,WAAW,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAQ,EAC/F,6BAAK,SAAS,EAAE,KAAK,CAAC,wBAAwB,iBAC1C,uBAAK,IAAI,CAAC,KAAK,CAAC,KAAK,GAAM,EAC3B,oCAAiB,EACjB,uBACI,yBAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,yBAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAQ,IAAK,GAC1D,EACL,8BAAW,EACX,uBACI,yBAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,yBAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAQ,IAAK,GAC1D,EACL,4CAAyB,EACzB,sBAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAK,KAC7B,KACJ,IACJ,CACT,CAAA;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
.position_box_contain {
|
|
2
|
+
width: 100%;
|
|
3
|
+
padding: 0 16px;
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.position_box_layout {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
align-items: center;
|
|
14
|
+
background-color: rgba(20, 27, 92, 0.3);
|
|
15
|
+
width: 358px;
|
|
16
|
+
height: auto;
|
|
17
|
+
border-radius: 8px;
|
|
18
|
+
text-align: center;
|
|
19
|
+
gap: 16px;
|
|
20
|
+
margin: 12px 0;
|
|
21
|
+
padding: 16px 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.position_box_information {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
justify-content: left;
|
|
28
|
+
align-items: start;
|
|
29
|
+
text-align: left;
|
|
30
|
+
padding: 0 16px;
|
|
31
|
+
color: rgba(20, 27, 92, 1);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.position_box_information h3 {
|
|
35
|
+
font-size: 24px;
|
|
36
|
+
font-weight: 700;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.position_box_information h4 {
|
|
40
|
+
font-size: 16px;
|
|
41
|
+
font-weight: bold;
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.position_box_information ul {
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.position_box_information li {
|
|
50
|
+
text-decoration: underline;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.position_box_information span {
|
|
54
|
+
float: right;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@media only screen and (min-width:768px) {
|
|
58
|
+
.position_box_layout {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: row;
|
|
61
|
+
justify-content: left;
|
|
62
|
+
width: 100%;
|
|
63
|
+
height: auto;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.position_box_contain {
|
|
67
|
+
padding: 0 48px;
|
|
68
|
+
display: flex;
|
|
69
|
+
justify-content: left;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.position_box_layout img {
|
|
73
|
+
width: 408px;
|
|
74
|
+
height: 276px;
|
|
75
|
+
padding: 0 16px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.position_box_information {
|
|
79
|
+
line-height: 16px;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -8,11 +8,13 @@ interface IState {
|
|
|
8
8
|
detail: string;
|
|
9
9
|
image: string;
|
|
10
10
|
description: string;
|
|
11
|
+
toggle: boolean;
|
|
11
12
|
}
|
|
12
13
|
export declare class NSBoxSection extends React.Component<IProps, IState> {
|
|
13
14
|
constructor(props: IProps);
|
|
14
15
|
setTitle(description: string): void;
|
|
15
16
|
setHRef(detail: string): void;
|
|
17
|
+
setToggle(toggle: boolean): void;
|
|
16
18
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
17
19
|
}
|
|
18
20
|
export {};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import Style from "./NSBoxSection.module.css";
|
|
4
3
|
import React from "react";
|
|
5
4
|
export class NSBoxSection extends React.Component {
|
|
6
5
|
constructor(props) {
|
|
7
6
|
super(props);
|
|
8
|
-
this.state = { detail: props.detail, image: props.image, description: props.description };
|
|
7
|
+
this.state = { detail: props.detail, image: props.image, description: props.description, toggle: true };
|
|
9
8
|
}
|
|
10
9
|
setTitle(description) {
|
|
11
10
|
this.setState({ description });
|
|
@@ -13,8 +12,17 @@ export class NSBoxSection extends React.Component {
|
|
|
13
12
|
setHRef(detail) {
|
|
14
13
|
this.setState({ detail });
|
|
15
14
|
}
|
|
15
|
+
setToggle(toggle) {
|
|
16
|
+
this.setState({ toggle });
|
|
17
|
+
}
|
|
16
18
|
render() {
|
|
17
|
-
return (
|
|
19
|
+
return (_jsx("div", Object.assign({ className: 'position-contain' }, { children: _jsxs("div", Object.assign({ className: "position-layout" }, { children: [_jsx("img", { className: "rounded", src: this.state.image, alt: "wordpress", width: 326, height: 220 }), _jsxs("div", Object.assign({ className: 'position-information' }, { children: [_jsx("h3", Object.assign({ className: 'position-title', style: { display: this.state.toggle ? 'block' : 'none' } }, { children: "WordPress" })), _jsx("a", Object.assign({ href: "", onClick: (e) => {
|
|
20
|
+
this.setState({ toggle: !this.state.toggle });
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
} }, { children: _jsxs("h4", Object.assign({ className: 'position-readmore', style: { display: this.state.toggle ? 'block' : 'none' } }, { children: ["Read More", _jsx("img", { className: "mx-2", src: '/assets/images/position-down-vector.png', alt: "show-more", width: 16, height: 16 })] })) })), _jsxs("ul", Object.assign({ className: 'position-list', style: { display: this.state.toggle ? 'none' : 'block' } }, { children: [_jsx("li", { children: "Frontend Programming" }), _jsx("li", { children: "Backend Programming" })] })), _jsx("a", Object.assign({ href: "", onClick: (e) => {
|
|
23
|
+
this.setState({ toggle: !this.state.toggle });
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
} }, { children: _jsxs("h4", Object.assign({ style: { display: this.state.toggle ? 'none' : 'block' } }, { children: ["Read Less", _jsx("img", { className: "mx-2", src: '/assets/images/position-down-vector.png', alt: "show-more", style: { transform: "rotate(180deg" }, width: 16, height: 16 })] })) }))] }))] })) })));
|
|
18
26
|
}
|
|
19
27
|
}
|
|
20
28
|
//# sourceMappingURL=NSBoxSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSBoxSection.js","sourceRoot":"","sources":["../../src/components/NSBoxSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"NSBoxSection.js","sourceRoot":"","sources":["../../src/components/NSBoxSection.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "namirasoft-site-react",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.50",
|
|
4
4
|
"main": "./dist/main.js",
|
|
5
5
|
"types": "./dist/main.d.ts",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@types/node": "^20.11.24",
|
|
8
|
-
"@types/react": "^18.2.
|
|
8
|
+
"@types/react": "^18.2.62",
|
|
9
9
|
"@types/react-dom": "^18.2.19",
|
|
10
10
|
"antd": "^5.15.0",
|
|
11
11
|
"bootstrap": "^5.3.3",
|
|
12
12
|
"link-react": "^3.0.0",
|
|
13
13
|
"namirasoft-api-link": "^1.2.3",
|
|
14
|
-
"namirasoft-core": "^1.2.
|
|
14
|
+
"namirasoft-core": "^1.2.13",
|
|
15
15
|
"path-browserify": "^1.0.1",
|
|
16
16
|
"react": "^18.2.0",
|
|
17
17
|
"react-app-rewired": "^2.2.1",
|
package/src/App.tsx
CHANGED
|
@@ -16,8 +16,9 @@ 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 { NSLayout, NSPagination } from './main';
|
|
20
|
-
import {
|
|
19
|
+
import { NSBoxSection, NSLayout, NSPagination } from './main';
|
|
20
|
+
// import { NSBoxPosition } from './components/NSBoxPosition';
|
|
21
|
+
// import { NSBoxSection } from './components/NSBoxSection';
|
|
21
22
|
|
|
22
23
|
export function App()
|
|
23
24
|
{
|
|
@@ -48,7 +49,7 @@ export function App()
|
|
|
48
49
|
<div className="App">
|
|
49
50
|
<NSLayout scope='Namirasoft SOP console' logo=''>
|
|
50
51
|
<div className='my-4 container'>
|
|
51
|
-
<NSBoxSection image='src/assets/images/position-down-vector.png' description="" detail='#' />
|
|
52
|
+
{/* <NSBoxSection image='src/assets/images/position-down-vector.png' description="" detail='#' /> */}
|
|
52
53
|
{/* <NSInputText title='Text' />
|
|
53
54
|
<NSInputInteger title='Integer' />
|
|
54
55
|
<NSInputFloat title='Floating Point' />
|
|
@@ -66,7 +67,8 @@ export function App()
|
|
|
66
67
|
<NSButtonRed title='Delete' onClick={() => { }} />
|
|
67
68
|
<NSPagination page={1} size={25} />
|
|
68
69
|
</div>
|
|
69
|
-
|
|
70
|
+
{/* <NSBoxPosition image='' title='' list='' percent='' information='' /> */}
|
|
71
|
+
<NSBoxSection detail='detail' image='' description='desc' />
|
|
70
72
|
</NSLayout>
|
|
71
73
|
</div>
|
|
72
74
|
);
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
.position_box_contain {
|
|
2
|
+
width: 100%;
|
|
3
|
+
padding: 0 16px;
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.position_box_layout {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
align-items: center;
|
|
14
|
+
background-color: rgba(20, 27, 92, 0.3);
|
|
15
|
+
width: 358px;
|
|
16
|
+
height: auto;
|
|
17
|
+
border-radius: 8px;
|
|
18
|
+
text-align: center;
|
|
19
|
+
gap: 16px;
|
|
20
|
+
margin: 12px 0;
|
|
21
|
+
padding: 16px 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.position_box_information {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
justify-content: left;
|
|
28
|
+
align-items: start;
|
|
29
|
+
text-align: left;
|
|
30
|
+
padding: 0 16px;
|
|
31
|
+
color: rgba(20, 27, 92, 1);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.position_box_information h3 {
|
|
35
|
+
font-size: 24px;
|
|
36
|
+
font-weight: 700;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.position_box_information h4 {
|
|
40
|
+
font-size: 16px;
|
|
41
|
+
font-weight: bold;
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.position_box_information ul {
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.position_box_information li {
|
|
50
|
+
text-decoration: underline;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.position_box_information span {
|
|
54
|
+
float: right;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@media only screen and (min-width:768px) {
|
|
58
|
+
.position_box_layout {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: row;
|
|
61
|
+
justify-content: left;
|
|
62
|
+
width: 100%;
|
|
63
|
+
height: auto;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.position_box_contain {
|
|
67
|
+
padding: 0 48px;
|
|
68
|
+
display: flex;
|
|
69
|
+
justify-content: left;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.position_box_layout img {
|
|
73
|
+
width: 408px;
|
|
74
|
+
height: 276px;
|
|
75
|
+
padding: 0 16px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.position_box_information {
|
|
79
|
+
line-height: 16px;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Style from "./NSBoxPosition.module.css";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
interface IProps
|
|
6
|
+
{
|
|
7
|
+
image: string;
|
|
8
|
+
title: string;
|
|
9
|
+
list: string;
|
|
10
|
+
percent: string | number;
|
|
11
|
+
information: string | number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface IState
|
|
15
|
+
{
|
|
16
|
+
image: string;
|
|
17
|
+
title: string;
|
|
18
|
+
list: string;
|
|
19
|
+
percent: string | number;
|
|
20
|
+
information: string | number;
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class NSBoxPosition extends React.Component<IProps, IState>
|
|
25
|
+
{
|
|
26
|
+
|
|
27
|
+
constructor(props: IProps)
|
|
28
|
+
{
|
|
29
|
+
super(props);
|
|
30
|
+
this.state = { title: props.title, image: props.image, list: props.list, percent: props.percent, information: props.information };
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
override render()
|
|
34
|
+
{
|
|
35
|
+
return (
|
|
36
|
+
<div className={Style.position_box_contain}>
|
|
37
|
+
<div className={Style.position_box_layout}>
|
|
38
|
+
<img className="rounded" src={this.state.image} alt="wordpress" width={326} height={220}></img>
|
|
39
|
+
<div className={Style.position_box_information}>
|
|
40
|
+
<h3>{this.state.title}</h3>
|
|
41
|
+
<h4>Skills :</h4>
|
|
42
|
+
<ul>
|
|
43
|
+
<li>{this.state.list}<span>{this.props.percent}</span></li>
|
|
44
|
+
</ul>
|
|
45
|
+
<h4>Or</h4>
|
|
46
|
+
<ul>
|
|
47
|
+
<li>{this.state.list}<span>{this.props.percent}</span></li>
|
|
48
|
+
</ul>
|
|
49
|
+
<h3>Responsibility :</h3>
|
|
50
|
+
<p>{this.state.information}</p>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
// import { a href="" } from "react-router-dom";
|
|
3
|
+
// import Style from "./NSBoxSection.module.css";
|
|
3
4
|
import React from "react";
|
|
4
5
|
|
|
5
6
|
interface IProps
|
|
@@ -14,14 +15,16 @@ interface IState
|
|
|
14
15
|
detail: string;
|
|
15
16
|
image: string;
|
|
16
17
|
description: string;
|
|
18
|
+
toggle: boolean;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
export class NSBoxSection extends React.Component<IProps, IState>
|
|
20
22
|
{
|
|
23
|
+
|
|
21
24
|
constructor(props: IProps)
|
|
22
25
|
{
|
|
23
26
|
super(props);
|
|
24
|
-
this.state = { detail: props.detail, image: props.image, description: props.description };
|
|
27
|
+
this.state = { detail: props.detail, image: props.image, description: props.description, toggle: true };
|
|
25
28
|
}
|
|
26
29
|
setTitle(description: string)
|
|
27
30
|
{
|
|
@@ -31,14 +34,40 @@ export class NSBoxSection extends React.Component<IProps, IState>
|
|
|
31
34
|
{
|
|
32
35
|
this.setState({ detail });
|
|
33
36
|
}
|
|
37
|
+
setToggle(toggle: boolean)
|
|
38
|
+
{
|
|
39
|
+
this.setState({ toggle });
|
|
40
|
+
}
|
|
41
|
+
|
|
34
42
|
override render()
|
|
35
43
|
{
|
|
36
44
|
return (
|
|
37
|
-
<div className=
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
<div className='position-contain'>
|
|
46
|
+
<div className="position-layout">
|
|
47
|
+
<img className="rounded" src={this.state.image} alt="wordpress" width={326} height={220}></img>
|
|
48
|
+
<div className='position-information'>
|
|
49
|
+
<h3 className='position-title' style={{ display: this.state.toggle ? 'block' : 'none' }}>WordPress</h3>
|
|
50
|
+
<a href="" onClick={(e) =>
|
|
51
|
+
{
|
|
52
|
+
this.setState({ toggle: !this.state.toggle })
|
|
53
|
+
e.preventDefault()
|
|
54
|
+
}}>
|
|
55
|
+
<h4 className='position-readmore' style={{ display: this.state.toggle ? 'block' : 'none' }} >Read More<img className="mx-2" src='/assets/images/position-down-vector.png' alt="show-more" width={16} height={16}></img></h4>
|
|
56
|
+
</a>
|
|
57
|
+
<ul className='position-list' style={{ display: this.state.toggle ? 'none' : 'block' }}>
|
|
58
|
+
<li>Frontend Programming</li>
|
|
59
|
+
<li>Backend Programming</li>
|
|
60
|
+
</ul>
|
|
61
|
+
<a href="" onClick={(e) =>
|
|
62
|
+
{
|
|
63
|
+
this.setState({ toggle: !this.state.toggle })
|
|
64
|
+
e.preventDefault()
|
|
65
|
+
}}>
|
|
66
|
+
<h4 style={{ display: this.state.toggle ? 'none' : 'block' }} >Read Less<img className="mx-2" src='/assets/images/position-down-vector.png' alt="show-more" style={{ transform: "rotate(180deg" }} width={16} height={16}></img></h4>
|
|
67
|
+
</a>
|
|
68
|
+
</div>
|
|
69
|
+
</div >
|
|
70
|
+
</div>
|
|
42
71
|
)
|
|
43
72
|
}
|
|
44
73
|
}
|