From f9d0fa8471ecf71ef84b77cb0de6c581c691138f Mon Sep 17 00:00:00 2001 From: 0mahi11 Date: Wed, 19 Mar 2025 20:22:43 +0600 Subject: [PATCH 1/4] Done PhotoLencer --- .../README.md | 87 +++++++++++++ .../content.js | 117 ++++++++++++++++++ .../photoLancer-ChromeExtention-main/logo.png | Bin 0 -> 8807 bytes .../manifest.json | 17 +++ .../styles.css | 23 ++++ 5 files changed, 244 insertions(+) create mode 100644 submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md create mode 100644 submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js create mode 100644 submissions/BrowserBangs/photoLancer-ChromeExtention-main/logo.png create mode 100644 submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json create mode 100644 submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md new file mode 100644 index 00000000..220860a7 --- /dev/null +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md @@ -0,0 +1,87 @@ +# PhotoLancer +***PhotoLancer*** enhances your browsing experience by unblurring and displaying high-quality images in modern galleries on platforms like **Google Photos**. πŸš€ + +--- + +### πŸ“Έ **PhotoLancer – Unblur & Enhance Image Galleries** +> **A modern Chrome extension that unblurs images and enhances gallery views on Google Photos and Facebook.** + + +--- + +## πŸš€ **Features** +βœ… **Unblur Images Instantly** – View high-quality images effortlessly. +βœ… **Smart Positioning** – The preview modal appears in the best position to avoid cropping. +βœ… **Supports Google Photos & Facebook** – Works with dynamically loaded images. +βœ… **Beautiful Glass UI** – A sleek, modern design with smooth animations. +βœ… **Optimized for Performance** – Runs efficiently without slowing down browsing. + +--- + +## πŸ›  **Installation Guide** +### **πŸ”Ή Manual Installation (For Developers & Testing)** +1. **Download the repository** + ```sh + git clone https://github.com/nurahmed123/photoLancer-ChromeExtention.git + ``` +2. **Open Chrome** and go to `chrome://extensions/`. +3. **Enable Developer Mode** (top right corner). +4. **Click "Load Unpacked"** and select the extension folder. +5. **Done!** Your extension is now running! πŸŽ‰ + +### **πŸ”Ή Chrome Web Store (Coming Soon)** +Once published, you’ll be able to install it from the [Chrome Web Store](#). + +--- + +## πŸ“– **How It Works** +1. **Hover over a blurred image** – The extension detects it automatically. +2. **A high-quality preview appears** – Unblurred and well-positioned. +3. **Move away to hide** – The modal smoothly disappears. + +--- + +## πŸ–₯ **Supported Platforms** +βœ… **Google Photos** +βœ… **Facebook** (Profile pictures, cover images, and more) +βœ… **More platforms coming soon!** + +--- + +## πŸ’» **Technical Details** +### **πŸ”Ή File Structure** +``` +πŸ“‚ PhotoLancer/ +β”œβ”€β”€ πŸ“œ manifest.json # Chrome extension configuration +β”œβ”€β”€ πŸ“œ content.js # Core script handling image unblurring +β”œβ”€β”€ 🎨 styles.css # Modern UI styles +β”œβ”€β”€ πŸ“œ README.md # This documentation +└── πŸ“‚ icons/ # Extension icons (optional) +``` + +### **πŸ”Ή Technologies Used** +- **JavaScript** – For handling dynamic images & DOM updates +- **CSS** – Glass UI with smooth animations +- **MutationObserver** – Detects dynamically loaded images (e.g., Facebook) + +--- + +## πŸ›  **Contributing** +We welcome contributions! πŸš€ +1. Fork the repo +2. Create a new branch (`git checkout -b feature-name`) +3. Make your changes +4. Push and submit a PR + +--- + +## βš– **License** +**PhotoLancer** is **open-source** under the **MIT License**. + +--- + +## πŸ“¬ **Feedback & Support** +πŸ’¬ **Got suggestions?** Open an [issue](https://github.com/yourusername/photolancer/issues) +πŸ“’ **Follow updates on Twitter:** [@yourhandle](https://twitter.com/yourhandle) + +πŸ”₯ **Enjoy browsing without blur!** πŸš€ \ No newline at end of file diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js new file mode 100644 index 00000000..0a668fa6 --- /dev/null +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js @@ -0,0 +1,117 @@ +(function () { + const modal = document.createElement("div"); + modal.id = "unblur-modal"; + Object.assign(modal.style, { + position: "absolute", + display: "none", + zIndex: "10000", + padding: "15px", + background: "rgba(255, 255, 255, 0.95)", // Soft glass effect + boxShadow: "0 15px 40px rgba(0,0,0,0.3)", + backdropFilter: "blur(10px)", + borderRadius: "12px", + transition: "opacity 0.3s ease, transform 0.3s ease", + transform: "scale(0.9)", + overflow: "hidden", + display: "flex", + justifyContent: "center", + alignItems: "center", + border: "1px solid rgba(255, 255, 255, 0.2)", + }); + document.body.appendChild(modal); + + function getImageSource(target) { + // Standard sites (Google Images, etc.) + let child = target.querySelector("div.RY3tic[data-latest-bg]"); + if (child) return child.getAttribute("data-latest-bg"); + + // Facebook images (supports newer DOM structure) + let fbImg = target.querySelector("img[src]"); + if (fbImg) return fbImg.src; + + return null; + } + + function showModal(target) { + modal.innerHTML = ""; + const imgSrc = getImageSource(target); + + if (imgSrc) { + const img = document.createElement("img"); + img.src = imgSrc; + + Object.assign(img.style, { + filter: "none", + width: "100%", + height: "100%", + borderRadius: "8px", + display: "block", + objectFit: "cover", // Ensures image fills the modal + maxWidth: "100%", + maxHeight: "100%", + boxShadow: "0 6px 20px rgba(0,0,0,0.2)", + }); + + modal.appendChild(img); + + // Get target image size + const rect = target.getBoundingClientRect(); + const imgWidth = rect.width; + const imgHeight = rect.height; + + // Set modal size relative to the image + const modalWidth = Math.min(imgWidth * 1.2, 600); // Scale but cap at 600px + const modalHeight = Math.min(imgHeight * 1.2, 500); // Scale but cap at 500px + + const offset = 20; + let left = rect.left + window.scrollX + rect.width / 2 - modalWidth / 2; + let top = rect.top + window.scrollY + rect.height + offset; + + // If not enough space below, move above + if (top + modalHeight > window.innerHeight + window.scrollY) { + top = rect.top + window.scrollY - modalHeight - offset; + } + + // Ensure modal stays within viewport + if (left + modalWidth > window.innerWidth) { + left = window.innerWidth - modalWidth - 10; + } + if (left < 10) { + left = 10; + } + + // Apply position & size + modal.style.width = `${modalWidth}px`; + modal.style.height = `${modalHeight}px`; + modal.style.left = `${left}px`; + modal.style.top = `${top}px`; + modal.style.display = "flex"; + modal.style.opacity = "1"; + modal.style.transform = "scale(1)"; + } + } + + function hideModal() { + modal.style.opacity = "0"; + modal.style.transform = "scale(0.9)"; + setTimeout(() => { + modal.style.display = "none"; + }, 300); + } + + function addGalleryListeners() { + const galleryItems = document.querySelectorAll("div.rtIMgb, div.x1i10hfl"); // Google & Facebook images + galleryItems.forEach((item) => { + if (!item.dataset.hoverListenerAdded) { + item.addEventListener("mouseenter", () => showModal(item)); + item.addEventListener("mouseleave", hideModal); + item.dataset.hoverListenerAdded = "true"; + } + }); + } + + addGalleryListeners(); + + const observer = new MutationObserver(addGalleryListeners); + observer.observe(document.body, { childList: true, subtree: true }); +})(); diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/logo.png b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a6fde5fda1a35b18f23ecad3bedb25229e48e427 GIT binary patch literal 8807 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 literal 0 HcmV?d00001 diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json new file mode 100644 index 00000000..3ca0282a --- /dev/null +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json @@ -0,0 +1,17 @@ +{ + "manifest_version": 3, + "name": "PhotoLancer", + "description": "Secure your photos as blur and enjoy", + "version": "1.0", + "icons": { + "128": "logo.png" + }, + "content_scripts": [ + { + "matches": ["https://photos.google.com/*"], + "js": ["content.js"], + "css": ["styles.css"] + } + ], + "permissions": [] +} diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css new file mode 100644 index 00000000..8a8b101f --- /dev/null +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css @@ -0,0 +1,23 @@ +/* Apply blur to the gallery container tag instead of an img tag */ +div.rtIMgb { + filter: blur(5px) !important; + transition: filter 0.3s ease; + } + + /* Modern Gallery Layout: style the main photo grid as a responsive grid. + This assumes the gallery container uses role="grid" */ + div[role="grid"] { + display: grid !important; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 15px; + padding: 15px; + } + + /* Optional: give each gallery item a modern β€œcard” look */ + div[role="grid"] > div { + background: #fff; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + } + \ No newline at end of file From f3ca49fc385ba225cd47607a1e709177aeb5efcf Mon Sep 17 00:00:00 2001 From: 0mahi11 Date: Wed, 19 Mar 2025 20:32:56 +0600 Subject: [PATCH 2/4] Done PhotoLancer --- .../BrowserBangs/photoLancer-ChromeExtention-main/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md index 220860a7..792556c0 100644 --- a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md @@ -22,7 +22,7 @@ ### **πŸ”Ή Manual Installation (For Developers & Testing)** 1. **Download the repository** ```sh - git clone https://github.com/nurahmed123/photoLancer-ChromeExtention.git + git clone https://github.com/0mahi11/photoLancer-ChromeExtention.git ``` 2. **Open Chrome** and go to `chrome://extensions/`. 3. **Enable Developer Mode** (top right corner). @@ -84,4 +84,4 @@ We welcome contributions! πŸš€ πŸ’¬ **Got suggestions?** Open an [issue](https://github.com/yourusername/photolancer/issues) πŸ“’ **Follow updates on Twitter:** [@yourhandle](https://twitter.com/yourhandle) -πŸ”₯ **Enjoy browsing without blur!** πŸš€ \ No newline at end of file +πŸ”₯ **Enjoy browsing without blur!** πŸš€ From c3393fe7ef00da006caf9d0d4daa79af4e54868d Mon Sep 17 00:00:00 2001 From: 0mahi11 Date: Wed, 19 Mar 2025 20:35:38 +0600 Subject: [PATCH 3/4] Done PhotoLancer --- .../BrowserBangs/photoLancer-ChromeExtention-main/README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md index 792556c0..2ce62a47 100644 --- a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md +++ b/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md @@ -22,7 +22,7 @@ ### **πŸ”Ή Manual Installation (For Developers & Testing)** 1. **Download the repository** ```sh - git clone https://github.com/0mahi11/photoLancer-ChromeExtention.git + https://github.com/0mahi11/PhotoLancer.git ``` 2. **Open Chrome** and go to `chrome://extensions/`. 3. **Enable Developer Mode** (top right corner). @@ -80,8 +80,4 @@ We welcome contributions! πŸš€ --- -## πŸ“¬ **Feedback & Support** -πŸ’¬ **Got suggestions?** Open an [issue](https://github.com/yourusername/photolancer/issues) -πŸ“’ **Follow updates on Twitter:** [@yourhandle](https://twitter.com/yourhandle) - πŸ”₯ **Enjoy browsing without blur!** πŸš€ From 9c12652c96c069325f0d64fa6933b94beb50fef7 Mon Sep 17 00:00:00 2001 From: 0mahi11 Date: Fri, 21 Mar 2025 15:38:09 +0600 Subject: [PATCH 4/4] change dir --- .../README.md | 0 .../content.js | 0 .../logo.png | Bin .../manifest.json | 0 .../styles.css | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename submissions/{BrowserBangs/photoLancer-ChromeExtention-main => securePhotos}/README.md (100%) rename submissions/{BrowserBangs/photoLancer-ChromeExtention-main => securePhotos}/content.js (100%) rename submissions/{BrowserBangs/photoLancer-ChromeExtention-main => securePhotos}/logo.png (100%) rename submissions/{BrowserBangs/photoLancer-ChromeExtention-main => securePhotos}/manifest.json (100%) rename submissions/{BrowserBangs/photoLancer-ChromeExtention-main => securePhotos}/styles.css (100%) diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md b/submissions/securePhotos/README.md similarity index 100% rename from submissions/BrowserBangs/photoLancer-ChromeExtention-main/README.md rename to submissions/securePhotos/README.md diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js b/submissions/securePhotos/content.js similarity index 100% rename from submissions/BrowserBangs/photoLancer-ChromeExtention-main/content.js rename to submissions/securePhotos/content.js diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/logo.png b/submissions/securePhotos/logo.png similarity index 100% rename from submissions/BrowserBangs/photoLancer-ChromeExtention-main/logo.png rename to submissions/securePhotos/logo.png diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json b/submissions/securePhotos/manifest.json similarity index 100% rename from submissions/BrowserBangs/photoLancer-ChromeExtention-main/manifest.json rename to submissions/securePhotos/manifest.json diff --git a/submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css b/submissions/securePhotos/styles.css similarity index 100% rename from submissions/BrowserBangs/photoLancer-ChromeExtention-main/styles.css rename to submissions/securePhotos/styles.css