Skip to content

Commit

Permalink
Solution
Browse files Browse the repository at this point in the history
  • Loading branch information
Oleh0293 committed Aug 21, 2023
1 parent f3b767d commit 7c11a17
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 36 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ and use it 3 times inside the `App` instead of static markup.
- keep the same classNames in `Person.jsx` as in `App.jsx` (`Person`, `Person__name`, `Person__age`, `Person__partner`).

## Instructions
- Implement a solution following the [React task guideline](https://github.com/mate-academy/react_task-guideline#react-tasks-guideline).
- Implement a solution following the [React task guideline](https://github.com/mate-academy/react_ttestask-guideline#react-tasks-guideline).
- Open one more terminal and run tests with `npm test` to ensure your solution is correct.
- Replace `<your_account>` with your Github username in the [DEMO LINK](https://<your_account>.github.io/react_person/) and add it to the PR description.
- Replace `<your_account>` with your Github username in the [DEMO LINK](https://Oleh0293.github.io/react_person/) and add it to the PR description.
20 changes: 4 additions & 16 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 @@ -25,21 +26,8 @@ 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>
<Person person={misha} />
<Person person={olya} />
<Person person={alex} />
</div>
);
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;
}
}
26 changes: 25 additions & 1 deletion src/components/Person/Person.jsx
Original file line number Diff line number Diff line change
@@ -1 +1,25 @@
// export const Person = ({ person }) => ();
import './Person.scss';

export const Person = ({ person }) => {
const { name,
age,
sex,
isMarried,
partnerName } = person;
const partnerDesignation = sex === 'm'
? 'wife'
: 'husband';

return (
<section className="Person">
<h2 className="Person__name">{`My name is ${name}`}</h2>
{person.age && (<p className="Person__age">{`I am ${age}`}</p>)}
<p className="Person__partner">
{ isMarried
? `${partnerName} is my ${partnerDesignation}`
: 'I am not married'
}
</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 7c11a17

Please sign in to comment.