diff --git a/Color Splash/manifest.json b/Color Splash/manifest.json
new file mode 100644
index 00000000..b27f6cff
--- /dev/null
+++ b/Color Splash/manifest.json
@@ -0,0 +1,19 @@
+{
+ "manifest_version": 3,
+ "name": "ColorSplash",
+ "version": "1.2",
+ "description": "An interactive Chrome extension to change and save the background colors of the current page with advanced features.",
+ "permissions": [
+ "activeTab",
+ "scripting",
+ "storage"
+ ],
+ "action": {
+ "default_popup": "popup.html",
+ "default_icon": {
+ "16": "icons/icon16.png",
+ "48": "icons/icon48.png",
+ "128": "icons/icon128.png"
+ }
+ }
+}
diff --git a/Color Splash/popup.css b/Color Splash/popup.css
new file mode 100644
index 00000000..93c60d2b
--- /dev/null
+++ b/Color Splash/popup.css
@@ -0,0 +1,73 @@
+body {
+ width: 300px;
+ height: 400px;
+ font-family: 'Roboto', sans-serif;
+ text-align: center;
+ background: linear-gradient(135deg, #f5f7fa, #c3cfe2);
+ color: #333;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.container {
+ width: 90%;
+}
+
+h1 {
+ font-size: 24px;
+ margin-bottom: 20px;
+ color: #005F73;
+}
+
+.color-picker,
+.gradient-picker {
+ margin-bottom: 15px;
+}
+
+input[type="color"] {
+ padding: 5px;
+ margin-right: 5px;
+ border: none;
+ cursor: pointer;
+}
+
+.btn {
+ padding: 10px 15px;
+ margin: 5px;
+ background-color: #008CBA;
+ color: white;
+ border: none;
+ border-radius: 5px;
+ cursor: pointer;
+ transition: background-color 0.3s, transform 0.3s;
+}
+
+.btn:hover {
+ background-color: #005F73;
+ transform: scale(1.05);
+}
+
+#favorites {
+ margin-top: 20px;
+}
+
+#favoriteColors {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+}
+
+.favorite-color {
+ width: 30px;
+ height: 30px;
+ margin: 5px;
+ cursor: pointer;
+ border-radius: 50%;
+ transition: transform 0.3s, box-shadow 0.3s;
+}
+
+.favorite-color:hover {
+ transform: scale(1.2);
+ box-shadow: 0 0 10px rgba(0,0,0,0.3);
+}
diff --git a/Color Splash/popup.html b/Color Splash/popup.html
new file mode 100644
index 00000000..2f8e7905
--- /dev/null
+++ b/Color Splash/popup.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+ ColorSplash
+
+
+
+
+
ColorSplash
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Color Splash/popup.js b/Color Splash/popup.js
new file mode 100644
index 00000000..db601ddf
--- /dev/null
+++ b/Color Splash/popup.js
@@ -0,0 +1,92 @@
+document.getElementById('applyColor').addEventListener('click', () => {
+ const color = document.getElementById('colorInput').value;
+ changeBackgroundColor(color);
+});
+
+document.getElementById('randomColor').addEventListener('click', () => {
+ const color = getRandomColor();
+ changeBackgroundColor(color);
+});
+
+document.getElementById('applyGradient').addEventListener('click', () => {
+ const startColor = document.getElementById('gradientStart').value;
+ const endColor = document.getElementById('gradientEnd').value;
+ changeBackgroundGradient(startColor, endColor);
+});
+
+document.getElementById('saveColor').addEventListener('click', () => {
+ const color = document.getElementById('colorInput').value;
+ saveFavoriteColor(color);
+});
+
+document.addEventListener('DOMContentLoaded', loadFavoriteColors);
+
+function changeBackgroundColor(color) {
+ chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
+ chrome.scripting.executeScript({
+ target: { tabId: tabs[0].id },
+ function: setPageBackgroundColor,
+ args: [color]
+ });
+ });
+}
+
+function setPageBackgroundColor(color) {
+ document.body.style.backgroundColor = color;
+}
+
+function changeBackgroundGradient(startColor, endColor) {
+ chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
+ chrome.scripting.executeScript({
+ target: { tabId: tabs[0].id },
+ function: setPageBackgroundGradient,
+ args: [startColor, endColor]
+ });
+ });
+}
+
+function setPageBackgroundGradient(startColor, endColor) {
+ document.body.style.backgroundImage = `linear-gradient(${startColor}, ${endColor})`;
+}
+
+function getRandomColor() {
+ const letters = '0123456789ABCDEF';
+ let color = '#';
+ for (let i = 0; i < 6; i++) {
+ color += letters[Math.floor(Math.random() * 16)];
+ }
+ return color;
+}
+
+function saveFavoriteColor(color) {
+ chrome.storage.sync.get(['favoriteColors'], (result) => {
+ let favoriteColors = result.favoriteColors || [];
+ if (!favoriteColors.includes(color)) {
+ favoriteColors.push(color);
+ chrome.storage.sync.set({ favoriteColors }, () => {
+ displayFavoriteColors(favoriteColors);
+ });
+ }
+ });
+}
+
+function loadFavoriteColors() {
+ chrome.storage.sync.get(['favoriteColors'], (result) => {
+ const favoriteColors = result.favoriteColors || [];
+ displayFavoriteColors(favoriteColors);
+ });
+}
+
+function displayFavoriteColors(favoriteColors) {
+ const favoriteColorsContainer = document.getElementById('favoriteColors');
+ favoriteColorsContainer.innerHTML = '';
+ favoriteColors.forEach(color => {
+ const colorDiv = document.createElement('div');
+ colorDiv.className = 'favorite-color';
+ colorDiv.style.backgroundColor = color;
+ colorDiv.addEventListener('click', () => {
+ changeBackgroundColor(color);
+ });
+ favoriteColorsContainer.appendChild(colorDiv);
+ });
+}
diff --git a/Quick Text Formatter/background.js b/Quick Text Formatter/background.js
new file mode 100644
index 00000000..bd30cc64
--- /dev/null
+++ b/Quick Text Formatter/background.js
@@ -0,0 +1,7 @@
+chrome.runtime.onMessage.addListener((message) => {
+ if (message.action === 'getSelection') {
+ chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
+ chrome.tabs.sendMessage(tabs[0].id, { selection: window.getSelection().toString() });
+ });
+ }
+});
\ No newline at end of file
diff --git a/Quick Text Formatter/manifest.json b/Quick Text Formatter/manifest.json
new file mode 100644
index 00000000..5c609e65
--- /dev/null
+++ b/Quick Text Formatter/manifest.json
@@ -0,0 +1,14 @@
+{
+ "manifest_version": 3,
+ "name": "Quick Text Formatter",
+ "version": "1.0",
+ "description": "Format your text quickly and easily!",
+ "permissions": ["activeTab"],
+ "background": {
+ "scripts": ["background.js"]
+ },
+ "browser_action": {
+ "default_popup": "popup.html",
+ "default_title": "Quick Text Formatter"
+ }
+ }
\ No newline at end of file
diff --git a/Quick Text Formatter/popup.html b/Quick Text Formatter/popup.html
new file mode 100644
index 00000000..08958cce
--- /dev/null
+++ b/Quick Text Formatter/popup.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+ Quick Text Formatter
+
+
+
+
+
Quick Text Formatter
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Quick Text Formatter/script.js b/Quick Text Formatter/script.js
new file mode 100644
index 00000000..7aac5062
--- /dev/null
+++ b/Quick Text Formatter/script.js
@@ -0,0 +1,15 @@
+const boldButton = document.getElementById('bold');
+const italicButton = document.getElementById('italic');
+const strikethroughButton = document.getElementById('strikethrough');
+const bulletListButton = document.getElementById('bullet-list');
+
+function formatText(format) {
+ chrome.tabs.executeScript(null, {
+ code: document.getSelection().toString().wrappedBy('${format}')
+ });
+}
+
+boldButton.addEventListener('click', () => formatText(''));
+italicButton.addEventListener('click', () => formatText(''));
+strikethroughButton.addEventListener('click', () => formatText(''));
+bulletListButton.addEventListener('click', () => formatText(''));
\ No newline at end of file
diff --git a/Quick Text Formatter/style.css b/Quick Text Formatter/style.css
new file mode 100644
index 00000000..b80e3fbc
--- /dev/null
+++ b/Quick Text Formatter/style.css
@@ -0,0 +1,39 @@
+body {
+ font-family: sans-serif;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ min-height: 100vh;
+ background-color: #f5f5f5;
+}
+
+.container {
+ background-color: #fff;
+ padding: 20px;
+ border-radius: 5px;
+ text-align: center;
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
+ max-width: 300px; /* Ensure responsiveness on smaller screens */
+}
+
+h1 {
+ font-size: 20px;
+ margin-bottom: 10px;
+ color: #333;
+}
+
+button {
+ background-color: #4CAF50;
+ color: white;
+ padding: 10px 20px;
+ border: none;
+ border-radius: 3px;
+ cursor: pointer;
+ margin: 5px;
+}
+
+button:hover {
+ background-color: #3e8e41;
+}
\ No newline at end of file