(feat:admin) filter users intead of exact match, minor ui

This commit is contained in:
ManishMadan2882 committed 2026-06-23 14:48:56 +05:30
1 parent acb7956fe0
commit 2965e1d5ac
4 files changed
+15 -28

No files matched your search

@@ -94,7 +94,7 @@ class AdminStatsRepository:
where = ""
count_params: dict = {}
if user_id_filter is not None:
where = "WHERE lower(u.user_id) = lower(:uid)"
where = "WHERE u.user_id ILIKE '%' || :uid || '%'"
count_params["uid"] = user_id_filter
total = self._conn.execute(
text(f"SELECT count(*) FROM users u {where}"), count_params
+12 -25
View File
@@ -318,7 +318,9 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
{/* Icon rail (desktop only, when sidebar collapsed) */}
{!navOpen && !isMobile && !isTablet && (
<div className="bg-sidebar border-border fixed top-0 left-0 z-10 hidden h-full w-14 flex-col items-center gap-2 border-r py-3 lg:flex">
<div
ref={navRef}
className="bg-sidebar border-border fixed top-0 left-0 z-10 hidden h-full w-14 flex-col items-center gap-2 border-r py-3 lg:flex">
<Button
type="button"
variant="ghost"
@@ -385,10 +387,8 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
</div>
)}
<div
ref={navRef}
className={`${
!navOpen && '-ml-96 md:-ml-72'
} bg-sidebar dark:border-r-sidebar-border fixed top-0 z-20 flex h-full w-72 flex-col border-r border-b-0 transition-all duration-300 ease-in-out dark:text-white`}
className={`${!navOpen && '-ml-96 md:-ml-72'
} bg-sidebar dark:border-r-sidebar-border fixed top-0 z-20 flex h-full w-72 flex-col border-r border-b-0 transition-all duration-300 ease-in-out dark:text-white`}
>
<div
className={
@@ -436,8 +436,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
resetConversation();
}}
className={({ isActive }) =>
`${
isActive ? 'bg-transparent' : ''
`${isActive ? 'bg-transparent' : ''
} group border-sidebar-border hover:border-sidebar-border sticky mx-4 mt-4 flex cursor-pointer items-center gap-2.5 rounded-3xl border p-3 hover:bg-transparent dark:text-white`
}
>
@@ -475,11 +474,10 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
{recentAgents.map((agent, idx) => (
<div
key={idx}
className={`group hover:bg-sidebar-accent mx-4 my-auto mt-4 flex h-9 cursor-pointer items-center justify-between rounded-3xl pl-4 ${
agent.id === selectedAgent?.id && !conversationId
className={`group hover:bg-sidebar-accent mx-4 my-auto mt-4 flex h-9 cursor-pointer items-center justify-between rounded-3xl pl-4 ${agent.id === selectedAgent?.id && !conversationId
? 'bg-sidebar-accent'
: ''
}`}
}`}
onClick={() => handleAgentClick(agent)}
>
<div className="flex items-center gap-2">
@@ -529,8 +527,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
}
}}
className={({ isActive }) =>
`hover:bg-sidebar-accent mx-4 my-auto mt-2 flex h-9 cursor-pointer items-center gap-2 rounded-3xl pl-4 ${
isActive ? 'bg-sidebar-accent' : ''
`hover:bg-sidebar-accent mx-4 my-auto mt-2 flex h-9 cursor-pointer items-center gap-2 rounded-3xl pl-4 ${isActive ? 'bg-sidebar-accent' : ''
}`
}
>
@@ -558,8 +555,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
dispatch(setSelectedAgent(null));
}}
className={({ isActive }) =>
`hover:bg-sidebar-accent mx-4 my-auto mt-2 flex h-9 cursor-pointer items-center gap-2.5 rounded-3xl pl-3 ${
isActive ? 'bg-sidebar-accent' : ''
`hover:bg-sidebar-accent mx-4 my-auto mt-2 flex h-9 cursor-pointer items-center gap-2.5 rounded-3xl pl-3 ${isActive ? 'bg-sidebar-accent' : ''
}`
}
>
@@ -627,8 +623,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
}}
to="/settings"
className={({ isActive }) =>
`hover:bg-sidebar-accent mx-4 my-auto flex h-9 cursor-pointer items-center gap-2.5 rounded-3xl pl-3 ${
isActive ? 'bg-sidebar-accent' : ''
`hover:bg-sidebar-accent mx-4 my-auto flex h-9 cursor-pointer items-center gap-2.5 rounded-3xl pl-3 ${isActive ? 'bg-sidebar-accent' : ''
}`
}
>
@@ -703,15 +698,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
>
<Menu className="size-5" strokeWidth={1.75} />
</Button>
<div className="absolute left-1/2 flex -translate-x-1/2 items-center">
<TeamSwitcher
onNavigate={() => {
if (isMobile || isTablet) {
setNavOpen(false);
}
}}
/>
</div>
</div>
</div>
<ConfirmationModal
+1 -1
View File
@@ -251,7 +251,7 @@ export default function Users() {
<div className="mb-4 flex flex-wrap items-center gap-2">
<Input
placeholder="Filter by exact user id"
placeholder="Filter by user id"
value={search}
onChange={(e) => setSearch(e.target.value)}
onKeyDown={(e) => {
+1 -1
View File
@@ -143,7 +143,7 @@ export default function TeamSwitcher({
</button>
)}
</DropdownMenuTrigger>
<DropdownMenuContent align="start" className="w-[248px]">
<DropdownMenuContent align="start" className="w-62">
<DropdownMenuLabel className="flex items-center gap-2">
<span className="bg-muted dark:bg-accent flex size-7 shrink-0 items-center justify-center rounded-md">
{currentTeam ? (