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 (
<>
-
+
>
)
}
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 (
- <>
+ <>
-
+
+
>
)
}
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 (
+ <>
+
+
+ >
+ )
+}
+
+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