@@ -3,7 +3,6 @@ import { SearchBar } from '@/components/forms/Styles';
33import { useEffect , useState } from 'react' ;
44import Server from '@/components/home/Server' ;
55import { useSupabaseClient , useUser } from '@supabase/auth-helpers-react' ;
6- import styles from '@/styles/Servers.module.css' ;
76import AddServerModal from '@/components/home/AddServerModal' ;
87import AddChannelModal from '@/components/home/AddChannelModal' ;
98import {
@@ -14,7 +13,7 @@ import {
1413} from '@/lib/store' ;
1514import { Tooltip } from 'react-tooltip' ;
1615import PlusIcon from '@/components/icons/PlusIcon' ;
17- import { ChannelPermissions , ServerPermissions } from '@/types/permissions' ;
16+ import { ServerPermissions } from '@/types/permissions' ;
1817
1918export default function ServerList ( ) {
2019 //TODO: Display default page (when user belongs to and has no servers)
@@ -26,7 +25,8 @@ export default function ServerList() {
2625 const user = useUser ( ) ;
2726 const supabase = useSupabaseClient ( ) ;
2827
29- const servers = useServers ( ) ;
28+ const _servers = useServers ( ) ;
29+ const [ servers , setServers ] = useState ( _servers ) ;
3030 const getServers = useGetServers ( ) ;
3131
3232 const getUserServerPerms = useGetUserPermsForServer ( ) ;
@@ -87,7 +87,17 @@ export default function ServerList() {
8787 type = "text"
8888 className = { `${ SearchBar ( ) } ` }
8989 placeholder = "Search"
90- > </ input >
90+ onKeyUp = { ( e ) => {
91+ const value = ( e . target as HTMLInputElement ) . value ;
92+
93+ // Filter servers
94+ const filteredServers = _servers . filter ( ( server ) => {
95+ return server . servers . name . toLowerCase ( ) . includes ( value . toLowerCase ( ) ) ;
96+ } ) ;
97+
98+ setServers ( filteredServers ) ;
99+ } }
100+ />
91101 </ div >
92102
93103 < div className = "overflow-y-auto " >
0 commit comments