update
This commit is contained in:
16
browser_extension/config/popup.html
Normal file
16
browser_extension/config/popup.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body { width: 200px; padding: 10px; font-family: sans-serif; font-size: 14px; }
|
||||
h3 { margin: 0 0 8px; }
|
||||
label { display: block; padding: 4px 0; cursor: pointer; }
|
||||
.error { color: red; font-size: 12px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Profil</h3>
|
||||
<div id="profiles"></div>
|
||||
<script src="popup.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
30
browser_extension/config/popup.js
Normal file
30
browser_extension/config/popup.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const SERVER_URL = "http://localhost:8000/profiles";
|
||||
const container = document.getElementById("profiles");
|
||||
|
||||
async function load() {
|
||||
try {
|
||||
const res = await fetch(SERVER_URL);
|
||||
const profiles = await res.json();
|
||||
const stored = await browser.storage.local.get("profileId");
|
||||
const selectedId = stored.profileId || null;
|
||||
|
||||
for (const profile of profiles) {
|
||||
const label = document.createElement("label");
|
||||
const radio = document.createElement("input");
|
||||
radio.type = "radio";
|
||||
radio.name = "profile";
|
||||
radio.value = profile.id;
|
||||
radio.checked = profile.id === selectedId;
|
||||
radio.addEventListener("change", () => {
|
||||
browser.storage.local.set({ profileId: profile.id });
|
||||
});
|
||||
label.appendChild(radio);
|
||||
label.appendChild(document.createTextNode(" " + profile.name));
|
||||
container.appendChild(label);
|
||||
}
|
||||
} catch {
|
||||
container.innerHTML = '<span class="error">Server nicht erreichbar</span>';
|
||||
}
|
||||
}
|
||||
|
||||
load();
|
||||
Reference in New Issue
Block a user