Complete Note app in ReactJs using boostrap
Complete Note app in ReactJs using boostrap
Source code:-
index.js
import React from "react";import ReactDom from "react-dom";import App from './App'import "./index.css";ReactDom.render(<><App /></>,document.getElementById("root"))
index.css
*{box-sizing: border-box;padding: 0;margin: 0;font-family: 'Patrick Hand', cursive;/* font-weight: 900; */}.header{width: 100%;line-height: 100px;background-color: #f5ba13;display: flex;justify-content: center;align-items: center;padding-left: 50px;color: white;box-shadow: 5px 3px 15px -5px rgba(0, 0, 0);}.main_note{width: 500px;padding: 15px 10px 5px 10px;margin: 20px auto;box-shadow: 3px 5px 15px -5px rgba(4, 0, 0);border-radius: 10px;}.main_note Button{box-shadow: 0px 0px 20px -4px rgb(4 0 0);height: 62px;}.my_notes h1{color: #34495e;}.my_notes p {color: grey;}form{min-height: 50px;color: #ecf0f1;padding: 0px 10px -3px 10px;box-shadow: 3px 5px 15px -5px rgba(4, 0, 0, 0);border-radius:10px;position: relative;}input {width: 100%;line-height: 30px;background: transparent;border: none;outline: none;font-size: 1.5rem;margin: 10px 0;font-weight: bold;}textarea {width: 100%;line-height: 30px;background: transparent;border: none;outline: none;font-size: 1rem;margin: 10px 0;}.MuiButton-root {width: 30px;height: 50px;position: absolute;bottom: -28px;left: 400px;cursor: pointer;background-color: #fff !important;box-shadow: 5pc 5px 15px -5pc rgba(0, 0, 0, 0);border-radius: 50% !important;}.MuiButton-root .plus_sign {font-size: 45px !important;font-weight: 900;color: #f4b400;cursor: pointer;z-index: 222;background: transparent;}.MuiButton-root:hover {background: #f4b400 !important;}.MuiButton-root:hover .plus_sign {color: #fff;background: transparent;}.note {background: #fff;border-radius: 7px;box-shadow: 0px 2px 10px -3px rgba(4, 0, 0);padding: 0px;width: 240px;margin: 16px;float: left;}.note h1 {width: 100%;line-height: 30px;background: transparent;border: none;outline: none;font-size: 1.5rem;margin: 10px 9px;font-weight: bold;}.note p {font-size: 1.1em;margin-bottom: 0px;margin-left: 12px;white-space: pre-wrap;word-wrap: break-word;}.note .btn {position: relative;float: right;margin-right:10px;color: #f7b900;border: none;width: 50px;height: 50px;background: transparent;cursor: pointer;outline: none;box-shadow: 0px 5px 15px -5px rgba(4, 0, 0);border-radius: 50%;}.deleteIcon{width: 0.7em;height: 0.7em;cursor: pointer;}.note .btn:hover .deleteIcon{color: rgb(255, 204, 0);}.note .btn:hover{background-color: #000000;}footer{width: 100%;position: absolute;bottom: 0;text-align: center;}
App.js
import React, { useState } from "react";import Header from "./components/Header";// import Footer from "./components/Footer";// import "./index.css";import CreateNote from "./components/CreateNote";import Note from "./components/Note";const App = () => {const [addItem, setAddItem]=useState([]);const addNote = (note)=>{// alert('i am clicked');setAddItem((prevData)=>{return[...prevData, note];});}return (<><div><Header /><CreateNotepassNote = {addNote}/>{addItem.map((val, index)=>{return <Notekey= {index}id={index}title={val.title}content = {val.content}/>})}{/* <Footer /> */}</div></>);};export default App;
CreateNode.js
import React, { useState } from 'react'import AddIcon from '@material-ui/icons/Add';import Button from '@material-ui/core/Button';export default function CreateNote(props) {const [note, setNote] = useState({title: '',content: ''});const inputEvent = (event) => {const { name, value } = event.target;setNote((prevData) => {return {...prevData,[name]: value}})}const btnClick = () => {props.passNote(note);setNote({title: '',content: ''})}return (<div className="main_note"><form><input type="text" value={note.title} name="title" onChange={inputEvent} placeholder="Title" autoComplete="off" /><textarea value={note.content} name="content" onChange={inputEvent} id="" cols="" rows="" placeholder="Write a note.."></textarea><Button onClick={btnClick}><AddIcon /></Button></form></div>)}
Note.js
import React from 'react'import DeleteIcon from '@material-ui/icons/Delete';export default function Note(props) {return (<div className='note'><h1>{props.title}</h1><br /><p>{props.content}</p><button className="btn"><DeleteIcon className='deleteIcon'/></button></div>)}
Post a Comment