[llvm-branch-commits] [llvm] Add user search (PR #107211)
Sam Tebbs via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Sep 4 03:07:41 PDT 2024
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.tebbs at 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, () => {
More information about the llvm-branch-commits
mailing list