App.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import { useState } from 'react';
  2. import './App.css';
  3. const LoginForm = () => {
  4. const [login, setLogin] = useState('')
  5. const [password, setPassword] = useState('')
  6. const onLogin = () => {
  7. return !(login !== '' && password !== '')
  8. }
  9. const Vhod = () => alert('Конгратюлатион')
  10. return(
  11. <div className = 'loginForm'>
  12. <strong>Введите ваш логин : </strong>
  13. <input type = 'text'
  14. value = {login}
  15. onChange = { (e) => setLogin(e.target.value)}
  16. />
  17. <strong> Введите ваш пароль : </strong>
  18. <input type = 'password'
  19. value = {password}
  20. onChange = { (e) => setPassword(e.target.value) }
  21. />
  22. <button disabled = {onLogin()} onClick = {Vhod}
  23. >Вход</button>
  24. </div>
  25. )
  26. }
  27. const rootCats =[
  28. {
  29. 'name': 'Tools'
  30. },
  31. {
  32. 'name': 'Tomatoes'
  33. },
  34. {
  35. 'name': 'Smartphone'
  36. },
  37. {
  38. 'name': 'Garden'
  39. },
  40. {
  41. 'name': 'Childrens products'
  42. },
  43. {
  44. 'name': 'Hobbies and sports'
  45. },
  46. {
  47. 'name': 'Sale'
  48. }
  49. ]
  50. const cats = [
  51. {'_id' : '62d403fbb74e1f5f2ec1a12a',
  52. 'name' : 'Виски Glengoyne 50yo 0,725 л',
  53. 'price': 1250,
  54. },
  55. {'_id' : '62d40566b74e1f5f2ec1a12c',
  56. 'name' : 'LONGINES HYDROCONQUEST L3.781.4.56.9',
  57. 'price': 5600,
  58. },
  59. {'_id' : '62d40618b74e1f5f2ec1a12e',
  60. 'name' : 'Лобзик электрический JS08-100A',
  61. 'price': 780,
  62. },
  63. ]
  64. const CategoryMenuItem = ({name}) =>{
  65. return(
  66. <div className ="menuItem">
  67. <strong>{name}</strong>
  68. </div>
  69. )}
  70. const CategoryMenu = () =>
  71. <aside className ='aside'>
  72. <ul>
  73. {rootCats.map(cats => <CategoryMenuItem name = {cats.name} />)}
  74. </ul>
  75. </aside>
  76. const GoodCard = ({catsis:{_id, name, price}}) =>
  77. <div className ="divCats">
  78. <li className ="kartochki">
  79. <p>Id: {_id}</p>
  80. <h1>{name}</h1>
  81. <strong>Price: {price}</strong>
  82. </li>
  83. </div>
  84. const Category = () =>
  85. <main className = 'main'>
  86. <ul>
  87. {cats.map(catsis=> <GoodCard catsis ={catsis} />)}
  88. </ul>
  89. </main>
  90. function App() {
  91. return (
  92. <div className="App">
  93. <LoginForm />
  94. <div className ='shop'>
  95. <CategoryMenu />
  96. <Category />
  97. </div>
  98. </div>
  99. );
  100. }
  101. export default App;