+ props.maintainers && props.maintainers.length
+ ?
- ) : null;
+ : null;
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/maintainerCloud/index.ts b/src/FilterLists.Web/src/components/maintainerCloud/index.ts
index c0c593fa3..d7e5ed272 100644
--- a/src/FilterLists.Web/src/components/maintainerCloud/index.ts
+++ b/src/FilterLists.Web/src/components/maintainerCloud/index.ts
@@ -1,3 +1,3 @@
-import { MaintainerCloud } from "./MaintainerCloud";
+import { MaintainerCloud } from './MaintainerCloud';
-export { MaintainerCloud };
+export { MaintainerCloud };
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/maintainers/Maintainers.tsx b/src/FilterLists.Web/src/components/maintainers/Maintainers.tsx
index 12e235300..d6890734b 100644
--- a/src/FilterLists.Web/src/components/maintainers/Maintainers.tsx
+++ b/src/FilterLists.Web/src/components/maintainers/Maintainers.tsx
@@ -1,23 +1,22 @@
-import "./maintainers.css";
+import './maintainers.css';
-import { Card, Icon } from "antd";
-import React from "react";
+import { Card, Icon } from 'antd';
+import React from 'react';
-import { Maintainer } from "../../interfaces/Maintainer";
+import { Maintainer } from '../../interfaces/Maintainer';
interface Props {
maintainers: Maintainer[];
-}
+};
export const Maintainers = (props: Props) =>
- props.maintainers && props.maintainers.length ? (
- <>
+ props.maintainers && props.maintainers.length
+ ? <>
Maintainer{props.maintainers.length > 1 ? "s" : ""}:
- {props.maintainers.map((m: Maintainer, index: number) => (
-
- ))}
+ {props.maintainers.map((m: Maintainer, index: number) =>
+
)}
>
- ) : null;
+ : null;
interface MaintainerComponentProps {
maintainer: Maintainer;
@@ -27,39 +26,35 @@ const MaintainerComponent = (props: MaintainerComponentProps) => {
let actions = [];
if (props.maintainer.homeUrl) {
actions.push(
-
+ rel="noopener noreferrer">
);
}
if (props.maintainer.emailAddress) {
actions.push(
-
+ rel="noopener noreferrer">
);
}
if (props.maintainer.twitterHandle) {
actions.push(
-
+ rel="noopener noreferrer">
);
}
- return
;
-};
+ return
;
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/maintainers/index.ts b/src/FilterLists.Web/src/components/maintainers/index.ts
index c44a20b8f..47f755084 100644
--- a/src/FilterLists.Web/src/components/maintainers/index.ts
+++ b/src/FilterLists.Web/src/components/maintainers/index.ts
@@ -1,3 +1,3 @@
-import { Maintainers } from "./Maintainers";
+import { Maintainers } from './Maintainers';
-export { Maintainers };
+export { Maintainers };
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/softwareCloud/SoftwareCloud.tsx b/src/FilterLists.Web/src/components/softwareCloud/SoftwareCloud.tsx
index 332a23f3c..50090622d 100644
--- a/src/FilterLists.Web/src/components/softwareCloud/SoftwareCloud.tsx
+++ b/src/FilterLists.Web/src/components/softwareCloud/SoftwareCloud.tsx
@@ -1,26 +1,26 @@
-import React from "react";
+import React from 'react';
-import { Software } from "../../interfaces/Software";
-import styles from "./SoftwareCloud.module.css";
-import { SoftwareIcon } from "./SoftwareIcon";
+import { Software } from '../../interfaces/Software';
+import styles from './SoftwareCloud.module.css';
+import { SoftwareIcon } from './SoftwareIcon';
interface Props {
software: Software[];
showLabel?: boolean;
-}
+};
export const SoftwareCloud = (props: Props) =>
- props.software && props.software.length ? (
-
+ props.software && props.software.length
+ ?
{props.showLabel &&
{`Software:`}
}
{props.software.map((s: Software, i: number) =>
- s.homeUrl ? (
-
+ s.homeUrl
+ ?
- ) : (
-
- )
- )}
+ :
)}
- ) : null;
+ : null;
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/softwareCloud/SoftwareIcon.tsx b/src/FilterLists.Web/src/components/softwareCloud/SoftwareIcon.tsx
index de456fc53..06c0fbeb1 100644
--- a/src/FilterLists.Web/src/components/softwareCloud/SoftwareIcon.tsx
+++ b/src/FilterLists.Web/src/components/softwareCloud/SoftwareIcon.tsx
@@ -1,4 +1,4 @@
-import * as React from "react";
+import * as React from 'react';
import {
img01,
@@ -37,28 +37,27 @@ import {
img35,
img36,
img37
-} from "./imgs";
+} from './imgs';
interface Props {
id: number;
-}
+};
export const SoftwareIcon = (props: Props) =>
- icons[props.id] ? (
-
![{icons[props.id].imageTitle} {icons[props.id].imageTitle}]({icons[props.id].image})
- ) : null;
+ title={icons[props.id].imageTitle} />
+ : null;
interface Icon {
image: any;
imageTitle: string;
-}
+};
-const icons: { [id: number]: Icon } = {
+const icons: { [id: number]: Icon; } = {
1: { image: img01, imageTitle: "uBlock Origin" },
2: { image: img02, imageTitle: "Adblock Plus" },
3: { image: img03, imageTitle: "AdGuard" },
@@ -95,4 +94,4 @@ const icons: { [id: number]: Icon } = {
35: { image: img35, imageTitle: "Shadowsocks" },
36: { image: img36, imageTitle: "ShadowsocksR" },
37: { image: img37, imageTitle: "Shadowrocket" }
-};
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/softwareCloud/imgs/imgs.d.ts b/src/FilterLists.Web/src/components/softwareCloud/imgs/imgs.d.ts
index a29b0ba00..7f415fac2 100644
--- a/src/FilterLists.Web/src/components/softwareCloud/imgs/imgs.d.ts
+++ b/src/FilterLists.Web/src/components/softwareCloud/imgs/imgs.d.ts
@@ -6,4 +6,4 @@
declare module "*.png" {
const content: any;
export default content;
-}
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/softwareCloud/imgs/index.ts b/src/FilterLists.Web/src/components/softwareCloud/imgs/index.ts
index b08d560e2..6a3593408 100644
--- a/src/FilterLists.Web/src/components/softwareCloud/imgs/index.ts
+++ b/src/FilterLists.Web/src/components/softwareCloud/imgs/index.ts
@@ -1,39 +1,39 @@
-import img01 from "./01-uBlock-Origin.svg";
-import img02 from "./02-Adblock-Plus.svg";
-import img03 from "./03-AdGuard.svg";
-import img04 from "./04-DNS66.png";
-import img05 from "./05-Nano-Adblocker.png";
-import img06 from "./06-AdBlock.png";
-import img07 from "./07-AdAway.png";
-import img08 from "./08-Personal-Blocklist.png";
-import img10 from "./10-Redirector.png";
-import img11 from "./11-Hosts-File-Editor.png";
-import img12 from "./12-Gas-Mask.png";
-import img13 from "./13-MinerBlock.svg";
-import img14 from "./14-Pi-hole.svg";
-import img15 from "./15-uBlock.svg";
-import img16 from "./16-Internet-Explorer-TPL.svg";
-import img17 from "./17-Google-Hit-Hider-by-Domain.png";
-import img18 from "./18-FireHOL.png";
-import img19 from "./19-Samsung-Knox.png";
-import img20 from "./20-Little-Snitch.png";
-import img21 from "./21-Privoxy.png";
-import img22 from "./22-Diversion.png";
-import img23 from "./23-dnsmasq.png";
-import img24 from "./24-Slimjet.png";
-import img25 from "./25-uMatrix.png";
-import img26 from "./26-Blokada.png";
-import img27 from "./27-hostsmgr.png";
-import img28 from "./28-personalDNSfilter.svg";
-import img29 from "./29-Unbound.png";
-import img30 from "./30-BIND.png";
-import img31 from "./31-AdGuard-Home.png";
-import img32 from "./32-AdNauseam.png";
-import img33 from "./33-Legacy-Unix-Derivatives.png";
-import img34 from "./34-Windows-command-line.png";
-import img35 from "./35-Shadowsocks.png";
-import img36 from "./36-ShadowsocksR.png";
-import img37 from "./37-Shadowrocket.png";
+import img01 from './01-uBlock-Origin.svg';
+import img02 from './02-Adblock-Plus.svg';
+import img03 from './03-AdGuard.svg';
+import img04 from './04-DNS66.png';
+import img05 from './05-Nano-Adblocker.png';
+import img06 from './06-AdBlock.png';
+import img07 from './07-AdAway.png';
+import img08 from './08-Personal-Blocklist.png';
+import img10 from './10-Redirector.png';
+import img11 from './11-Hosts-File-Editor.png';
+import img12 from './12-Gas-Mask.png';
+import img13 from './13-MinerBlock.svg';
+import img14 from './14-Pi-hole.svg';
+import img15 from './15-uBlock.svg';
+import img16 from './16-Internet-Explorer-TPL.svg';
+import img17 from './17-Google-Hit-Hider-by-Domain.png';
+import img18 from './18-FireHOL.png';
+import img19 from './19-Samsung-Knox.png';
+import img20 from './20-Little-Snitch.png';
+import img21 from './21-Privoxy.png';
+import img22 from './22-Diversion.png';
+import img23 from './23-dnsmasq.png';
+import img24 from './24-Slimjet.png';
+import img25 from './25-uMatrix.png';
+import img26 from './26-Blokada.png';
+import img27 from './27-hostsmgr.png';
+import img28 from './28-personalDNSfilter.svg';
+import img29 from './29-Unbound.png';
+import img30 from './30-BIND.png';
+import img31 from './31-AdGuard-Home.png';
+import img32 from './32-AdNauseam.png';
+import img33 from './33-Legacy-Unix-Derivatives.png';
+import img34 from './34-Windows-command-line.png';
+import img35 from './35-Shadowsocks.png';
+import img36 from './36-ShadowsocksR.png';
+import img37 from './37-Shadowrocket.png';
export {
img01,
@@ -72,4 +72,4 @@ export {
img35,
img36,
img37
-};
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/softwareCloud/index.ts b/src/FilterLists.Web/src/components/softwareCloud/index.ts
index 6c9548df2..212ee46c3 100644
--- a/src/FilterLists.Web/src/components/softwareCloud/index.ts
+++ b/src/FilterLists.Web/src/components/softwareCloud/index.ts
@@ -1,4 +1,4 @@
-import { SoftwareCloud } from "./SoftwareCloud";
-import { SoftwareIcon } from "./SoftwareIcon";
+import { SoftwareCloud } from './SoftwareCloud';
+import { SoftwareIcon } from './SoftwareIcon';
-export { SoftwareCloud, SoftwareIcon };
+export { SoftwareCloud, SoftwareIcon };
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/tagCloud/TagCloud.tsx b/src/FilterLists.Web/src/components/tagCloud/TagCloud.tsx
index ec36461fb..45b0d4073 100644
--- a/src/FilterLists.Web/src/components/tagCloud/TagCloud.tsx
+++ b/src/FilterLists.Web/src/components/tagCloud/TagCloud.tsx
@@ -1,22 +1,19 @@
-import { Tag } from "antd";
-import React from "react";
+import { Tag } from 'antd';
+import React from 'react';
-import { Tag as TagInterface } from "../../interfaces/Tag";
-import styles from "./TagCloud.module.css";
+import { Tag as TagInterface } from '../../interfaces/Tag';
+import styles from './TagCloud.module.css';
interface Props {
tags: TagInterface[];
showLabel?: boolean;
-}
+};
export const TagCloud = (props: Props) =>
- props.tags && props.tags.length ? (
-
+ props.tags && props.tags.length
+ ?
{props.showLabel &&
{`Tag${props.tags.length > 1 ? "s" : ""}:`}
}
- {props.tags.map((t: TagInterface, i: number) => (
-
- {t.name}
-
- ))}
+ {props.tags.map((t: TagInterface, i: number) =>
+ {t.name})}
- ) : null;
+ : null;
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/components/tagCloud/index.ts b/src/FilterLists.Web/src/components/tagCloud/index.ts
index 6cea6c0e9..eeb9fca3f 100644
--- a/src/FilterLists.Web/src/components/tagCloud/index.ts
+++ b/src/FilterLists.Web/src/components/tagCloud/index.ts
@@ -1,3 +1,3 @@
-import { TagCloud } from "./TagCloud";
+import { TagCloud } from './TagCloud';
-export { TagCloud };
+export { TagCloud };
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/constants.ts b/src/FilterLists.Web/src/constants.ts
index b8ecfa656..16a9843a4 100644
--- a/src/FilterLists.Web/src/constants.ts
+++ b/src/FilterLists.Web/src/constants.ts
@@ -1 +1 @@
-export const SlugifyOptions = { remove: /[^a-zA-Z0-9- ]/g, lower: true };
+export const SlugifyOptions = { remove: /[^a-zA-Z0-9- ]/g, lower: true }
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/index.ts b/src/FilterLists.Web/src/hooks/index.ts
index 7cf7cd825..80f36753c 100644
--- a/src/FilterLists.Web/src/hooks/index.ts
+++ b/src/FilterLists.Web/src/hooks/index.ts
@@ -1,12 +1,12 @@
-import { useLanguages } from "./useLanguages";
-import { useLicenses } from "./useLicenses";
-import { useLists } from "./useLists";
-import { useMaintainers } from "./useMaintainers";
-import { useSearchColumnFilter } from "./useSearchColumnFilter";
-import { useSoftware } from "./useSoftware";
-import { useSyntaxes } from "./useSyntaxes";
-import { useTablePageSizer } from "./useTablePageSizer";
-import { useTags } from "./useTags";
+import { useLanguages } from './useLanguages';
+import { useLicenses } from './useLicenses';
+import { useLists } from './useLists';
+import { useMaintainers } from './useMaintainers';
+import { useSearchColumnFilter } from './useSearchColumnFilter';
+import { useSoftware } from './useSoftware';
+import { useSyntaxes } from './useSyntaxes';
+import { useTablePageSizer } from './useTablePageSizer';
+import { useTags } from './useTags';
export {
useLanguages,
@@ -18,4 +18,4 @@ export {
useSyntaxes,
useTablePageSizer,
useTags
-};
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useApiData.tsx b/src/FilterLists.Web/src/hooks/useApiData.tsx
index 63de2fac1..8ff9eb54b 100644
--- a/src/FilterLists.Web/src/hooks/useApiData.tsx
+++ b/src/FilterLists.Web/src/hooks/useApiData.tsx
@@ -1,11 +1,10 @@
-import { useEffect, useState } from "react";
+import { useEffect, useState } from 'react';
export const useApiData =
(url: string) => {
const [data, setData] = useState();
useEffect(() => {
- const fetchData = async () =>
- (await fetch(url)).json().then(r => setData(r));
+ const fetchData = async () => (await fetch(url)).json().then(r => setData(r));
fetchData();
}, [url]);
return data;
-};
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useLanguages.tsx b/src/FilterLists.Web/src/hooks/useLanguages.tsx
index f24b042f6..bd8a00105 100644
--- a/src/FilterLists.Web/src/hooks/useLanguages.tsx
+++ b/src/FilterLists.Web/src/hooks/useLanguages.tsx
@@ -1,7 +1,5 @@
-import { Language } from "../interfaces/Language";
-import { useApiData } from "./useApiData";
+import { Language } from '../interfaces/Language';
+import { useApiData } from './useApiData';
-export const useLanguages = () =>
- (useApiData("/api/v1/languages") || []).sort(
- (a: Language, b: Language) => a.name.localeCompare(b.name)
- );
+export const useLanguages = () => (useApiData("/api/v1/languages") || [])
+ .sort((a: Language, b: Language) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useLicenses.tsx b/src/FilterLists.Web/src/hooks/useLicenses.tsx
index 94ae7c968..aeb6c5845 100644
--- a/src/FilterLists.Web/src/hooks/useLicenses.tsx
+++ b/src/FilterLists.Web/src/hooks/useLicenses.tsx
@@ -1,7 +1,5 @@
-import { License } from "../interfaces/License";
-import { useApiData } from "./useApiData";
+import { License } from '../interfaces/License';
+import { useApiData } from './useApiData';
-export const useLicenses = () =>
- (useApiData("/api/v1/licenses") || []).sort(
- (a: License, b: License) => a.name.localeCompare(b.name)
- );
+export const useLicenses = () => (useApiData("/api/v1/licenses") || [])
+ .sort((a: License, b: License) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useLists.tsx b/src/FilterLists.Web/src/hooks/useLists.tsx
index 265ede5d9..ffdadc769 100644
--- a/src/FilterLists.Web/src/hooks/useLists.tsx
+++ b/src/FilterLists.Web/src/hooks/useLists.tsx
@@ -1,11 +1,12 @@
-import slugify from "slugify";
+import slugify from 'slugify';
-import { SlugifyOptions } from "../constants";
-import { List } from "../interfaces/List";
-import { useApiData } from "./useApiData";
+import { SlugifyOptions } from '../constants';
+import { List } from '../interfaces/List';
+import { useApiData } from './useApiData';
export const useLists = () => {
const lists = useApiData("/api/v1/lists");
- lists && lists.forEach(l => (l.slug = slugify(l.name, SlugifyOptions)));
- return (lists || []).sort((a: List, b: List) => a.name.localeCompare(b.name));
-};
+ lists && lists.forEach(l => l.slug = slugify(l.name, SlugifyOptions));
+ return (lists || [])
+ .sort((a: List, b: List) => a.name.localeCompare(b.name));
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useMaintainers.tsx b/src/FilterLists.Web/src/hooks/useMaintainers.tsx
index 4acd1c445..69bcb8dfe 100644
--- a/src/FilterLists.Web/src/hooks/useMaintainers.tsx
+++ b/src/FilterLists.Web/src/hooks/useMaintainers.tsx
@@ -1,7 +1,5 @@
-import { Maintainer } from "../interfaces/Maintainer";
-import { useApiData } from "./useApiData";
+import { Maintainer } from '../interfaces/Maintainer';
+import { useApiData } from './useApiData';
-export const useMaintainers = () =>
- (useApiData("/api/v1/maintainers") || []).sort(
- (a: Maintainer, b: Maintainer) => a.name.localeCompare(b.name)
- );
+export const useMaintainers = () => (useApiData("/api/v1/maintainers") || [])
+ .sort((a: Maintainer, b: Maintainer) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useSearchColumnFilter.tsx b/src/FilterLists.Web/src/hooks/useSearchColumnFilter.tsx
index b103d553d..1b435def0 100644
--- a/src/FilterLists.Web/src/hooks/useSearchColumnFilter.tsx
+++ b/src/FilterLists.Web/src/hooks/useSearchColumnFilter.tsx
@@ -1,11 +1,9 @@
-import { Button, Icon, Input } from "antd";
-import { FilterDropdownProps } from "antd/lib/table";
-import React, { useEffect, useState } from "react";
+import { Button, Icon, Input } from 'antd';
+import { FilterDropdownProps } from 'antd/lib/table';
+import React, { useEffect, useState } from 'react';
interface FilterPropsState {
- filterDropdown?:
- | React.ReactNode
- | ((props: FilterDropdownProps) => React.ReactNode);
+ filterDropdown?: React.ReactNode | ((props: FilterDropdownProps) => React.ReactNode);
filterIcon?: React.ReactNode | ((filtered: boolean) => React.ReactNode);
onFilter?: (value: any, record: T) => boolean;
}
@@ -24,59 +22,36 @@ export const useSearchColumnFilter = (dataIndex: string) => {
clearFilters && clearFilters([]);
};
setFilterProps({
- filterDropdown: ({
- setSelectedKeys,
- selectedKeys,
- confirm,
- clearFilters
- }) => (
+ filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (
- setSelectedKeys &&
- setSelectedKeys(e.target.value ? [e.target.value] : [])
- }
+ onChange={e => setSelectedKeys && setSelectedKeys(e.target.value ? [e.target.value] : [])}
onPressEnter={() => handleSearch(confirm)}
- style={{ width: 188, marginBottom: 8, display: "block" }}
- />
+ style={{ width: 188, marginBottom: 8, display: 'block' }} />
+
+
),
- filterIcon: filtered => (
-
- ),
+ filterIcon: filtered => ,
onFilter: (value, record) => {
const searchValue = (record as any)[dataIndex];
- return (
- searchValue &&
- searchValue
- .toString()
- .toLowerCase()
- .includes(value.toString().toLowerCase())
- );
+ return searchValue && searchValue.toString().toLowerCase().includes(value.toString().toLowerCase())
}
- });
+ })
}, [dataIndex]);
return filterProps;
-};
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useSoftware.tsx b/src/FilterLists.Web/src/hooks/useSoftware.tsx
index 4f20e12bf..452871f19 100644
--- a/src/FilterLists.Web/src/hooks/useSoftware.tsx
+++ b/src/FilterLists.Web/src/hooks/useSoftware.tsx
@@ -1,7 +1,5 @@
-import { Software } from "../interfaces/Software";
-import { useApiData } from "./useApiData";
+import { Software } from '../interfaces/Software';
+import { useApiData } from './useApiData';
-export const useSoftware = () =>
- (useApiData("/api/v1/software") || []).sort(
- (a: Software, b: Software) => a.name.localeCompare(b.name)
- );
+export const useSoftware = () => (useApiData("/api/v1/software") || [])
+ .sort((a: Software, b: Software) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useSyntaxes.tsx b/src/FilterLists.Web/src/hooks/useSyntaxes.tsx
index a3ae4a2db..e3cd1b3ce 100644
--- a/src/FilterLists.Web/src/hooks/useSyntaxes.tsx
+++ b/src/FilterLists.Web/src/hooks/useSyntaxes.tsx
@@ -1,7 +1,5 @@
-import { Syntax } from "../interfaces/Syntax";
-import { useApiData } from "./useApiData";
+import { Syntax } from '../interfaces/Syntax';
+import { useApiData } from './useApiData';
-export const useSyntaxes = () =>
- (useApiData("/api/v1/syntaxes") || []).sort(
- (a: Syntax, b: Syntax) => a.name.localeCompare(b.name)
- );
+export const useSyntaxes = () => (useApiData("/api/v1/syntaxes") || [])
+ .sort((a: Syntax, b: Syntax) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useTablePageSizer.tsx b/src/FilterLists.Web/src/hooks/useTablePageSizer.tsx
index 38e4f2b5b..bd225a280 100644
--- a/src/FilterLists.Web/src/hooks/useTablePageSizer.tsx
+++ b/src/FilterLists.Web/src/hooks/useTablePageSizer.tsx
@@ -1,16 +1,16 @@
-import { useEffect, useState } from "react";
+import { useEffect, useState } from 'react';
interface TablePageSize {
pageSize: number;
isNarrowWindow: boolean;
-}
+};
export const useTablePageSizer = () => {
const [state, setState] = useState(calculateSize());
useEffect(() => {
const updatePageSize = () => setState(calculateSize());
- window.addEventListener("resize", updatePageSize);
- return () => window.removeEventListener("resize", updatePageSize);
+ window.addEventListener('resize', updatePageSize);
+ return () => window.removeEventListener('resize', updatePageSize);
}, []);
return state;
};
@@ -18,4 +18,4 @@ export const useTablePageSizer = () => {
const calculateSize = () => ({
pageSize: Math.floor((window.innerHeight - 184) / 57),
isNarrowWindow: window.innerWidth < 576 ? true : false
-});
+});
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/hooks/useTags.tsx b/src/FilterLists.Web/src/hooks/useTags.tsx
index 6faf3cb9d..7f5de56e5 100644
--- a/src/FilterLists.Web/src/hooks/useTags.tsx
+++ b/src/FilterLists.Web/src/hooks/useTags.tsx
@@ -1,7 +1,5 @@
-import { Tag } from "../interfaces/Tag";
-import { useApiData } from "./useApiData";
+import { Tag } from '../interfaces/Tag';
+import { useApiData } from './useApiData';
-export const useTags = () =>
- (useApiData("/api/v1/tags") || []).sort((a: Tag, b: Tag) =>
- a.name.localeCompare(b.name)
- );
+export const useTags = () => (useApiData("/api/v1/tags") || [])
+ .sort((a: Tag, b: Tag) => a.name.localeCompare(b.name));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/index.tsx b/src/FilterLists.Web/src/index.tsx
index f0dbcb5c2..8fec59ed5 100644
--- a/src/FilterLists.Web/src/index.tsx
+++ b/src/FilterLists.Web/src/index.tsx
@@ -1,8 +1,8 @@
-import "./index.css";
+import './index.css';
-import React from "react";
-import ReactDOM from "react-dom";
+import React from 'react';
+import ReactDOM from 'react-dom';
-import { App } from "./App";
+import { App } from './App';
-ReactDOM.render(, document.getElementById("root"));
+ReactDOM.render(, document.getElementById('root'));
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/Language.ts b/src/FilterLists.Web/src/interfaces/Language.ts
index af4d69de7..8adf69639 100644
--- a/src/FilterLists.Web/src/interfaces/Language.ts
+++ b/src/FilterLists.Web/src/interfaces/Language.ts
@@ -3,4 +3,4 @@ export interface Language {
filterListIds: number[];
iso6391: string;
name: string;
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/License.ts b/src/FilterLists.Web/src/interfaces/License.ts
index 841df2905..765fd1c51 100644
--- a/src/FilterLists.Web/src/interfaces/License.ts
+++ b/src/FilterLists.Web/src/interfaces/License.ts
@@ -3,4 +3,4 @@ export interface License {
descriptionUrl: string;
filterListIds: number[];
name: string;
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/List.ts b/src/FilterLists.Web/src/interfaces/List.ts
index 901184ab1..09ae2972e 100644
--- a/src/FilterLists.Web/src/interfaces/List.ts
+++ b/src/FilterLists.Web/src/interfaces/List.ts
@@ -22,4 +22,4 @@
// auto-generated by useLists hook
slug: string;
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/Maintainer.ts b/src/FilterLists.Web/src/interfaces/Maintainer.ts
index aa3746832..794b934a9 100644
--- a/src/FilterLists.Web/src/interfaces/Maintainer.ts
+++ b/src/FilterLists.Web/src/interfaces/Maintainer.ts
@@ -5,4 +5,4 @@ export interface Maintainer {
homeUrl: string;
name: string;
twitterHandle: string;
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/Software.ts b/src/FilterLists.Web/src/interfaces/Software.ts
index dd8d151ac..e4582b01d 100644
--- a/src/FilterLists.Web/src/interfaces/Software.ts
+++ b/src/FilterLists.Web/src/interfaces/Software.ts
@@ -4,4 +4,4 @@ export interface Software {
isAbpSubscribable: boolean;
name: string;
syntaxIds: number[];
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/Syntax.ts b/src/FilterLists.Web/src/interfaces/Syntax.ts
index 0873306d9..35b69000c 100644
--- a/src/FilterLists.Web/src/interfaces/Syntax.ts
+++ b/src/FilterLists.Web/src/interfaces/Syntax.ts
@@ -4,4 +4,4 @@ export interface Syntax {
filterListIds: number[];
name: string;
softwareIds: number[];
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/interfaces/Tag.ts b/src/FilterLists.Web/src/interfaces/Tag.ts
index 4141dd434..755e683f7 100644
--- a/src/FilterLists.Web/src/interfaces/Tag.ts
+++ b/src/FilterLists.Web/src/interfaces/Tag.ts
@@ -3,4 +3,4 @@ export interface Tag {
description: string;
filterListIds: number[];
name: string;
-}
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/react-app-env.d.ts b/src/FilterLists.Web/src/react-app-env.d.ts
index 6431bc5fc..6889c6b37 100644
--- a/src/FilterLists.Web/src/react-app-env.d.ts
+++ b/src/FilterLists.Web/src/react-app-env.d.ts
@@ -1 +1 @@
-///
+///
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/utils/index.ts b/src/FilterLists.Web/src/utils/index.ts
index 844235139..d22b49973 100644
--- a/src/FilterLists.Web/src/utils/index.ts
+++ b/src/FilterLists.Web/src/utils/index.ts
@@ -1,3 +1,3 @@
-import { nameof } from "./nameof";
+import { nameof } from './nameof';
-export { nameof };
+export { nameof };
\ No newline at end of file
diff --git a/src/FilterLists.Web/src/utils/nameof.ts b/src/FilterLists.Web/src/utils/nameof.ts
index 282dd0ab2..5a09f50fa 100644
--- a/src/FilterLists.Web/src/utils/nameof.ts
+++ b/src/FilterLists.Web/src/utils/nameof.ts
@@ -1,2 +1,2 @@
//https://stackoverflow.com/a/50470026/2343739
-export const nameof = (name: Extract) => name;
+export const nameof = (name: Extract) => name;
\ No newline at end of file