set ZOO
This commit is contained in:
parent
2c9043428c
commit
fc53a5c7cb
1641
package-lock.json
generated
1641
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -3,9 +3,13 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@chakra-ui/react": "^2.6.1",
|
||||||
|
"@emotion/react": "^11.11.0",
|
||||||
|
"@emotion/styled": "^11.11.0",
|
||||||
"@testing-library/jest-dom": "^5.16.5",
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
"@testing-library/react": "^13.4.0",
|
"@testing-library/react": "^13.4.0",
|
||||||
"@testing-library/user-event": "^13.5.0",
|
"@testing-library/user-event": "^13.5.0",
|
||||||
|
"framer-motion": "^10.12.16",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
|
52
src/Animal.js
Normal file
52
src/Animal.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { Button } from "./Button";
|
||||||
|
|
||||||
|
export const Animal = (props) => {
|
||||||
|
// const [animal = props.animal, addAnimal] = useState(false);
|
||||||
|
const animal = props.animal;
|
||||||
|
const nadpis = props.nadpis;
|
||||||
|
const emptyZoo = !props.animal.length;
|
||||||
|
|
||||||
|
// let emptyZoo = () => {
|
||||||
|
// if (animal.length === 0) return true;
|
||||||
|
// else return false;
|
||||||
|
// };
|
||||||
|
|
||||||
|
///const [setAnimal] = useState(animal);
|
||||||
|
|
||||||
|
//if (animal.length === 0) emptyZoo = true;
|
||||||
|
//else emptyZoo = false;
|
||||||
|
|
||||||
|
const handleAddAnimal = () => {
|
||||||
|
//const arr = ['zirafa', 'mroz'];
|
||||||
|
//setAnimal(current => [...current, ...arr]);
|
||||||
|
//emptyZoo = false;
|
||||||
|
console.log("pridal jsi...");
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleDeleteAnimal = () => {
|
||||||
|
//emptyZoo = true;
|
||||||
|
console.log("smazal jsi...");
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<nav>
|
||||||
|
<h1>{nadpis}</h1>
|
||||||
|
{emptyZoo ? (
|
||||||
|
<p>Zoo je prazdne</p>
|
||||||
|
) : (
|
||||||
|
<ul>
|
||||||
|
{animal.map((item) => (
|
||||||
|
<li key={item}>{item}</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<Button className="primary" isDisabled={emptyZoo} onClick={handleDeleteAnimal}>
|
||||||
|
Delete
|
||||||
|
</Button>
|
||||||
|
<Button className="secondary" onClick={handleAddAnimal}>Add</Button>
|
||||||
|
</nav>
|
||||||
|
);
|
||||||
|
};
|
64
src/App.css
64
src/App.css
@ -36,3 +36,67 @@
|
|||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
height: 100px;
|
||||||
|
background-color: darkslategrey;
|
||||||
|
color: antiquewhite;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: 400;
|
||||||
|
padding: 0 1.5rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
gap: 2rem;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
li:hover {
|
||||||
|
opacity: 80%;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 0.75rem 1.2rem;
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
opacity: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.primary {
|
||||||
|
background-color: antiquewhite;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.secondary {
|
||||||
|
background-color: darkslategrey;
|
||||||
|
color: antiquewhite;
|
||||||
|
border: 1px solid antiquewhite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttons-wrapper {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.75rem;
|
||||||
|
}
|
16
src/App.js
16
src/App.js
@ -1,16 +1,26 @@
|
|||||||
import logo from "./logo.svg";
|
import logo from "./logo.svg";
|
||||||
import "./App.css";
|
import "./App.css";
|
||||||
|
// import `ChakraProvider` component
|
||||||
|
//import { ChakraProvider } from "@chakra-ui/react";
|
||||||
import Header from "./Header";
|
import Header from "./Header";
|
||||||
import Content from "./Content";
|
import Content from "./Content";
|
||||||
import Footer from "./Footer";
|
import Footer from "./Footer";
|
||||||
import { Menu } from "./Menu";
|
import { Menu } from "./Menu";
|
||||||
import { Button } from "./Button";
|
import { Animal } from "./Animal";
|
||||||
|
//import { Button } from "./Button";
|
||||||
|
//import { Button, ButtonGroup } from "@chakra-ui/react";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const menu = ["Uvod", "O nas", "Kontakt", "test"];
|
|
||||||
|
//const animal = [];
|
||||||
|
const animal = ["Lev", "Lachtan", "Varan", "Slon"];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Menu menu={menu} nadpis="ReactGirls" />
|
<Animal animal={animal} nadpis="Super ZOO" />
|
||||||
|
{/* <ChakraProvider>
|
||||||
|
<Button colorScheme="teal">Chakra button</Button>
|
||||||
|
</ChakraProvider> */}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
|
import { propNames } from "@chakra-ui/react";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import { useState } from 'react'
|
||||||
|
|
||||||
export const Button = ({ children, onClick }) => {
|
|
||||||
|
|
||||||
|
|
||||||
|
export const Button = ({ children, onClick, isDisabled, className}) => {
|
||||||
|
//const [disabled, setDisabled] = useState(false)
|
||||||
// const handleClick = () => {
|
// const handleClick = () => {
|
||||||
// console.log("klikl jsi");
|
// console.log("klikl jsi");
|
||||||
// };
|
// };
|
||||||
return <button onClick={onClick}>{children}</button>;
|
|
||||||
|
|
||||||
|
|
||||||
|
return <button className={className} disabled={isDisabled} onClick={onClick}>{children}</button>;
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Button } from "./Button";
|
import { Button } from "./Button";
|
||||||
|
|
||||||
|
|
||||||
export const Menu = (props) => {
|
export const Menu = (props) => {
|
||||||
const menu = props.menu;
|
const menu = props.menu;
|
||||||
const nadpis = props.nadpis;
|
const nadpis = props.nadpis;
|
||||||
|
Loading…
Reference in New Issue
Block a user