https://github.com/SamTebbs33 created https://github.com/llvm/llvm-project/pull/107211
None >From e99c4dca4bfb7bed5c3069e056fb566b9c655eaa Mon Sep 17 00:00:00 2001 From: Samuel Tebbs <samuel.te...@arm.com> Date: Wed, 4 Sep 2024 11:07:55 +0100 Subject: [PATCH] Add user search --- graphite-demo/frontend.jsx | 23 +++++++++++++++++------ graphite-demo/server.js | 29 +++++++++++++++++++++++++---- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/graphite-demo/frontend.jsx b/graphite-demo/frontend.jsx index dd6a2a3ba66cc5..10512ee5f98f86 100644 --- a/graphite-demo/frontend.jsx +++ b/graphite-demo/frontend.jsx @@ -1,7 +1,8 @@ import React, { useEffect, useState } from 'react'; -const TaskSearch = () => { +const TaskAndUserSearch = () => { const [tasks, setTasks] = useState([]); + const [users, setUsers] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [searchQuery, setSearchQuery] = useState(''); @@ -16,14 +17,15 @@ const TaskSearch = () => { return response.json(); }) .then(data => { - setTasks(data); + setTasks(data.tasks); + setUsers(data.users); setLoading(false); }) .catch(error => { setError(error.message); setLoading(false); }); - }, [searchQuery]); // Depend on searchQuery + }, [searchQuery]); if (loading) { return <div>Loading...</div>; @@ -35,13 +37,14 @@ const TaskSearch = () => { return ( <div> - <h2>Task Search</h2> + <h2>Search Tasks and Users</h2> <input type="text" - placeholder="Search tasks..." + placeholder="Search tasks and users..." value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} /> + <h3>Tasks</h3> <ul> {tasks.map(task => ( <li key={task.id}> @@ -49,8 +52,16 @@ const TaskSearch = () => { </li> ))} </ul> + <h3>Users</h3> + <ul> + {users.map(user => ( + <li key={user.id}> + <p>{user.name}</p> + </li> + ))} + </ul> </div> ); }; -export default TaskSearch; \ No newline at end of file +export default TaskAndUserSearch; \ No newline at end of file diff --git a/graphite-demo/server.js b/graphite-demo/server.js index cf7ec6507287f8..ff79b7d4915f8d 100644 --- a/graphite-demo/server.js +++ b/graphite-demo/server.js @@ -18,17 +18,38 @@ const tasks = [ } ]; +// Fake data for users +const users = [ + { + id: 101, + name: 'Alice Smith' + }, + { + id: 102, + name: 'Bob Johnson' + }, + { + id: 103, + name: 'Charlie Brown' + } +]; + app.get('/search', (req, res) => { // Retrieve the query parameter const query = req.query.query?.toLowerCase() || ''; // Filter tasks based on the query - const filteredTasks = tasks.filter(task => task.description.toLowerCase().includes(query)); + const filteredTasks = tasks.filter(task => + task.description.toLowerCase().includes(query) + ).sort((a, b) => a.description.localeCompare(b.description)); - // Sort the filtered tasks alphabetically by description - const sortedTasks = filteredTasks.sort((a, b) => a.description.localeCompare(b.description)); + // Filter users based on the query + const filteredUsers = users.filter(user => + user.name.toLowerCase().includes(query) + ).sort((a, b) => a.name.localeCompare(b.name)); - res.json(sortedTasks); + // Return both sets of results + res.json({ tasks: filteredTasks, users: filteredUsers }); }); app.listen(port, () => { _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits