Skip to content

Commit

Permalink
feat: config for delay test
Browse files Browse the repository at this point in the history
  • Loading branch information
Zephyruso authored and Zephyruso committed Sep 2, 2023
1 parent 40ae24f commit e92ce75
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 24 deletions.
1 change: 1 addition & 0 deletions src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,5 @@ export default {
bar: 'Bar',
auto: 'Auto',
proxiesPreviewType: 'Proxies preview type',
urlForDelayTest: 'Url for delay test',
}
1 change: 1 addition & 0 deletions src/i18n/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,5 @@ export default {
bar: '条形',
auto: '自适应',
proxiesPreviewType: '节点组预览样式',
urlForDelayTest: '测速链接',
}
62 changes: 39 additions & 23 deletions src/pages/Config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,36 +132,52 @@ export const [proxiesPreviewType, setProxiesPreviewType] = makePersisted(
createSignal(PROXIES_PREVIEW_TYPE.BAR),
{ name: 'proxiesPreviewType', storage: localStorage },
)
export const [urlForDelayTest, setUrlForDelayTest] = makePersisted(
createSignal('https://www.gstatic.com/generate_204'),
{ name: 'urlForDelayTest', storage: localStorage },
)

export default () => {
const ConfigForXd = () => {
const [t] = useI18n()

return (
<>
<div>{t('proxiesPreviewType')}</div>
<div class="flex">
<For each={Object.values(PROXIES_PREVIEW_TYPE)}>
{(value) => (
<label class="flex items-center">
{t(value)}
<input
class="radio m-4"
aria-label={value}
type="radio"
name="proxiesPreviewType"
checked={value === proxiesPreviewType()}
onChange={() => setProxiesPreviewType(value)}
/>
</label>
)}
</For>
</div>
<div>{t('urlForDelayTest')}</div>
<div>
<input
class="input input-bordered w-96"
value={urlForDelayTest()}
onChange={(e) => setUrlForDelayTest(e.target?.value!)}
/>
</div>
</>
)
}

export default () => {
return (
<div class="flex flex-col gap-4">
<DNSQueryForm />

<ConfigForm />

<div>
<div>{t('proxiesPreviewType')}</div>
<div class="flex">
<For each={Object.values(PROXIES_PREVIEW_TYPE)}>
{(value) => (
<label class="flex items-center">
{t(value)}
<input
class="radio m-4"
aria-label={value}
type="radio"
name="proxiesPreviewType"
checked={value === proxiesPreviewType()}
onChange={() => setProxiesPreviewType(value)}
/>
</label>
)}
</For>
</div>
</div>
<ConfigForXd />
</div>
)
}
3 changes: 2 additions & 1 deletion src/signals/proxies.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { createSignal } from 'solid-js'
import { urlForDelayTest } from '~/pages/Config'
import { useRequest } from '~/signals'
import type { Proxy, ProxyNode, ProxyProvider } from '~/types'

Expand Down Expand Up @@ -86,7 +87,7 @@ export function useProxies() {
const data: Record<string, number> = await request
.get(`group/${proxyGroupName}/delay`, {
searchParams: {
url: 'https://www.gstatic.com/generate_204',
url: urlForDelayTest(),
timeout: 2000,
},
})
Expand Down

0 comments on commit e92ce75

Please sign in to comment.