diff --git a/src/components/FilterForm.jsx b/src/components/FilterForm.jsx
new file mode 100644
index 0000000..1da1866
--- /dev/null
+++ b/src/components/FilterForm.jsx
@@ -0,0 +1,18 @@
+import React from 'react'
+
+export default function FilterForm({ filterCallback }) {
+ let updateInput = (e) => {
+ e.preventDefault()
+ console.log(JSON.stringify(e, 0, 2))
+ filterCallback(e)
+ }
+
+ return (
+
+ )
+}
diff --git a/src/components/Team.jsx b/src/components/Team.jsx
index 063477e..ed7cad8 100644
--- a/src/components/Team.jsx
+++ b/src/components/Team.jsx
@@ -6,9 +6,11 @@ export default function Team({ teams, users, selectTeam, selectUser }) {
diff --git a/src/views/Home.jsx b/src/views/Home.jsx
index 86cb3f0..67fc223 100644
--- a/src/views/Home.jsx
+++ b/src/views/Home.jsx
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'
import axios from 'axios'
import config from '../config.json'
import Team from '../components/Team.jsx'
+import FilterForm from '../components/FilterForm.jsx'
export default function Home() {
// MARK: State
@@ -11,18 +12,19 @@ export default function Home() {
let [teams, setTeams] = useState([])
let [users, setUsers] = useState([])
let [teamDetails, setTeamDetails] = useState([])
+ let [filteredTeams, setFilteredTeams] = useState([])
// MARK: Effects
- // MARK: - Load teams from Tempo backend on initialization
+ // MARK: - Load teams
useEffect(() => {
let fetchData = async() => {
setLoading(true)
try {
let result = await axios(config.api + '/team/')
if (result.data) {
- console.log('teams fetched')
setTeams(result.data)
+ setFilteredTeams(result.data)
}
setLoading(false)
}
@@ -97,18 +99,28 @@ export default function Home() {
console.log('Selected user ' + selectedUser)
}
+ let filterCallback = (e) => {
+ let filtered = teams.filter(team => {
+ return team.name.toUpperCase().includes(e.target.value.toUpperCase())
+ })
+
+ setFilteredTeams(filtered)
+ }
+
// MARK: Return
return (
Tempo
+
+
{loading || loadingUsers ? (
Loading...
) : (
teams !== undefined &&
)}