diff --git a/src/pages/parts/admin/M3U8TestPart.tsx b/src/pages/parts/admin/M3U8TestPart.tsx index 5cb4d1b4..f792542b 100644 --- a/src/pages/parts/admin/M3U8TestPart.tsx +++ b/src/pages/parts/admin/M3U8TestPart.tsx @@ -6,16 +6,10 @@ import { Button } from "@/components/buttons/Button"; import { Toggle } from "@/components/buttons/Toggle"; import { Icon, Icons } from "@/components/Icon"; import { Box } from "@/components/layout/Box"; -import { AuthInputBox } from "@/components/text-inputs/AuthInputBox"; import { Divider } from "@/components/utils/Divider"; import { Heading2 } from "@/components/utils/Text"; import { getM3U8ProxyUrls } from "@/utils/proxyUrls"; -interface M3U8Proxy { - id: string; - url: string; -} - export function M3U8ProxyItem(props: { name: string; errored?: boolean; @@ -63,26 +57,13 @@ export function M3U8ProxyItem(props: { } export function M3U8TestPart() { - const defaultProxyList = useMemo(() => { + const m3u8ProxyList = useMemo(() => { return getM3U8ProxyUrls().map((v, ind) => ({ id: ind.toString(), url: v, })); }, []); - // Load editable proxy list from localStorage - const [m3u8ProxyList, setM3u8ProxyList] = useState(() => { - const saved = localStorage.getItem("m3u8-proxy-list"); - if (saved) { - try { - return JSON.parse(saved); - } catch { - return defaultProxyList; - } - } - return defaultProxyList; - }); - // Load enabled proxies from localStorage const [enabledProxies, setEnabledProxies] = useState>( () => { @@ -99,11 +80,6 @@ export function M3U8TestPart() { }, ); - // Save proxy list to localStorage - useEffect(() => { - localStorage.setItem("m3u8-proxy-list", JSON.stringify(m3u8ProxyList)); - }, [m3u8ProxyList]); - // Save enabled proxies to localStorage useEffect(() => { localStorage.setItem("m3u8-proxy-enabled", JSON.stringify(enabledProxies)); @@ -130,9 +106,9 @@ export function M3U8TestPart() { setProxyState([]); const activeProxies = m3u8ProxyList.filter( - (proxy: M3U8Proxy) => enabledProxies[proxy.id], + (proxy) => enabledProxies[proxy.id], ); - const proxyPromises = activeProxies.map(async (proxy: M3U8Proxy) => { + const proxyPromises = activeProxies.map(async (proxy) => { try { if (proxy.url.endsWith("/")) { updateProxy(proxy.id, { @@ -177,76 +153,29 @@ export function M3U8TestPart() { })); }; - const addProxy = () => { - const newId = Date.now().toString(); - setM3u8ProxyList((prev: M3U8Proxy[]) => [...prev, { id: newId, url: "" }]); - setEnabledProxies((prev) => ({ ...prev, [newId]: true })); - }; - - const changeProxy = (id: string, url: string) => { - setM3u8ProxyList((prev: M3U8Proxy[]) => - prev.map((proxy: M3U8Proxy) => - proxy.id === id ? { ...proxy, url } : proxy, - ), - ); - }; - - const removeProxy = (id: string) => { - setM3u8ProxyList((prev: M3U8Proxy[]) => - prev.filter((proxy: M3U8Proxy) => proxy.id !== id), - ); - setEnabledProxies((prev) => { - const newEnabled = { ...prev }; - delete newEnabled[id]; - return newEnabled; - }); - }; - - const resetProxies = () => { - setM3u8ProxyList(defaultProxyList); - setEnabledProxies( - Object.fromEntries( - defaultProxyList.map((proxy: M3U8Proxy) => [proxy.id, true]), - ), - ); - }; - - const allEnabled = m3u8ProxyList.every( - (proxy: M3U8Proxy) => enabledProxies[proxy.id], - ); - const noneEnabled = m3u8ProxyList.every( - (proxy: M3U8Proxy) => !enabledProxies[proxy.id], - ); + const allEnabled = m3u8ProxyList.every((proxy) => enabledProxies[proxy.id]); + const noneEnabled = m3u8ProxyList.every((proxy) => !enabledProxies[proxy.id]); const handleToggleAll = () => { if (allEnabled) { // Disable all setEnabledProxies( - Object.fromEntries( - m3u8ProxyList.map((proxy: M3U8Proxy) => [proxy.id, false]), - ), + Object.fromEntries(m3u8ProxyList.map((proxy) => [proxy.id, false])), ); } else { // Enable all setEnabledProxies( - Object.fromEntries( - m3u8ProxyList.map((proxy: M3U8Proxy) => [proxy.id, true]), - ), + Object.fromEntries(m3u8ProxyList.map((proxy) => [proxy.id, true])), ); } }; const enabledCount = m3u8ProxyList.filter( - (proxy: M3U8Proxy) => enabledProxies[proxy.id], + (proxy) => enabledProxies[proxy.id], ).length; return ( <> - M3U8 Proxy Configuration - -

M3U8 Proxy URLs

-
- M3U8 Proxy tests

@@ -262,7 +191,7 @@ export function M3U8TestPart() {

- {m3u8ProxyList.map((v: M3U8Proxy, i: number) => { + {m3u8ProxyList.map((v, i) => { const s = proxyState.find((segment) => segment.id === v.id); const name = `M3U8 Proxy ${i + 1}`; const enabled = enabledProxies[v.id]; @@ -380,40 +309,6 @@ export function M3U8TestPart() { )} - -
- {m3u8ProxyList.length === 0 ? ( -

No M3U8 proxies configured.

- ) : ( - m3u8ProxyList.map((proxy: M3U8Proxy) => ( -
- changeProxy(proxy.id, url)} - placeholder="https://" - /> - -
- )) - )} -
-
- - -
);