import { Action } from 'redux';
import { DataSourcePluginMeta, PluginType } from '@grafana/data';
import { LinkButton, FilterInput } from '@grafana/ui';
import PageLoader from 'app/core/components/PageLoader/PageLoader';
import { PluginsErrorsInfo } from 'app/features/plugins/components/PluginsErrorsInfo';
import { DataSourcePluginCategory, StoreState, useDispatch, useSelector } from 'app/types';
import { ROUTES } from '../../connections/constants';
import { DataSourceCategories } from '../components/DataSourceCategories';
import { DataSourceTypeCardList } from '../components/DataSourceTypeCardList';
import {
useAddDatasource,
useLoadDataSourcePlugins,
getFilteredDataSourcePlugins,
setDataSourceTypeSearchQuery,
} from '../state';
export function NewDataSource() {
useLoadDataSourcePlugins();
const dispatch = useDispatch();
const filteredDataSources = useSelector((s: StoreState) => getFilteredDataSourcePlugins(s.dataSources));
const searchQuery = useSelector((s: StoreState) => s.dataSources.dataSourceTypeSearchQuery);
const isLoadingDatasourcePlugins = useSelector((s: StoreState) => s.dataSources.isLoadingDataSourcePlugins);
const dataSourceCategories = useSelector((s: StoreState) => s.dataSources.categories);
const onAddDataSource = useAddDatasource();
const onSetSearchQuery = (q: string) => dispatch(setDataSourceTypeSearchQuery(q));
return (