Skip to content

Commit

Permalink
component created
Browse files Browse the repository at this point in the history
  • Loading branch information
meljaszuk committed May 17, 2024
1 parent 1f0480e commit 42e35f2
Show file tree
Hide file tree
Showing 6 changed files with 146 additions and 95 deletions.
164 changes: 106 additions & 58 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@mate-academy/eslint-config-react": "latest",
"@mate-academy/scripts": "^1.7.9",
"@mate-academy/scripts": "^1.8.1",
"@mate-academy/stylelint-config": "latest",
"cypress": "^12.17.4",
"eslint": "^7.32.0",
Expand Down
24 changes: 6 additions & 18 deletions src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import './App.scss';
import { Person } from './components/Person/Person';

export const misha = {
name: 'Misha',
Expand All @@ -24,22 +25,9 @@ export const alex = {
};

export const App = () => (
<div className="App">
<section className="Person">
<h2 className="Person__name">My name is Misha</h2>
<p className="Person__age">I am 37</p>
<p className="Person__partner">Natasha is my wife</p>
</section>

<section className="Person">
<h2 className="Person__name">My name is Olya</h2>
<p className="Person__partner">Maksym is my husband</p>
</section>

<section className="Person">
<h2 className="Person__name">My name is Alex</h2>
<p className="Person__age">I am 25</p>
<p className="Person__partner">I am not married</p>
</section>
</div>
<>
<Person person={misha} />
<Person person={olya} />
<Person person={alex} />
</>
);
17 changes: 0 additions & 17 deletions src/App.scss
Original file line number Diff line number Diff line change
@@ -1,20 +1,3 @@
iframe {
display: none;
}

.Person {
width: fit-content;
margin-bottom: 16px;
padding: 8px;
border: 1px solid #000;
border-radius: 8px;

&__name {
margin-top: 8px;
}

&__age {
color: #00f;
font-weight: bold;
}
}
18 changes: 17 additions & 1 deletion src/components/Person/Person.jsx
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
// export const Person = ({ person }) => ();
import './Person.scss';

export const Person = ({ person }) => {
const { name, age, sex, isMarried, partnerName } = person;
const partner = sex === 'm' ? 'wife' : 'husband';
const personPartner = isMarried
? `${partnerName} is my ${partner}`
: `I am not married`;

return (
<section className="Person">
<h2 className="Person__name">My name is {name}</h2>
{age && <p className="Person__age">I am {age}</p>}
<p className="Person__partner">{personPartner}</p>
</section>
);
};
16 changes: 16 additions & 0 deletions src/components/Person/Person.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.Person {
width: fit-content;
margin-bottom: 16px;
padding: 8px;
border: 1px solid #000;
border-radius: 8px;

&__name {
margin-top: 8px;
}

&__age {
color: #00f;
font-weight: bold;
}
}

0 comments on commit 42e35f2

Please sign in to comment.