Clean up and typing

This commit is contained in:
Sean Edmunds
2025-03-27 16:22:34 -05:00
parent b46d89721e
commit 67293b20ca
47 changed files with 450 additions and 540 deletions

View File

@@ -24,6 +24,7 @@ import {
textClasses,
textInputClasses,
} from 'styles';
import type { Provider } from 'types';
import DebouncedSearchProvider from './DebouncedSearchProvider';
import SearchProviderSettingsItem from './SearchProviderSettingsItem';
@@ -32,20 +33,23 @@ const SearchProviderSettings = () => {
const { data: providers, isFetched: providersIsFetched } = useQueryAPI({
endpoint: endpoint,
});
const [providerData, setProviderData] = useState<any>([]);
const { theme, isMobile } = useCommonHooks();
const [providerData, setProviderData] = useState<Provider[]>([]);
const { theme, isMobile, modalStyle } = useCommonHooks();
const { mutateAsync } = useMutationAPI();
const [newProvider, setNewProvider] = useState<any>({});
const [newProvider, setNewProvider] = useState<Provider>({
id: undefined,
name: '',
url: '',
prefix: '',
});
const [modalOpened, { open: openModal, close: closeModal }] = useDisclosure(false);
const [searchValue, setSearchValue] = useState('');
const [debouncedSearch] = useDebouncedValue(searchValue, 500);
const handleDelete = (application: any) => {
mutateAsync({ method: 'DELETE', endpoint: endpoint, body: application });
};
useEffect(() => {
if (providers && providersIsFetched) {
setProviderData(
providers.filter((a: any) =>
providers.filter((a: Provider) =>
a.name.toLowerCase().includes(debouncedSearch.toLowerCase()),
),
);
@@ -63,14 +67,7 @@ const SearchProviderSettings = () => {
onClose={() => {
closeModal();
}}
style={{
'--color-text-pri': theme.primaryColor,
'--color-text-acc': theme.accentColor,
'--color-background': theme.backgroundColor,
'--color-border': theme.borderColor,
'--color-search-background': theme.searchColor,
'--image-background': `url(${theme.backgroundImage})`,
}}
style={modalStyle}
closeOnEscape
closeOnClickOutside
>
@@ -224,7 +221,7 @@ const SearchProviderSettings = () => {
</Group>
<Stack w={'100%'} align='center'>
<Grid columns={18} w={'75%'}>
{providerData?.map((provider: any) => (
{providerData?.map((provider: Provider) => (
<GridCol span={isMobile ? 18 : 6} key={provider.id}>
<Popover withArrow withOverlay withinPortal={false}>
<Popover.Target>
@@ -237,10 +234,7 @@ const SearchProviderSettings = () => {
</Box>
</Popover.Target>
<Popover.Dropdown>
<DebouncedSearchProvider
searchProvider={provider}
handleDelete={handleDelete}
/>
<DebouncedSearchProvider searchProvider={provider} />
</Popover.Dropdown>
</Popover>
</GridCol>