Skip to content

Commit 7c52730

Browse files
committed
Improved popup buttons #992
1 parent ae3ae00 commit 7c52730

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/pages/popup_src/Buttons.svelte

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import SettingsIcon from "../icons/SettingsIcon.svelte"
1111
import { options, config } from "./stores"
1212
import { onDestroy } from "svelte"
13-
import servicesHelper, { computeFrontend } from "../../assets/javascripts/services"
13+
import servicesHelper from "../../assets/javascripts/services"
1414
import Switch from "./components/Switch.svelte"
1515
import AutoPickIcon from "../icons/AutoPickIcon.svelte"
1616
import utils from "../../assets/javascripts/utils"
@@ -53,14 +53,18 @@
5353
options.set(_options)
5454
const newUrl = await servicesHelper.switchInstance(url, service)
5555
browser.tabs.update({ url: newUrl })
56+
window.close()
5657
}
5758
58-
async function autoPick() {
59+
async function autoPickInstance() {
5960
autoPicking = true
6061
const redirects = await utils.getList(_options)
61-
const instances = utils.randomInstances(redirects[frontend]["clearnet"], 5)
62+
const clearnet = redirects[frontend]["clearnet"]
63+
const i = clearnet.findIndex(instance => url.href.startsWith(instance))
64+
if (i >= 0) clearnet.splice(i, 1)
65+
const randomInstances = utils.randomInstances(clearnet, 5)
6266
const pings = await Promise.all([
63-
...instances.map(async instance => {
67+
...randomInstances.map(async instance => {
6468
return [instance, await utils.ping(instance)]
6569
}),
6670
])
@@ -71,20 +75,21 @@
7175
}
7276
7377
async function addAutoPickInstance() {
74-
await autoPick()
75-
const newUrl = await servicesHelper.switchInstance(url)
76-
browser.tabs.update({ url: newUrl })
78+
await autoPickInstance()
79+
browser.tabs.update({ url: await servicesHelper.switchInstance(url, service) }, () => {
80+
window.close()
81+
})
7782
}
7883
7984
async function removeAndAutoPickInstance() {
8085
const i = _options[frontend].findIndex(instance => url.href.startsWith(instance))
8186
_options[frontend].splice(i, 1)
8287
options.set(_options)
83-
await autoPick()
84-
const newUrl = await servicesHelper.switchInstance(url, service)
85-
browser.tabs.update({ url: newUrl })
88+
await autoPickInstance()
89+
browser.tabs.update({ url: await servicesHelper.switchInstance(url, service) }, () => {
90+
window.close()
91+
})
8692
}
87-
$: console.log("autoPicking", autoPicking)
8893
</script>
8994

9095
<div class={document.body.dir}>
@@ -94,7 +99,9 @@
9499
on:click={() => {
95100
browser.tabs.query({ active: true, currentWindow: true }, tabs => {
96101
browser.runtime.sendMessage({ message: "redirect", tabId: tabs[0].id }, () => {
97-
browser.tabs.update({ url: redirect })
102+
browser.tabs.update({ url: redirect }, () => {
103+
window.close()
104+
})
98105
})
99106
})
100107
}}

0 commit comments

Comments
 (0)