diff --git a/src/css/filter.module.css b/src/css/filter.module.css
index 8bdfae7..fed1cfd 100644
--- a/src/css/filter.module.css
+++ b/src/css/filter.module.css
@@ -2,7 +2,6 @@
width: 250px;
float: left;
overflow: hidden;
-
}
.displayMode {
@@ -16,8 +15,6 @@
width: 25px;
}
-
-
.displayMode>button {
border: none;
background-color: var(--dark0);
@@ -63,8 +60,8 @@ button.pointstrue {
}
.input {
- width: 80%;
- margin: 10px 10%;
+ width: 90%;
+ margin: 10px 5%;
background: var(--dark2);
color: white;
padding: 8px 20px;
diff --git a/src/module/Challenges.js b/src/module/Challenges.js
index 3fa1411..c5d9eb6 100644
--- a/src/module/Challenges.js
+++ b/src/module/Challenges.js
@@ -90,7 +90,6 @@ class Challenges extends Component {
let challengeObject = [];
- console.log(this.filter);
for (let i = 0; i < challenges.length; i++) {
const challenge = challenges[i];
if (challenge.id < 10) {
@@ -389,7 +388,6 @@ class Challenges extends Component {
{this.state.event}
-
+
{
this.state.challenges.length > 0
? this.state.challenges
diff --git a/src/module/user/UserChallenges.js b/src/module/user/UserChallenges.js
index da0ec90..44e02c5 100644
--- a/src/module/user/UserChallenges.js
+++ b/src/module/user/UserChallenges.js
@@ -18,7 +18,6 @@ import Timestamp from "react-timestamps"
import css from "../../css/user.module.css"
import orderChallenges, { getNextLevel } from "./orderChallenges";
-import goTo from "../../func/goTo";
import Loader from "../Loader"
import { withTranslation } from "react-i18next";
import { capitalize } from "../../func/stringManipulation";
@@ -37,8 +36,9 @@ class UserChallenges extends Component {
this.togglePointsAvailableSorting = this.togglePointsAvailableSorting.bind(this)
this.changeDisplayMethod = this.changeDisplayMethod.bind(this)
+ this.search = this.search.bind(this);
- this.props = props
+ this.props = props;
this.state = {
alphabet: "a-z",
@@ -51,7 +51,8 @@ class UserChallenges extends Component {
"type": [],
"gamemode": []
},
- translation: props.t
+ translation: props.t,
+ search: ""
}
}
@@ -154,6 +155,10 @@ class UserChallenges extends Component {
}
}
+ search(e) {
+ this.setState({ search: e.currentTarget.value })
+ }
+
render() {
@@ -175,7 +180,7 @@ class UserChallenges extends Component {
const filter = this.state.filter
- let challengesOrdered = orderChallenges(user.challenges, this.state.filter, this.state.filters, this.state.orderByMaster, this.state.orderByPoints)
+ let challengesOrdered = orderChallenges(user.challenges, this.state.filter, this.state.filters, this.state.orderByMaster, this.state.orderByPoints, this.state.search)
let challenges = challengesOrdered.map((challenge) => {
@@ -427,6 +432,7 @@ class UserChallenges extends Component {
+
{challenges}
diff --git a/src/module/user/orderChallenges.js b/src/module/user/orderChallenges.js
index 6ae6538..dad7b1d 100644
--- a/src/module/user/orderChallenges.js
+++ b/src/module/user/orderChallenges.js
@@ -19,7 +19,7 @@ export function getNextLevel(current, masterOnly = false, pointsOnly = false) {
-export function removeUnnecessaryChallenges(challengesArray, filters, masterOnly = false, pointsOnly = false) {
+export function removeUnnecessaryChallenges(challengesArray, filters, masterOnly = false, pointsOnly = false, search = "") {
let challenges = {};
challengesArray.forEach(challenge => {
@@ -143,15 +143,19 @@ export function removeUnnecessaryChallenges(challengesArray, filters, masterOnly
}
+ if (search !== "" && (challenge[6].translation.name.toLowerCase().search(search.toLowerCase()) === -1 && challenge[6].translation.description.toLowerCase().search(search.toLowerCase()) === -1)) {
+ return null
+ }
+
return challenge
})?.filter(x => x !== null)
}
-export default function orderChallenges(challenges, filter, extraFilter, masterOnly, pointsOnly) {
+export default function orderChallenges(challenges, filter, extraFilter, masterOnly, pointsOnly, search) {
- challenges = removeUnnecessaryChallenges(challenges, extraFilter, masterOnly, pointsOnly)
+ challenges = removeUnnecessaryChallenges(challenges, extraFilter, masterOnly, pointsOnly, search)
let sortAlgorithm = function (a, b) {