openreplay/frontend/app/components/FFlags/FFlagsSearch.tsx
Andrey Babushkin fd5c0c9747
Add lokalisation (#3092)
* applied eslint

* add locales and lint the project

* removed error boundary

* updated locales

* fix min files

* fix locales
2025-03-06 17:43:15 +01:00

49 lines
1.3 KiB
TypeScript

import React, { useEffect, useState } from 'react';
import { observer } from 'mobx-react-lite';
import { useStore } from 'App/mstore';
import { Icon } from 'UI';
import { debounce } from 'App/utils';
let debounceUpdate: any = () => {};
function FFlagsSearch() {
const { featureFlagsStore } = useStore();
const [query, setQuery] = useState(featureFlagsStore.sort.query);
useEffect(() => {
debounceUpdate = debounce((value: string) => {
featureFlagsStore.setSort({
order: featureFlagsStore.sort.order,
query: value,
});
featureFlagsStore.setPage(1);
void featureFlagsStore.fetchFlags();
}, 250);
}, []);
const write = ({
target: { value },
}: React.ChangeEvent<HTMLInputElement>) => {
setQuery(value.replace(/\s/g, '-'));
debounceUpdate(value.replace(/\s/g, '-'));
};
return (
<div className="relative">
<Icon
name="search"
className="absolute top-0 bottom-0 ml-2 m-auto"
size="16"
/>
<input
value={query}
name="flagsSearch"
className="bg-white p-2 border border-borderColor-gray-light-shade rounded w-full pl-10"
placeholder="Filter by key"
onChange={write}
/>
</div>
);
}
export default observer(FFlagsSearch);