-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Decompose app into components #4483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,33 @@ | ||
| /* Put article styles here */ | ||
| .article { | ||
| max-width: 800px; | ||
| margin: 5em auto 0; | ||
| padding: 1em; | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| font-size: 140%; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The task description requires that navigation be moved into a separate |
||
|
|
||
| background: white; | ||
| box-shadow: rgba(0, 0, 0, 0.05) 0 3px 15px; | ||
| } | ||
|
|
||
| .article__paragraph { | ||
| margin: 0; | ||
| color: #333; | ||
| } | ||
|
|
||
| .article__paragraph:not(:first-child) { | ||
| margin-top: 0.7em; | ||
| } | ||
|
|
||
| @media (min-width: 500px) { | ||
| .article { | ||
| margin: 3.5em auto 0; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Navigation-related styles (e.g., |
||
| padding: 2em; | ||
| } | ||
| } | ||
|
|
||
| @media (min-width: 800px) { | ||
| .article { | ||
| margin: 3.5em auto; | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,66 @@ | ||
| // import a css file containig article styles | ||
| import './Article.css'; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
|
|
||
| // Create an Article function returning the HTML of article block | ||
| function Article() { | ||
| return ( | ||
| <article className="article"> | ||
| <h2 className="article__title">Headline</h2> | ||
| <p className="article__paragraph"> | ||
| In elementum lorem eget est euismod ornare. Phasellus sit amet | ||
| pellentesque mauris. Aliquam quis malesuada ex. Nullam eu aliquam nibh. | ||
| Mauris molestie, urna accumsan ornare semper, augue nibh posuere lorem, | ||
| vitae feugiat sem magna eget massa. Vivamus quis tincidunt dolor. Fusce | ||
| efficitur, orci non vestibulum consequat, lectus turpis bibendum odio, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The task description requires moving the navigation section into its own |
||
| in efficitur leo felis sed justo. Fusce commodo iaculis orci, quis | ||
| imperdiet urna. Sed mollis facilisis lacus non condimentum. Nunc | ||
| efficitur massa non neque elementum semper. Vestibulum lorem arcu, | ||
| tincidunt in quam et, feugiat venenatis augue. Donec sed tincidunt | ||
| tellus, a facilisis magna. Proin sit amet viverra nibh, bibendum gravida | ||
| felis. Vivamus ut nunc id mauris posuere pellentesque. Praesent | ||
| tincidunt id odio id feugiat. | ||
| </p> | ||
| <p className="article__paragraph"> | ||
| In ac nisi lacus. Fusce est dolor, tincidunt ut bibendum vitae, | ||
| fermentum ac quam. Aliquam pretium tristique nibh quis iaculis. In et | ||
| cursus ex, eu aliquet ex. Proin facilisis lacus sit amet sapien | ||
| ultrices, ut vehicula arcu lobortis. Vivamus mollis ipsum ut hendrerit | ||
| molestie. Morbi lacinia, sapien eu dictum dignissim, tellus tortor | ||
| congue magna, sit amet bibendum libero nisi id massa. | ||
| </p> | ||
| <p className="article__paragraph"> | ||
| Donec arcu elit, euismod vel lobortis eu, fringilla sit amet dolor. Cras | ||
| congue, massa nec sagittis mollis, dui felis ultrices magna, tincidunt | ||
| finibus lorem quam in sem. Morbi odio turpis, pulvinar sit amet | ||
| vulputate quis, ultricies eu libero. Donec ac maximus neque, nec maximus | ||
| nibh. Morbi rhoncus convallis urna, accumsan porta lorem hendrerit in. | ||
| Cras eget nisl dui. Morbi faucibus nisi eget ipsum semper vulputate. | ||
| Mauris nec tincidunt lectus. Aenean ac mi consequat velit dignissim | ||
| consectetur. Fusce placerat ac ipsum ac eleifend. Aenean quis faucibus | ||
| ex. | ||
| </p> | ||
| <p className="article__paragraph"> | ||
| Cras egestas tempor nibh, a fermentum lorem sollicitudin non. Nulla | ||
| facilisi. In at elit id leo tristique condimentum. Donec at est nulla. | ||
| Mauris egestas magna ut laoreet pretium. Sed ultrices suscipit | ||
| vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. | ||
| Fusce id sapien eros. Vivamus viverra ultricies gravida. Nam urna nibh, | ||
| blandit a vulputate at, vehicula non nulla. Aenean ut nulla leo. | ||
| Praesent in ullamcorper est. | ||
| </p> | ||
| <p className="article__paragraph"> | ||
| Pellentesque habitant morbi tristique senectus et netus et malesuada | ||
| fames ac turpis egestas. Phasellus bibendum nec arcu eu lobortis. Nam | ||
| convallis faucibus ante sed porta. Nullam ut convallis elit, quis | ||
| venenatis nunc. Curabitur sed sem eget velit condimentum rutrum in et | ||
| orci. Nunc non suscipit eros. Suspendisse porta sem vel justo commodo | ||
| dictum. Aliquam erat ligula, fringilla nec suscipit sed, porta vitae | ||
| turpis. Vestibulum rhoncus placerat nulla vitae suscipit. Curabitur | ||
| consectetur ex ut odio tristique vehicula. Ut ligula tortor, tincidunt | ||
| quis sodales vitae, ornare a turpis. Proin sit amet finibus enim. Fusce | ||
| tempus a neque vitae tempor. Aenean rutrum, libero iaculis interdum | ||
| vulputate, dui eros vehicula nisi, at interdum enim lacus eu diam. | ||
| </p> | ||
| </article> | ||
| ); | ||
| } | ||
|
|
||
| // Add a default export statement for Article component to use it in the other files | ||
| export default Article; | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,34 @@ | ||
| /* Put header styles here */ | ||
| .header { | ||
| position: sticky; | ||
| top: 0; | ||
| right: 0; | ||
| left: 0; | ||
|
|
||
| width: 100%; | ||
| padding: 1em; | ||
|
|
||
| font-size: 140%; | ||
| text-align: center; | ||
|
|
||
| transition: opacity 0.2s ease-in-out; | ||
|
|
||
| } | ||
|
|
||
| .header__title { | ||
| display: inline; | ||
|
|
||
| margin: 0; | ||
| padding: 0; | ||
|
|
||
| font-size: inherit; | ||
| font-weight: 600; | ||
| } | ||
|
|
||
| @media (min-width: 500px) { | ||
| .header { | ||
| display: flex; | ||
| justify-content: space-between; | ||
| text-align: left; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,13 @@ | ||
| // import a css file containig header styles | ||
| import Navigation from '../Navigation/Navigation'; | ||
| import './Header.css'; | ||
|
|
||
| // Create a Header function returning the HTML of header block | ||
| function Header() { | ||
| return ( | ||
| <header className="header"> | ||
| <h1 className="header__title">Site Name</h1> | ||
| <Navigation /> | ||
| </header> | ||
| ); | ||
| } | ||
|
|
||
| // Add a default export statement for Header component to use it in the other files | ||
| export default Header; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The navigation-related styles should be colocated with a dedicated |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| .navigation__link { | ||
| display: inline-block; | ||
|
|
||
| padding: 0 0.5em; | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| color: black; | ||
| text-decoration: none; | ||
|
|
||
| opacity: 0.7; | ||
| outline: none; | ||
|
|
||
| transition: opacity 0.2s ease-in-out; | ||
| } | ||
|
|
||
| .navigation__link:hover, | ||
| .navigation__link:focus { | ||
| opacity: 1; | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The task description explicitly states you may create a folder for the Navigation component and move navigation there, but currently navigation markup is still inside
Header. This violates the requirement to move navigation into its ownNavigationcomponent aligned with its CSS block.