diff --git a/README.MD b/README.MD
index 4788071..5b0d050 100644
--- a/README.MD
+++ b/README.MD
@@ -1,19 +1,20 @@
# Mango
-Obliterates rounded corners... BECAUSE I HATE THEM
+I declare war to rouded corners!
-
+
-
-
+## Example
+
## How it works
-``* {
+```css
+* {
border-radius: 0 !important;
-}``
-That's everything we inject into your page, feel free to check the source code to be sure we're not doing anything malicious.
+}
+```
+This CSS tells your browser that everything (`*`) should have the property `border-radius` (amount of rounded corner) to 0.
-## Why 'Mango'
-Mango is the codename of the first Windows Phone OS to have a codename (Windows Phone 7.5). I had a WP as a child and I always loved the "minimalist square" design of Windows Phone.
+The extension just injects this into your page after checking if the page is whitelisted. This extension is so tiny that you can review `mango.js` and `main.js` by yourself or with help of AI.
-## Contributing
-Just do a pull request
\ No newline at end of file
+## Why Mango
+Mango is the codename of _Windows Phone 7.5_, the first version to adopt Microslop's "Metro UI". I grew up as a kid using Windows Phone and that shaped the way I see rounded corners—and I absolutely hate them.
\ No newline at end of file
diff --git a/Firefox-badges.jpg b/img/Firefox-badges.jpg
similarity index 100%
rename from Firefox-badges.jpg
rename to img/Firefox-badges.jpg
diff --git a/mango.html b/mango.html
index e1e3020..328e951 100644
--- a/mango.html
+++ b/mango.html
@@ -1,17 +1,20 @@
- Mango
-
-
+ Mango
+
+
mango
whitelist
+ example.com
+ example2.com" id="whitelist" rows="10" cols="30">
save
- source-code
+ enabled
+
diff --git a/mango.js b/mango.js
index 96adbb6..6a712fb 100644
--- a/mango.js
+++ b/mango.js
@@ -1,26 +1,31 @@
-console.log("[Mango] Let's get the business done.")
+const currentHostname = location.hostname;
+let enabled = true;
+
+browser.storage.local.get("enabled").then((result) => {
+ enabled = result.enabled ?? true;
+}).catch((error) => {
+ console.error("Error retrieving enabled state:", error);
+});
+
function checkWhitelist(url) {
- return browser.storage.local.get("whitelist").then((result) => {
- const whitelist = result.whitelist || [];
- return whitelist.includes(url);
- });
- }
-
- const currentHostname = location.hostname;
-
- checkWhitelist(currentHostname).then((isWhitelisted) => {
- if (!isWhitelisted) {
- const styles = `
+ return browser.storage.local.get("whitelist").then((result) => {
+ const whitelist = result.whitelist || [];
+ return whitelist.includes(url);
+ });
+}
+
+checkWhitelist(currentHostname).then((isWhitelisted) => {
+ if (!isWhitelisted && enabled) {
+ const styles = `
* {
- border-radius: 0 !important;
+ border-radius: 0 !important;
}
`;
- const injectedStyle = document.createElement("style");
- injectedStyle.type = "text/css";
- injectedStyle.innerText = styles;
- document.head.appendChild(injectedStyle);
- } else {
- console.log("[Mango] Mercy! This page is whitelisted.")
- }
- });
+ const injectedStyle = document.createElement("style");
+ injectedStyle.type = "text/css";
+ injectedStyle.id = "mangoInjectedStyle";
+ injectedStyle.innerText = styles;
+ document.head.appendChild(injectedStyle);
+ }
+});
diff --git a/mangoui.js b/mangoui.js
deleted file mode 100644
index 6678764..0000000
--- a/mangoui.js
+++ /dev/null
@@ -1,14 +0,0 @@
-document.getElementById('whitelistSave').addEventListener('click', () => {
- const whitelist = document.getElementById('whitelist').value.split('\n').map(line => line.trim()).filter(line => line);
- browser.storage.local.set({ whitelist: whitelist });
- console.log('Whitelist saved!');
- });
-
-
- browser.storage.local.get("whitelist").then((result) => {
- const whitelist = result.whitelist || [];
- document.getElementById('whitelist').value = whitelist.join('\n');
- }).catch((error) => {
- console.error("Error retrieving the whitelist:", error);
- });
-
\ No newline at end of file
diff --git a/mangoUI.css b/menu/main.css
similarity index 54%
rename from mangoUI.css
rename to menu/main.css
index 3af64cc..4d81f11 100644
--- a/mangoUI.css
+++ b/menu/main.css
@@ -1,11 +1,22 @@
+:root {
+ --accent: orangered;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
body {
background-color: black;
color: white;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+ padding: 1em;
}
a {
- color: orangered;
+ color: var(--accent);
text-decoration: none;
}
@@ -26,26 +37,53 @@ body::before {
opacity: .25;
}
-#whitelist {
+textarea {
+ outline: medium solid transparent;
+ transition: .4s;
background-color: black;
margin-bottom: 10px;
color: white;
+ border: thin solid white;
+ padding: .4em;
}
-#title {
+textarea:focus {
+ outline-color: var(--accent);
+}
+
+h1 {
font-weight: 300;
- font-size: 50px;
+ font-size: 3em;
margin: 0;
}
-#whitelistSave {
+h2 {
+ margin-bottom: .4em;
+}
+
+button {
+ transition: .2s;
border: 1px solid white;
background-color: black;
color: white;
font-size: large;
+ padding: .2em;
+}
+
+button:hover {
+ background-color: white;
+ color: black;
}
h2 {
font-weight: 300;
margin-top: 0;
+}
+
+footer {
+ margin-top: 1em;
+}
+
+#version {
+ opacity: .6;
}
\ No newline at end of file
diff --git a/menu/main.js b/menu/main.js
new file mode 100644
index 0000000..d63802f
--- /dev/null
+++ b/menu/main.js
@@ -0,0 +1,33 @@
+let enabled = true;
+
+const toggleButton = document.getElementById("toggle");
+updateButtonText();
+
+function updateButtonText() {
+ toggleButton.textContent = enabled ? "disable" : "enable";
+}
+
+document.getElementById('whitelistSave').addEventListener('click', () => {
+ const whitelist = document.getElementById('whitelist').value.split('\n').map(line => line.trim()).filter(line => line);
+ browser.storage.local.set({ whitelist: whitelist });
+});
+
+browser.storage.local.get("enabled").then((result) => {
+ enabled = result.enabled ?? true;
+ updateButtonText();
+}).catch((error) => {
+ console.error("Error retrieving enabled state:", error);
+});
+
+browser.storage.local.get("whitelist").then((result) => {
+ const whitelist = result.whitelist || [];
+ document.getElementById('whitelist').value = whitelist.join('\n');
+}).catch((error) => {
+ console.error("Error retrieving the whitelist:", error);
+});
+
+toggleButton.addEventListener('click', () => {
+ enabled = !enabled;
+ updateButtonText();
+ browser.storage.local.set({enabled: enabled});
+})
\ No newline at end of file