notdevkey
notdevkey
Explore posts from servers
PD🧩 Plasmo Developers
Created by notdevkey on 9/11/2023 in #👾extension
How do I access the current website URL from Plasmo popup?
this is a quick and ugly looking code, but it works RainbowRoach
4 replies
PD🧩 Plasmo Developers
Created by notdevkey on 9/11/2023 in #👾extension
How do I access the current website URL from Plasmo popup?
just found the solution, for anyone wondering
const [currentTab, setCurrentTab] = useState("");

useEffect(
() =>
chrome.tabs.query(
{
active: true,
currentWindow: true,
},
function (tabs) {
const tab = tabs[0];
if (tab.url) {
setCurrentTab(tab.url);
}
},
),
[chrome],
);

return (
<Switch
className="data-[state=checked]:bg-green-500"
checked={!settings.disabledHosts.includes(currentTab)}
onCheckedChange={(isChecked) =>
isChecked
? setSettings((prev) => ({
...prev,
disabledHosts: settings.disabledHosts.filter(
(host) => host !== currentTab,
),
}))
: setSettings((prev) => ({
...prev,
disabledHosts: [...settings.disabledHosts, currentTab],
}))
}
/>
)
const [currentTab, setCurrentTab] = useState("");

useEffect(
() =>
chrome.tabs.query(
{
active: true,
currentWindow: true,
},
function (tabs) {
const tab = tabs[0];
if (tab.url) {
setCurrentTab(tab.url);
}
},
),
[chrome],
);

return (
<Switch
className="data-[state=checked]:bg-green-500"
checked={!settings.disabledHosts.includes(currentTab)}
onCheckedChange={(isChecked) =>
isChecked
? setSettings((prev) => ({
...prev,
disabledHosts: settings.disabledHosts.filter(
(host) => host !== currentTab,
),
}))
: setSettings((prev) => ({
...prev,
disabledHosts: [...settings.disabledHosts, currentTab],
}))
}
/>
)
and also add
"permissions": [
"activeTab",
"tabs"
],
"permissions": [
"activeTab",
"tabs"
],
to manifest in package.json
4 replies