diff --git a/src/App.js b/src/App.js index a0ac03e..2849cce 100644 --- a/src/App.js +++ b/src/App.js @@ -4,11 +4,13 @@ import List from './componets/List'; import AddItem from './componets/AddItem'; import config from './config.json'; import Filters from './componets/Filters'; +import Sort from './componets/Sort'; function App() { const [data, setData] = useState([]); - const [isAdding, setIsAdding] = useState(false); - const [isFiltering, setIsFiltering] = useState(false); + const [newBox, setNewBox] = useState(false); + const [filterBox, setFilterBox] = useState(false); + const [sortBox, setSortBox] = useState(false); const [searchQuery, setSearchQuery] = useState(''); const [numberOfResults, setNumberOfResults] = useState(0); const [nameChecked, setNameChecked] = useState(true); @@ -28,11 +30,15 @@ function App() { } function exitAdding() { - setIsAdding(!isAdding); + setNewBox(!newBox); } function exitFilter() { - setIsFiltering(!isFiltering); + setFilterBox(!filterBox); + } + + function exitSorting() { + setSortBox(!sortBox); } function search(e) { @@ -78,8 +84,6 @@ function App() { return tags; } - - useEffect(() => { fetchData(); }, []); @@ -92,13 +96,21 @@ function App() {
- +

{numberOfResults > 0 ? numberOfResults + ' Bookmarks found' : 'No bookmarks found.'}

- - {isFiltering ? setFilterBox(true)}> + + + + {sortBox ? : null} + + {filterBox ? : null} - - - {isAdding ? : null} + {newBox ? : null}
); } diff --git a/src/componets/AddItem.js b/src/componets/AddItem.js index bca9aba..c749c85 100644 --- a/src/componets/AddItem.js +++ b/src/componets/AddItem.js @@ -79,7 +79,8 @@ const AddItem = ({onExit, reFetch, tags}) => { return ( <>
-
+
+ New Bookmark

Name:

@@ -89,7 +90,7 @@ const AddItem = ({onExit, reFetch, tags}) => {
-
+ ) } diff --git a/src/componets/Filters.js b/src/componets/Filters.js index bb17802..11402d2 100644 --- a/src/componets/Filters.js +++ b/src/componets/Filters.js @@ -8,13 +8,14 @@ const Filters = ({nameChecked, handleNameCheckbox, descriptionChecked, handleDes } return ( - <> + <>
-
+
+ Filter Results - + -
+ ) } diff --git a/src/componets/Sort.js b/src/componets/Sort.js new file mode 100644 index 0000000..d39d357 --- /dev/null +++ b/src/componets/Sort.js @@ -0,0 +1,24 @@ +import '../styles/Sort.css' + +const Sort = ({ onExit }) => { + function abort(e) { + if (e.target.className === "sort-overlay") { + onExit(); + } + } + + return ( + <> +
+
+ Sort List + + + + +
+ + ) +} + +export default Sort \ No newline at end of file diff --git a/src/styles/AddItem.css b/src/styles/AddItem.css index 77e47f2..c7cbbe0 100644 --- a/src/styles/AddItem.css +++ b/src/styles/AddItem.css @@ -1,4 +1,6 @@ .add-overlay { + background-color: black; + opacity: 10%; position: fixed; top: 0; left: 0; @@ -9,18 +11,23 @@ .box { border: solid; border-width: 1px; - border-color: rgb(80, 80, 80); + border-color: rgb(141, 141, 141); box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; position: absolute; z-index: 2; - top: 70px; + top: 63px; right: 20px; background-color: #1f2c38; - width: 40%; + width: 50%; + max-width: 500px; overflow-x: hidden; overflow-y: auto; } +.box legend { + font-weight: 600; +} + .box h3 { font-weight: 300; } diff --git a/src/styles/App.css b/src/styles/App.css index 96925d7..bae9b37 100644 --- a/src/styles/App.css +++ b/src/styles/App.css @@ -22,20 +22,18 @@ box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset; } -.settings-btn:active, .add-btn:active { - box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; -} - .search:focus { box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; } -.add-btn { +.btn { border-radius: 100%; margin: 20px 20px 0px auto; font-family: 'Font Awesome 5 Free'; + width: 40px; + height: 40px; padding: 10px; - font-size: 1.5rem; + font-size: 1.1rem; cursor: pointer; box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset; color: #ffffffb6; @@ -44,10 +42,14 @@ transition: background-color 0.1s; } -.add-btn:hover { +.btn:hover { background-color: rgb(76, 117, 170); } +.btn:active { + box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; +} + textarea:focus, input:focus{ outline: none; } @@ -56,24 +58,3 @@ textarea:focus, input:focus{ margin: 20px 20px 0px 30px; display: inline-block; } - -.filter-button { - border-radius: 100%; - font-family: 'Font Awesome 5 Free'; - padding: 10px; - font-size: 1rem; - cursor: pointer; - box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset; - color: #ffffffb6; - background-color:#273949; - border: none; - transition: background-color 0.1s; -} - -.filter-button:active { - box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; -} - -.filter-button:hover { - background-color: rgb(76, 117, 170); -} diff --git a/src/styles/Filters.css b/src/styles/Filters.css index 267097a..939c89a 100644 --- a/src/styles/Filters.css +++ b/src/styles/Filters.css @@ -2,14 +2,14 @@ border: solid; border-width: 1px; font-weight: 300; - border-color: rgb(80, 80, 80); + border-color: rgb(141, 141, 141); display: flex; flex-direction: column; box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; - z-index: 2; background-color: #273949; padding: 5px; - left: 200px; + top: 120px; + left: 195px; position: absolute; margin-top: 4px; -moz-user-select: none; @@ -17,11 +17,17 @@ user-select: none; } +.filter legend { + font-weight: 600; +} + .filter label { margin: 5px; } .filter-overlay { + background-color: black; + opacity: 10%; position: fixed; top: 0; left: 0; diff --git a/src/styles/Sort.css b/src/styles/Sort.css new file mode 100644 index 0000000..c7e909f --- /dev/null +++ b/src/styles/Sort.css @@ -0,0 +1,36 @@ +.sort-overlay { + background-color: black; + opacity: 10%; + position: fixed; + top: 0; + left: 0; + bottom: 0; + width: 100vw; +} + +.sort { + border: solid; + border-width: 1px; + font-weight: 300; + border-color: rgb(141, 141, 141); + display: flex; + flex-direction: column; + box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px; + background-color: #273949; + padding: 5px; + top: 120px; + left: 250px; + position: absolute; + margin-top: 4px; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +.sort legend { + font-weight: 600; +} + +.sort label { + margin: 5px; +} \ No newline at end of file