Стилизовали компонент Header, добавили обработчик событий onChange

This commit is contained in:
isHardCoded
2025-06-16 13:32:07 +03:00
parent 2ba1a63832
commit a84b1972e7
7 changed files with 531 additions and 74 deletions
+15 -2
View File
@@ -1,10 +1,23 @@
import styles from './App.module.css'
import styles from './App.module.scss'
import SneakersImage from './assets/images/sneakers-image.jpg'
import { FaRegUser } from 'react-icons/fa'
function Header() {
const handleChange = event => {
const newValue = event.target.value
console.log('Новое значение:', newValue)
}
return (
<header className={styles.header}>
<h2>Logo</h2>
<div>
<h2>Store</h2>
<input type='text ' placeholder='Search...' onChange={handleChange} />
</div>
<div>
<FaRegUser size={24} color='#3258e3' />
<button>Profile</button>
</div>
</header>
)
}
-68
View File
@@ -1,68 +0,0 @@
.header {
display: flex;
}
.container {
max-width: 1220px;
margin: 0 auto;
}
.list {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
border-radius: 10px;
margin-top: 100px; /* временно */
padding: 20px;
background-color: white;
list-style: none;
}
.product {
display: flex;
flex-direction: column;
width: 350px;
gap: 20px;
border-radius: 10px;
}
.content {
display: flex;
flex-direction: column;
gap: 10px;
}
.title {
display: flex;
justify-content: space-between;
align-items: center;
h4 {
font-size: 18px;
}
button {
background-color: black;
color: white;
border: 0;
border-radius: 100%;
outline: 0;
font-size: 20px;
padding: 5px 10px;
cursor: pointer;
}
}
img {
border-radius: 10px;
}
.description {
color: gray;
}
.price {
font-weight: bold;
}
+129
View File
@@ -0,0 +1,129 @@
@use './assets/styles/variables' as *;
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background-color: white;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
div {
&:first-child {
display: flex;
align-items: center;
gap: 20px;
h2 {
color: $primary-color;
}
input {
border-radius: 5px;
outline: none;
font-size: 16px;
border: 1px solid gainsboro;
padding: 5px 10px;
&:focus {
border: 1px solid $primary-color;
}
}
}
&:last-child {
display: flex;
align-items: center;
gap: 10px;
button {
outline: 0;
border: 0;
border-radius: 5px;
padding: 5px 15px;
font-size: 16px;
background-color: $primary-color;
color: $white-color;
font-weight: 600;
cursor: pointer;
&:hover {
background-color: $seconday-color;
}
}
}
}
}
.container {
max-width: 1220px;
margin: 0 auto;
}
.list {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
border-radius: 10px;
margin-top: 100px; /* временно */
padding: 20px;
background-color: white;
list-style: none;
}
.product {
display: flex;
flex-direction: column;
width: 350px;
gap: 20px;
border-radius: 10px;
}
.content {
display: flex;
flex-direction: column;
gap: 10px;
}
.title {
display: flex;
justify-content: space-between;
align-items: center;
h4 {
font-size: 18px;
}
button {
border: 1px solid $primary-color;
background-color: $white-color;
color: $primary-color;
border-radius: 100%;
outline: 0;
font-size: 20px;
padding: 5px 10px;
cursor: pointer;
&:hover {
background-color: $seconday-color;
color: $white-color;
}
}
}
img {
border-radius: 10px;
}
.description {
color: gray;
}
.price {
font-weight: bold;
}
+5
View File
@@ -0,0 +1,5 @@
$white-color: white;
$black-color: black;
$primary-color: #3258e3;
$seconday-color: #4432e3;