From 50d03fa4c6f9e837a0e6aa833b679680518f6e42 Mon Sep 17 00:00:00 2001
From: Zak Boem <63625087+cosmixcom@users.noreply.github.com>
Date: Thu, 27 Mar 2025 12:19:20 -0700
Subject: [PATCH] Add files via upload
---
.../ToggledDevPortal/DevPortal-main/auth.js | 1 +
.../DevPortal-main/background.js | 40 +
.../DevPortal-main/browser.js | 65 ++
.../DevPortal-main/browsers.html | 362 +++++++
.../DevPortal-main/content.js | 26 +
.../DevPortal-main/custom.html | 0
.../ToggledDevPortal/DevPortal-main/custom.js | 17 +
.../DevPortal-main/ghlogin.js | 52 +
.../DevPortal-main/github.html | 124 +++
.../DevPortal-main/githublogin.html | 16 +
.../DevPortal-main/homepage.css | 976 ++++++++++++++++++
.../DevPortal-main/homepage.html | 253 +++++
.../DevPortal-main/homepage.js | 791 ++++++++++++++
.../DevPortal-main/images/DevPortal.png | Bin 0 -> 26033 bytes
.../DevPortal-main/images/Toggled-Left.png | Bin 0 -> 14159 bytes
.../images/Toggled-Light-Left.png | Bin 0 -> 17817 bytes
.../DevPortal-main/images/Toggled-Light.png | Bin 0 -> 17887 bytes
.../DevPortal-main/images/Toggled.png | Bin 0 -> 14228 bytes
.../DevPortal-main/images/api.png | Bin 0 -> 31602 bytes
.../DevPortal-main/images/icon128.png | Bin 0 -> 8580 bytes
.../DevPortal-main/images/icon48.png | Bin 0 -> 2525 bytes
.../DevPortal-main/images/jokes.png | Bin 0 -> 34971 bytes
.../ToggledDevPortal/DevPortal-main/int.js | 126 +++
.../DevPortal-main/integrations.html | 401 +++++++
.../DevPortal-main/js/func/gpt.js | 48 +
.../DevPortal-main/js/func/replit.js | 10 +
.../DevPortal-main/js/func/zymono.js | 24 +
.../DevPortal-main/js/popup.js | 4 +
.../DevPortal-main/js/prod.js | 123 +++
.../DevPortal-main/js/snippets.js | 155 +++
.../DevPortal-main/js/upload.js | 70 ++
.../DevPortal-main/manifest.json | 48 +
.../DevPortal-main/official.html | 469 +++++++++
.../DevPortal-main/official.js | 150 +++
.../DevPortal-main/official.zip | Bin 0 -> 194844 bytes
.../DevPortal-main/options.html | 17 +
.../DevPortal-main/options.js | 19 +
.../DevPortal-main/popup.html | 11 +
.../DevPortal-main/productivity.html | 397 +++++++
.../DevPortal-main/replauth.html | 1 +
.../DevPortal-main/sandbox.html | 13 +
.../DevPortal-main/sandbox.js | 15 +
.../DevPortal-main/snippets.html | 123 +++
.../ToggledDevPortal/DevPortal-main/unof | 0
.../DevPortal-main/unofficial.html | 451 ++++++++
.../DevPortal-main/unofficial.js | 167 +++
.../DevPortal-main/uploadext.html | 15 +
47 files changed, 5580 insertions(+)
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/auth.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/background.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/browser.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/browsers.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/content.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/custom.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/custom.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/ghlogin.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/github.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/githublogin.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/homepage.css
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/homepage.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/homepage.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/DevPortal.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/Toggled-Left.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/Toggled-Light-Left.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/Toggled-Light.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/Toggled.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/api.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/icon128.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/icon48.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/images/jokes.png
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/int.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/integrations.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/func/gpt.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/func/replit.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/func/zymono.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/popup.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/prod.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/snippets.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/js/upload.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/manifest.json
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/official.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/official.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/official.zip
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/options.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/options.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/popup.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/productivity.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/replauth.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/sandbox.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/sandbox.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/snippets.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/unof
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/unofficial.html
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/unofficial.js
create mode 100644 submissions/ToggledDevPortal/DevPortal-main/uploadext.html
diff --git a/submissions/ToggledDevPortal/DevPortal-main/auth.js b/submissions/ToggledDevPortal/DevPortal-main/auth.js
new file mode 100644
index 00000000..aea94e86
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/auth.js
@@ -0,0 +1 @@
+const user = await getUserInfo()
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/background.js b/submissions/ToggledDevPortal/DevPortal-main/background.js
new file mode 100644
index 00000000..b001d554
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/background.js
@@ -0,0 +1,40 @@
+// background.js
+
+// Listen for messages from the content script (content.js)
+chrome.runtime.onMessage.addListener(async function (message, sender, sendResponse) {
+ if (message.redirect) {
+ // Redirect the user to your extension's page
+ chrome.tabs.create({ url: 'integrations.html?ghun=' + message.redirect }, function (tab) {
+ // Send a response back to the content script to indicate successful redirection
+ sendResponse({ success: true });
+ });
+ }
+
+ if (message.replit) {
+
+ // Redirect the user to your extension's page
+ chrome.tabs.create({ url: 'integrations.html?repl=' + message.replit }, function (tab) {
+ // Send a response back to the content script to indicate successful redirection
+ sendResponse({ success: true });
+ });
+ }
+
+ if (message.openai) {
+ // Redirect the user to your extension's page
+ chrome.tabs.create({ url: 'productivity.html?openai=' + message.openai }, function (tab) {
+ // Send a response back to the content script to indicate successful redirection
+ sendResponse({ success: true });
+ });
+ }
+
+ if (message.sub1) {
+ // Redirect the user to your extension's page
+ chrome.tabs.create({ url: 'purchased.html?purchased=' + message.sub1 }, function (tab) {
+ // Send a response back to the content script to indicate successful redirection
+ sendResponse({ success: true });
+ });
+ }
+ // To ensure sendResponse is called asynchronously
+ return true;
+ });
+
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/browser.js b/submissions/ToggledDevPortal/DevPortal-main/browser.js
new file mode 100644
index 00000000..f5f7cd9c
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/browser.js
@@ -0,0 +1,65 @@
+// Function to fetch the title and favicon of a website
+async function fetchTitleAndFavicon(url) {
+ try {
+ const response = await fetch('http://zymono.com/gettitleandfavicon', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({ url }),
+ });
+
+ const data = await response.json();
+ return data;
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ return null;
+ }
+ }
+
+document.getElementById('google').addEventListener('click', function() {
+ set('https://www.google.com/search?q=')
+})
+document.getElementById('ddg').addEventListener('click', function() {
+ set('https://duckduckgo.com/&q=')
+})
+document.getElementById('bing').addEventListener('click', function() {
+ set('https://www.bing.com/search?q=')
+})
+
+document.getElementById('ai').addEventListener('click', function() {
+ set('https://www.perplexity.ai/search?q=')
+})
+document.getElementById('custom').addEventListener('click', function() {
+ const prompt = window.prompt('Enter a search engine url. (Include /search?q=)')
+
+ if (prompt) {
+ set(prompt)
+ window.location = 'browsers.html'
+ }
+})
+
+function set(url) {
+ chrome.storage.sync.set({ searchEngine: url }, () => {
+ // Update the search form on the homepage
+ // const searchForm = chrome.extension.getViews({ type: "tab" })[0]?.document.getElementById('searchForm');
+ // if (searchForm) {
+ // searchForm.action = searchEngineURL;
+ // }
+ alert('Settings saved successfully!');
+ });
+}
+
+ chrome.storage.sync.get(['searchEngine'], result => {
+ const targetURL = result.searchEngine;
+fetchTitleAndFavicon(targetURL)
+ .then(data => {
+ if (data) {
+ if (!['google', 'duck', 'bing'].some(substring => targetURL.includes(substring))) {
+ document.getElementById('ct').innerText = data.title;
+ }
+ } else {
+ console.log('Failed to fetch data.');
+ }
+ });
+ });
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/browsers.html b/submissions/ToggledDevPortal/DevPortal-main/browsers.html
new file mode 100644
index 00000000..f491403e
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/browsers.html
@@ -0,0 +1,362 @@
+
+
+
+
+ New Dev Tab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The most powerful search engine.
+
+
+
+
+
+
+
The best privacy-oriented search engine.
+
+
+
+
+
+
+
Why are you even thinking about using this?
+
+
+
+
+
+
+
+
+
+
+
+
Use a custom search engine.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/submissions/ToggledDevPortal/DevPortal-main/content.js b/submissions/ToggledDevPortal/DevPortal-main/content.js
new file mode 100644
index 00000000..ae43f63e
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/content.js
@@ -0,0 +1,26 @@
+// content.js
+
+// Listen for messages from the webpage
+window.addEventListener('message', function (event) {
+ if (event.source === window && event.data.from === 'your_website') {
+ // Send a message to the background script (Service Worker)
+ console.log(event.data.user)
+ chrome.runtime.sendMessage({ redirect: event.data.user }, function (response) {
+ // This callback function is optional, you can handle the response if needed.
+ if (response && response.success) {
+ console.log('Redirection successful!');
+ }
+ });
+ }
+ if (event.source === window && event.data.from === 'replauth') {
+ // Send a message to the background script (Service Worker)
+ console.log(event.data.user)
+ chrome.runtime.sendMessage({ replit: JSON.stringify(event.data.info) }, function (response) {
+ // This callback function is optional, you can handle the response if needed.
+ if (response && response.success) {
+ console.log('Redirection successful!');
+ }
+ });
+ }
+ });
+
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/custom.html b/submissions/ToggledDevPortal/DevPortal-main/custom.html
new file mode 100644
index 00000000..e69de29b
diff --git a/submissions/ToggledDevPortal/DevPortal-main/custom.js b/submissions/ToggledDevPortal/DevPortal-main/custom.js
new file mode 100644
index 00000000..40325135
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/custom.js
@@ -0,0 +1,17 @@
+Dropzone.options.uploadForm = {
+ init: function() {
+ this.on("success", function(file, response) {
+ // Handle successful upload
+ console.log("Upload success:", response);
+ if (response.manifestContent) {
+ console.log("Manifest Content:", response.manifestContent);
+ } else {
+ console.log("manifest.json not found in the selected folder.");
+ }
+ });
+
+ this.on("error", function(file, errorMessage) {
+ console.error("Upload error:", errorMessage);
+ });
+ }
+ };
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/ghlogin.js b/submissions/ToggledDevPortal/DevPortal-main/ghlogin.js
new file mode 100644
index 00000000..22e86180
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/ghlogin.js
@@ -0,0 +1,52 @@
+ // Replace 'YOUR_USERNAME_HERE' with your GitHub username
+ let username = false;
+ chrome.storage.sync.get(['github'], result => {
+ username = result.github;
+ console.log(username)
+ if (!username) {
+ window.location = 'integrations.html'
+ }
+
+ // GitHub API URL to fetch user repositories
+ const apiUrl = `https://api.github.com/users/${username}/repos`;
+
+ // Fetch the data from the GitHub API
+ fetch(apiUrl)
+ .then(response => response.json())
+ .then(data => {
+ // Process the data and display repositories
+ const repoList = document.getElementById('repo-list');
+ data.forEach(repo => {
+ const a = `
+
+
+
+ `
+
+ const cards = document.getElementById('id')
+ cards.innerHTML += a
+ });
+ })
+ .catch(error => {
+ console.error('Error fetching data:', error);
+ });
+
+ });
+ try {
+ chrome.storage.sync.get(['snippet'], result => {
+ if (!result.snippet == true) {
+ document.getElementById('snippetbtn').remove()
+ }
+ })
+ } catch {}
\ No newline at end of file
diff --git a/submissions/ToggledDevPortal/DevPortal-main/github.html b/submissions/ToggledDevPortal/DevPortal-main/github.html
new file mode 100644
index 00000000..8d30854b
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/github.html
@@ -0,0 +1,124 @@
+
+
+
+
+ New Dev Tab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/submissions/ToggledDevPortal/DevPortal-main/githublogin.html b/submissions/ToggledDevPortal/DevPortal-main/githublogin.html
new file mode 100644
index 00000000..4c50d52b
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/githublogin.html
@@ -0,0 +1,16 @@
+
+
+
+ Github Repositories
+
+
+ Github Repositories
+
+
+
+
+
diff --git a/submissions/ToggledDevPortal/DevPortal-main/homepage.css b/submissions/ToggledDevPortal/DevPortal-main/homepage.css
new file mode 100644
index 00000000..81554c6f
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/homepage.css
@@ -0,0 +1,976 @@
+@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
+:root {
+ --c-text-primary: #282a32;
+ --c-text-secondary: #686b87;
+ --c-text-action: #404089;
+ --c-accent-primary: #434ce8;
+ --c-border-primary: #eff1f6;
+ --c-background-primary: #ffffff;
+ --c-background-secondary: #fdfcff;
+ --c-background-tertiary: #ecf3fe;
+ --c-background-quaternary: #e9ecf4;
+ --news-bgc: #b4b4b4;
+
+ --primary-light: #8abdff;
+ --primary: #6d5dfc;
+ --primary-dark: #5b0eeb;
+ --white: #FFFFFF;
+ --greyLight-1: #E4EBF5;
+ --greyLight-2: #c8d0e7;
+ --greyLight-3: #bec8e4;
+ --greyDark: #9baacf;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --c-text-primary: #e8e8e8;
+ --c-text-secondary: #b1b1b1;
+ --c-text-action: #d3d3e8;
+ --c-accent-primary: #8484ff;
+ --c-border-primary: #36363d;
+ --c-background-primary: #282a36;
+ --c-background-secondary: #1e1f29;
+ --c-background-tertiary: #2b2c3b;
+ --c-background-quaternary: #44475a;
+ --news-bgc: #14151a;
+
+ --primary-light: #8abdff;
+ --primary: #6d5dfc;
+ --primary-dark: #5b0eeb;
+ --white: #FFFFFF;
+ --greyLight-1: #E4EBF5;
+ --greyLight-2: #c8d0e7;
+ --greyLight-3: #bec8e4;
+ --greyDark: #9baacf;
+ }
+
+ /* EDITURL POPUP */
+
+.popup {
+ display: none;
+ position: fixed;
+ z-index: 999;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+}
+
+.popup-content {
+ margin: auto;
+ padding: 20px;
+ border-radius: 5px;
+ box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.3);
+ width: 70%;
+ max-width: 600px;
+ color: #8484ff;
+}
+
+/* Styles for labels */
+label {
+ display: block;
+ margin-top: 10px;
+ font-size: 18px;
+ font-weight: 500;
+ color: #8484ff;
+}
+
+/* Styles for input fields */
+input[type="text"], input[type="url"] {
+ border: 1px solid #fff;
+ padding: 8px;
+ font-size: 16px;
+ border-radius: 3px;
+ width: 100%;
+ box-sizing: border-box;
+ margin-top: 5px;
+ background-color: #282a36;
+ outline-width: 10px;
+ outline-color: #2c3e50;
+ color: #fff;
+ margin-right: 5px;;
+ display: inline-block;
+}
+
+/* Styles for helper text */
+.helper-text {
+ font-size: 14px;
+ color: #ccc;
+}
+
+/* Styles for buttons */
+.popupfield {
+ border: none;
+ background-color: #8484ff;
+ color: #fff;
+ padding: 10px 20px;
+ font-size: 16px;
+ border-radius: 3px;
+ cursor: pointer;
+ margin-right: 10px;
+ transition: background-color 0.3s ease;
+}
+
+.popupfield button:hover {
+ background-color: #6161ae;
+}
+
+.popupfield[type="submit"] {
+ background-color: #1abc9c;
+}
+
+.popupfield[type="submit"]:hover {
+ background-color: #16a085;
+}
+
+}
+
+
+body {
+ line-height: 1.5;
+ min-height: 100vh;
+ font-family: "Be Vietnam Pro", sans-serif;
+ background-color: var(--c-background-secondary);
+ color: var(--c-text-primary);
+}
+
+img {
+ display: block;
+ max-width: 100%;
+}
+
+:focus {
+ outline: 0;
+}
+
+.responsive-wrapper {
+ width: 90%;
+ max-width: 1280px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.header {
+ display: flex;
+ align-items: center;
+ height: 80px;
+ border-bottom: 1px solid var(--c-border-primary);
+ background-color: var(--c-background-primary);
+}
+
+.header-content {
+ display: flex;
+ align-items: center;
+}
+.header-content > a {
+ display: none;
+}
+@media (max-width: 1200px) {
+ .header-content {
+ justify-content: space-between;
+ }
+ .header-content > a {
+ display: inline-flex;
+ }
+}
+
+.header-logo {
+ margin-right: 2.5rem;
+}
+.header-logo a {
+ display: flex;
+ align-items: center;
+}
+.header-logo a div {
+ flex-shrink: 0;
+ position: relative;
+}
+.header-logo a div:after {
+ display: block;
+ content: "";
+ position: absolute;
+ left: 0;
+ top: auto;
+ right: 0;
+ bottom: 0;
+ overflow: hidden;
+ height: 50%;
+}
+
+.header-navigation {
+ display: flex;
+ flex-grow: 1;
+ align-items: center;
+ justify-content: space-between;
+}
+@media (max-width: 1200px) {
+ .header-navigation {
+ display: none;
+ }
+}
+
+.header-navigation-links {
+ display: flex;
+ align-items: center;
+}
+.header-navigation-links a {
+ text-decoration: none;
+ color: var(--c-text-action);
+ font-weight: 500;
+ transition: 0.15s ease;
+}
+.header-navigation-links a + * {
+ margin-left: 1.5rem;
+}
+.header-navigation-links a:hover, .header-navigation-links a:focus {
+ color: var(--c-accent-primary);
+}
+
+.header-navigation-actions {
+ display: flex;
+ align-items: center;
+}
+.header-navigation-actions > .avatar {
+ margin-left: 0.75rem;
+}
+.header-navigation-actions > .icon-button + .icon-button {
+ margin-left: 0.25rem;
+}
+.header-navigation-actions > .button + .icon-button {
+ margin-left: 1rem;
+}
+
+.button {
+ cursor: pointer;
+ font: inherit;
+ color: inherit;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0 1em;
+ height: 40px;
+ border-radius: 8px;
+ line-height: 1;
+ border: 2px solid var(--c-border-primary);
+ color: var(--c-text-action);
+ font-size: 0.875rem;
+ transition: 0.15s ease;
+ background-color: var(--c-background-primary);
+}
+.button i {
+ margin-right: 0.5rem;
+ font-size: 1.25em;
+}
+.button span {
+ font-weight: 500;
+}
+.button:hover, .button:focus {
+ border-color: var(--c-accent-primary);
+ color: var(--c-accent-primary);
+}
+
+.icon-button {
+ font: inherit;
+ color: inherit;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 40px;
+ height: 40px;
+ border-radius: 8px;
+ color: var(--c-text-action);
+ transition: 0.15s ease;
+}
+.icon-button i {
+ font-size: 1.25em;
+}
+.icon-button:focus, .icon-button:hover {
+ background-color: var(--c-background-tertiary);
+ color: var(--c-accent-primary);
+}
+
+.avatar {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 44px;
+ height: 44px;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+.main {
+ padding-top: 3rem;
+}
+
+.main-header {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+}
+.main-header h1 {
+ font-size: 1.75rem;
+ font-weight: 600;
+ line-height: 1.25;
+}
+@media (max-width: 550px) {
+ .main-header h1 {
+ margin-bottom: 1rem;
+ }
+}
+
+.search {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ max-width: 550px;
+}
+.search input {
+ font: inherit;
+ color: inherit;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0 1em 0 36px;
+ height: 40px;
+ border-radius: 8px;
+ border: 2px solid var(--c-border-primary);
+ color: var(--c-text-action);
+ font-size: 0.875rem;
+ transition: 0.15s ease;
+ width: 100%;
+ line-height: 1;
+}
+.search input::-moz-placeholder {
+ color: var(--c-text-action);
+}
+.search input:-ms-input-placeholder {
+ color: var(--c-text-action);
+}
+.search input::placeholder {
+ color: var(--c-text-action);
+}
+.search input:focus, .search input:hover {
+ border-color: var(--c-accent-primary);
+}
+.search button {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ border: 0;
+ background-color: transparent;
+ position: absolute;
+ left: 12px;
+ top: 50%;
+ transform: translateY(-50%);
+ font-size: 1.25em;
+ color: var(--c-text-action);
+ padding: 0;
+ height: 40px;
+}
+
+.horizontal-tabs {
+ margin-top: 1.5rem;
+ display: flex;
+ align-items: center;
+ overflow-x: auto;
+}
+@media (max-width: 1000px) {
+ .horizontal-tabs {
+ scrollbar-width: none;
+ position: relative;
+ }
+ .horizontal-tabs::-webkit-scrollbar {
+ display: none;
+ }
+}
+.horizontal-tabs a {
+ display: inline-flex;
+ flex-shrink: 0;
+ align-items: center;
+ height: 48px;
+ padding: 0 0.25rem;
+ font-weight: 500;
+ color: inherit;
+ border-bottom: 3px solid transparent;
+ text-decoration: none;
+ transition: 0.15s ease;
+}
+.horizontal-tabs a:hover, .horizontal-tabs a:focus, .horizontal-tabs a.active {
+ color: var(--c-accent-primary);
+ border-bottom-color: var(--c-accent-primary);
+}
+.horizontal-tabs a + * {
+ margin-left: 1rem;
+}
+
+.content-header {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 3rem;
+ margin-top: -1px;
+ /* border-top: 1px solid var(--c-border-primary); */
+}
+
+.content-header-intro h2 {
+ font-size: 1.25rem;
+ font-weight: 600;
+}
+.content-header-intro p {
+ color: var(--c-text-secondary);
+ margin-top: 0.25rem;
+ font-size: 0.875rem;
+ margin-bottom: 1rem;
+}
+
+@media (min-width: 800px) {
+ .content-header-actions a:first-child {
+ display: none;
+ }
+}
+
+.content {
+ border-top: 1px solid var(--c-border-primary);
+ margin-top: 2rem;
+ display: flex;
+ align-items: flex-start;
+}
+
+.content-panel {
+ display: none;
+ max-width: 280px;
+ width: 25%;
+ padding: 2rem 1rem 2rem 0;
+ margin-right: 3rem;
+}
+@media (min-width: 800px) {
+ .content-panel {
+ display: block;
+ }
+}
+
+.vertical-tabs {
+ display: flex;
+ flex-direction: column;
+}
+.vertical-tabs a {
+ display: flex;
+ align-items: center;
+ padding: 0.75em 1em;
+ background-color: transparent;
+ border-radius: 8px;
+ text-decoration: none;
+ font-weight: 500;
+ color: var(--c-text-action);
+ transition: 0.15s ease;
+}
+.vertical-tabs a:hover, .vertical-tabs a:focus, .vertical-tabs a.active {
+ background-color: var(--c-background-tertiary);
+ color: var(--c-accent-primary);
+}
+.vertical-tabs a + * {
+ margin-top: 0.25rem;
+}
+
+.content-main {
+ padding-top: 2rem;
+ padding-bottom: 6rem;
+ flex-grow: 1;
+}
+
+.card-grid {
+ display: grid;
+ grid-template-columns: repeat(1, 1fr);
+ -moz-column-gap: 1.5rem;
+ column-gap: 1.5rem;
+ row-gap: 1.5rem;
+}
+@media (min-width: 600px) {
+ .card-grid {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+@media (min-width: 1200px) {
+ .card-grid {
+ grid-template-columns: repeat(3, 1fr);
+ }
+}
+
+.card {
+ background-color: var(--c-background-primary);
+ box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.05), 0 5px 15px 0 rgba(0, 0, 0, 0.05);
+ border-radius: 8px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.card-header {
+ display: flex;
+ align-items: flex-start;
+ justify-content: space-between;
+ padding: 1.5rem 1.25rem 1rem 1.25rem;
+}
+.card-header div {
+ display: flex;
+ align-items: center;
+}
+.card-header div span {
+ width: 40px;
+ height: 40px;
+ border-radius: 8px;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+.card-header div span img {
+ max-height: 100%;
+}
+.card-header div h3 {
+ margin-left: 0.75rem;
+ font-weight: 500;
+}
+
+.toggle span {
+ display: block;
+ width: 40px;
+ height: 24px;
+ border-radius: 99em;
+ background-color: var(--c-background-quaternary);
+ box-shadow: inset 1px 1px 1px 0 rgba(0, 0, 0, 0.05);
+ position: relative;
+ transition: 0.15s ease;
+}
+.toggle span:before {
+ content: "";
+ display: block;
+ position: absolute;
+ left: 3px;
+ top: 3px;
+ height: 18px;
+ width: 18px;
+ background-color: var(--c-background-primary);
+ border-radius: 50%;
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
+ transition: 0.15s ease;
+}
+.toggle input {
+ clip: rect(0 0 0 0);
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ white-space: nowrap;
+ width: 1px;
+}
+.toggle input:checked + span {
+ background-color: var(--c-accent-primary);
+}
+.toggle input:checked + span:before {
+ transform: translateX(calc(100% - 2px));
+}
+.toggle input:focus + span {
+ box-shadow: 0 0 0 4px var(--c-background-tertiary);
+}
+
+.card-body {
+ padding: 1rem 1.25rem;
+ font-size: 0.875rem;
+}
+
+.card-footer {
+ margin-top: auto;
+ padding: 1rem 1.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ border-top: 1px solid var(--c-border-primary);
+}
+.card-footer p {
+ padding-right: 10px;
+}
+.card-footer a {
+ color: var(--c-text-action);
+ text-decoration: none;
+ font-weight: 500;
+ font-size: 0.875rem;
+}
+
+html::-webkit-scrollbar {
+ width: 12px;
+}
+html::-webkit-scrollbar-thumb {
+ background-color: var(--c-text-primary);
+ border: 4px solid var(--c-background-primary);
+ border-radius: 99em;
+}
+
+.btn {
+ background: none;
+ border: none;
+ transition-duration: 0.3s;
+ border-radius: 5px;
+}
+.btn:hover {
+ background-color: #575757;
+ border: none;
+}
+
+a:hover {
+ cursor:pointer;
+}
+
+/* EDITURL POPUP */
+
+.popup {
+ display: none;
+ position: fixed;
+ z-index: 999;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+
+.popup-content {
+ background-color: #fff;
+ margin: auto;
+ padding: 20px;
+ border-radius: 5px;
+ box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.3);
+ width: 70%;
+ max-width: 600px;
+}
+
+/* Styles for labels */
+label {
+ display: block;
+ margin-top: 10px;
+ font-size: 18px;
+ font-weight: 500;
+}
+
+/* Styles for input fields */
+input[type="text"], input[type="url"] {
+ border: 1px solid #ccc;
+ padding: 8px;
+ font-size: 16px;
+ border-radius: 3px;
+ width: 100%;
+ box-sizing: border-box;
+ margin-top: 5px;
+}
+
+/* Styles for helper text */
+.helper-text {
+ font-size: 14px;
+ color: #888;
+}
+
+/* Styles for buttons */
+.popupfield {
+ border: none;
+ background-color: #4caf50;
+ color: #fff;
+ padding: 10px 20px;
+ font-size: 16px;
+ border-radius: 3px;
+ cursor: pointer;
+ margin-right: 10px;
+ transition: background-color 0.3s ease;
+}
+
+.popupfield:hover {
+ background-color: #3e8e41;
+}
+
+.popupfield[type="submit"] {
+ background-color: #007bff;
+}
+
+.popupfield[type="submit"]:hover {
+ background-color: #0069d9;
+}
+
+:root {
+ --background-color: #fefefe;
+ --text-color: #333;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --background-color: #333;
+ --text-color: #fefefe;
+ }
+}
+
+.popup-content {
+ background-color: var(--background-color);
+ color: var(--text-color);
+ /* rest of the styles */
+}
+
+.my-popup {
+ display: none;
+ position: fixed;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.my-popup .popup-content {
+ background-color: #fefefe;
+ margin: 15% auto;
+ padding: 20px;
+ border: 1px solid #888;
+ width: 80%;
+ max-width: 600px;
+ color: black;
+ box-shadow: 0 0 10px rgba(0,0,0,0.3);
+}
+
+.my-popup .close {
+ color: #aaa;
+ float: right;
+ font-size: 28px;
+ font-weight: bold;
+ transition: color 0.2s ease;
+}
+
+.my-popup .close:hover,
+.my-popup .close:focus {
+ color: black;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+.my-button {
+ display: inline-block;
+ padding: 10px 20px;
+ font-size: 16px;
+ font-weight: bold;
+ text-align: center;
+ text-transform: uppercase;
+ color: #fff;
+ background-color: #4CAF50;
+ border: none;
+ border-radius: 4px;
+ cursor: pointer;
+ transition: background-color 0.2s ease;
+}
+
+.my-button:hover,
+.my-button:focus {
+ background-color: #3e8e41;
+}
+
+.my-button:active {
+ background-color: #367835;
+}
+
+.nf {
+ color: #aaa;
+ float: right;
+ transition: color 0.2s ease;
+}
+
+.nf h1 {
+ padding-top: 10px;
+ font-size: 25px;
+ transition: color 0.2s ease;
+}
+
+.nf p {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ font-size: 18px;
+ transition: color 0.2s ease;
+}
+
+select {
+ border: 1px solid #fff;
+ padding: 8px;
+ font-size: 16px;
+ border-radius: 3px;
+ width: 100%;
+ box-sizing: border-box;
+ margin-top: 5px;
+ background-color: #282a36;
+ outline-width: 10px;
+ outline-color: #2c3e50;
+ color: #fff;
+}
+
+.del {
+ margin-right: 10px;
+}
+
+/* .button a {
+ text-decoration: none;
+ display: flex;
+ color: white;
+} */
+
+/* Styles for news articles */
+.news {
+ background-color: var(--news-bgc);
+ box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.05), 0 5px 15px 0 rgba(0, 0, 0, 0.05);
+ border-radius: 8px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.news-header {
+ display: flex;
+ align-items: flex-start;
+ justify-content: space-between;
+ padding: 1.5rem 1.25rem 1rem 1.25rem;
+}
+.news-header div {
+ display: flex;
+ align-items: center;
+}
+.news-header div span {
+ width: 40px;
+ height: 40px;
+ border-radius: 8px;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+.news-header div span img {
+ max-height: 100%;
+}
+.news-header div h3 {
+ margin-left: 0.75rem;
+ font-weight: 500;
+}
+
+.news-body {
+ padding: 1rem 1.25rem;
+ font-size: 0.875rem;
+}
+
+
+.news-footer {
+ margin-top: auto;
+ padding: 1rem 1.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ border-top: 1px solid var(--c-border-primary);
+}
+.news-footer p {
+ padding-right: 10px;
+}
+.news-footer a {
+ color: var(--c-text-action);
+ text-decoration: none;
+ font-weight: 500;
+ font-size: 0.875rem;
+}
+
+#logo {
+ max-width: 400px;
+}
+
+.components {
+ width: 75rem;
+ height: 40rem;
+ border-radius: 3rem;
+ box-shadow: 0.8rem 0.8rem 1.4rem var(--greyLight-2), -0.2rem -0.2rem 1.8rem var(--white);
+ padding: 4rem;
+ display: grid;
+ grid-template-columns: 17.6rem 19rem 20.4rem;
+ grid-template-rows: repeat(autofit, -webkit-min-content);
+ grid-template-rows: repeat(autofit, min-content);
+ grid-column-gap: 5rem;
+ grid-row-gap: 2.5rem;
+ align-items: center;
+}
+
+
+
+/* RANGE-SLIDER */
+.slider {
+ grid-column: 3/4;
+ grid-row: 5/6;
+ align-self: center;
+ display: flex;
+ flex-direction: column;
+}
+.slider__box {
+ width: 100%;
+ height: 1rem;
+ cursor: pointer;
+ box-shadow: inset 0.2rem 0.2rem 0.5rem var(--greyLight-2), inset -0.2rem -0.2rem 0.5rem var(--white);
+ border-radius: 1rem;
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.slider__btn {
+ width: 2rem;
+ height: 2rem;
+ border-radius: 50%;
+ background: var(--white);
+ position: absolute;
+ box-shadow: 0px 0.1rem 0.3rem 0px var(--greyLight-3);
+ z-index: 200;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.slider__btn:hover ~ .slider__tooltip {
+ opacity: 1;
+}
+.slider__btn::after {
+ content: "";
+ position: absolute;
+ width: 0.8rem;
+ height: 0.8rem;
+ border-radius: 50%;
+ box-shadow: inset 0.2rem 0.2rem 0.5rem var(--greyLight-2), inset -0.2rem -0.2rem 0.5rem var(--white);
+}
+.slider__color {
+ height: 100%;
+ width: 50%;
+ position: absolute;
+ left: 0;
+ z-index: 100;
+ border-radius: inherit;
+ background: var(--primary);
+ background: linear-gradient(-1deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);
+}
+.slider__tooltip {
+ position: absolute;
+ top: 2.6rem;
+ height: 2.5rem;
+ width: 3rem;
+ border-radius: 0.6rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 1.2rem;
+ color: var(--primary);
+ box-shadow: 0.3rem 0.3rem 0.6rem var(--greyLight-2), -0.2rem -0.2rem 0.5rem var(--white);
+ opacity: 0;
+ transition: opacity 0.3s ease;
+}
diff --git a/submissions/ToggledDevPortal/DevPortal-main/homepage.html b/submissions/ToggledDevPortal/DevPortal-main/homepage.html
new file mode 100644
index 00000000..9877edc5
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/homepage.html
@@ -0,0 +1,253 @@
+
+
+
+
+ New Dev Tab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/submissions/ToggledDevPortal/DevPortal-main/homepage.js b/submissions/ToggledDevPortal/DevPortal-main/homepage.js
new file mode 100644
index 00000000..9c9febae
--- /dev/null
+++ b/submissions/ToggledDevPortal/DevPortal-main/homepage.js
@@ -0,0 +1,791 @@
+// // Populate the Todo List (Example items, can be saved to storage in the actual extension)
+// const todoItems = ['Learn JavaScript', 'Build a Chrome Extension', 'Contribute to Open Source'];
+// const todoList = document.getElementById('todoList');
+// todoItems.forEach(item => {
+// const li = document.createElement('li');
+// li.textContent = item;
+// todoList.appendChild(li);
+// });
+
+//Define Popups Array
+const popups = {};
+
+async function fetchTitleAndFavicon(url) {
+ try {
+ const response = await fetch('http://zymono.com/gettitleandfavicon', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({ url }),
+ });
+
+ const data = await response.json();
+ return data;
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ return null;
+ }
+}
+
+function getBaseUrl(url) {
+ // If the URL is not provided, use the current page's URL
+ if (!url) {
+ url = window.location.href;
+ }
+
+ // Parse the URL to get its components
+ const parsedURL = new URL(url);
+
+ // Combine the protocol, hostname, and port (if applicable) to form the base URL
+ const baseUrl = `${parsedURL.protocol}//${parsedURL.hostname}${parsedURL.port ? ':' + parsedURL.port : ''}`;
+
+ return baseUrl;
+}
+try {
+ if (!String(window.location).includes('inte')) {
+ chrome.storage.sync.get(['stack'], result => {
+ if (!result.stack == true) {
+ document.getElementById('stackoverflow').remove()
+ }
+ })
+ chrome.storage.sync.get(['replit'], result => {
+ if (!result.replit == true) {
+ document.getElementById('replit').remove()
+ }
+ })
+ chrome.storage.sync.get(['github'], result => {
+ if (!result.github == true) {
+ document.getElementById('github').remove()
+ document.getElementById('githubbtn').remove()
+ }
+ })
+ chrome.storage.sync.get(['snippet'], result => {
+ if (!result.snippet == true) {
+ document.getElementById('snippetbtn').remove()
+ }
+ })
+ chrome.storage.sync.get(['lighthouse'], result => {
+ if (!result.lighthouse == true) {
+ document.getElementById('lighthouse').remove()
+ }
+ })
+ chrome.storage.sync.get(['codepen'], result => {
+ if (!result.codepen == true) {
+ document.getElementById('codepen').remove()
+ }
+ })
+ chrome.storage.sync.get(['playground'], result => {
+ if (!result.playground == true) {
+ document.getElementById('playground').remove()
+ }
+ })
+ chrome.storage.sync.get(['openai'], result => {
+ if (!result.openai == true) {
+ document.getElementById('openai').remove()
+ }
+ })
+ }
+} catch { }
+
+try {
+ chrome.storage.sync.get(['tabs'], result => {
+ if (result.tabs) {
+ const tabs = JSON.parse(result.tabs)
+
+ tabs.forEach(function (tab, index) {
+ const tabElement = document.createElement('a')
+ const tabsDiv = document.getElementById('tabs')
+ tabElement.href = tab
+
+ fetchTitleAndFavicon(tab)
+ .then(data => {
+ if (String(data.favicon).includes('https://') || String(data.favicon).includes('http://')) {
+ tabElement.innerHTML = ` ${data.title}`
+ tabElement.classList.add('button')
+ tabElement.classList.add('del')
+ tabsDiv.append(tabElement)
+ } else if (String(data.favicon).includes('chrome-extension') || String(data.favicon).includes('found')) {
+ console.log('chrome')
+ tabElement.innerHTML = ` ${data.title}`
+ tabElement.classList.add('button')
+ tabElement.classList.add('del')
+ tabsDiv.append(tabElement)
+ } else {
+ console.log('ese')
+ tabElement.innerHTML = ` ${data.title}`
+ tabElement.classList.add('button')
+ tabElement.classList.add('del')
+ tabsDiv.append(tabElement)
+ }
+ })
+ })
+ }
+ })
+} catch { }
+
+// setTimeout(function() {
+// document.querySelectorAll('.del').addEventListener('load', function() {
+// const tabs = document.querySelectorAll('.del')
+
+// tabs.forEach(function(tab) {
+// tab.addEventListener('contextmenu', function() {
+// event.preventDefault();
+// alert('hello')
+// chrome.storage.sync.get(['tabs'], result => {
+// if (result.tabs) {
+
+// }
+// })
+// })
+// })
+// })
+/* The above code is using JavaScript to set a timeout of 200 milliseconds before executing the code
+inside the function. */
+// }, 200)
+// chrome.storage.sync.get(['goal'], result => {
+// if (result.goal) {
+// fetchTitleAndFavicon(result.goal)
+// .then(data => {
+// if (String(data.favicon).includes('https://') || String(data.favicon).includes('http://')) {
+// console.log(result.goal)
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// } else if (String(data.favicon).includes('chrome-extension') || String(data.favicon).includes('found')) {
+// console.log('chrome')
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// } else {
+// console.log('ese')
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// }
+// })
+
+
+
+// }
+// })
+// }
+
+let search;
+chrome.storage.sync.get(['searchEngine'], result => {
+ search = result.searchEngine || 'https://www.google.com/search?q=';
+ console.log(search)
+});
+
+// document.addEventListener('keyup', function(event) {
+// if (event.key === 'Shift') {
+// shiftKeyPressed = false;
+// chrome.storage.sync.get(['goal'], result => {
+// if (result.goal) {
+// fetchTitleAndFavicon(result.goal)
+// .then(data => {
+// if (String(data.favicon).includes('https://') || String(data.favicon).includes('http://')) {
+// console.log(result.goal)
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// } else if (String(data.favicon).includes('chrome-extension') || String(data.favicon).includes('found')) {
+// console.log('chrome')
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// } else {
+// console.log('ese')
+// document.getElementById('goal').innerHTML = ` ${data.title}`
+// }
+// })
+// }
+// })
+
+// document.getElementById('goal').addEventListener('click', function() {
+
+// })
+// }
+// });
+// document.addEventListener('keydown', function(event) {
+// if (event.key === 'Shift') {
+// shiftKeyPressed = true;
+// document.getElementById('goal').addEventListener('click', function() {
+// const prompt = window.prompt('Enter a url for your goal.', 'E.g. https://edx.org/school/google/')
+
+// if (prompt == 'delete') {
+// chrome.storage.sync.remove(['goal'])
+// location.reload()
+// }
+
+// if (prompt) {
+// chrome.storage.sync.set({ goal: prompt }, () => {
+// location.reload()
+// })
+// }
+// })
+// }
+// });
+
+try {
+ if (String(search).includes('ai')) {
+ document.getElementById('o').innerText = 'Ask'
+ }
+ document.getElementById('o').addEventListener('click', function () {
+ window.location = `${search}${document.getElementById('i').value}`
+ })
+ document.getElementById('so').addEventListener('click', function () {
+ window.location = `https://stackoverflow.com/search?q=${document.getElementById('soi').value}`
+ })
+ document.getElementById('ro').addEventListener('click', function () {
+ window.location = `https://replit.com/search?query=${document.getElementById('ri').value}&category=Files&hasCurrentUser=true`
+ })
+ document.getElementById('gho').addEventListener('click', function () {
+ window.location = `https://github.com/search?q=${document.getElementById('ghi').value}&category=Files`
+ })
+ document.getElementById('lgr').addEventListener('click', function () {
+ window.location = `https://googlechrome.github.io/lighthouse/viewer/?psiurl=${encodeURIComponent(document.getElementById('lurl').value)}&strategy=desktop&category=performance&category=accessibility&category=best-practices&category=seo&category=pwa&utm_source=lh-chrome-ext`
+ })
+
+
+ // document.getElementById('goal').addEventListener('click', function() {
+ // const prompt = window.prompt('Enter a url for your goal.', 'E.g. https://edx.org/school/google/')
+
+ // if (prompt == 'delete') {
+ // chrome.storage.sync.remove(['goal'])
+ // location.reload()
+ // }
+
+ // if (prompt) {
+ // chrome.storage.sync.set({ goal: prompt }, () => {
+ // location.reload()
+ // })
+ // }
+ // })
+
+ // document.getElementById('cpo').addEventListener('click', function() {
+ // // window.location = `https://github.com/search?q=${document.getElementById('cpi').value}&category=Files`
+ // fetch("https://codepen.io/pen/define", {
+ // method: "POST",
+ // target: "_blank",
+ // headers: {
+ // "Content-Type": "application/json"
+ // },
+ // body: JSON.stringify({
+ // title: "New Dev Pen!",
+ // description: "New Codepen project created with the Zymono Developer Portal.",
+ // html: document.getElementById('cpi').value
+ // })
+ // })
+ // })
+} catch { }
+
+// try {
+// if (!window.localStorage.getItem('github')) {
+// document.getElementById('githubbtn').remove()
+// }
+// } catch {}
+
+
+try {
+ document.getElementById("i").addEventListener("keypress", function (event) {
+ if (event.keyCode === 13 || event.which === 13) {
+ // The Enter key was pressed
+ var inputValue = event.target.value;
+ window.location = `${search}${document.getElementById('i').value}`
+ }
+ });
+ document.getElementById("soi").addEventListener("keypress", function (event) {
+ if (event.keyCode === 13 || event.which === 13) {
+ // The Enter key was pressed
+ var inputValue = event.target.value;
+ window.location = `https://stackoverflow.com/search?q=${document.getElementById('soi').value}`
+ }
+ });
+ document.getElementById("ri").addEventListener("keypress", function (event) {
+ if (event.keyCode === 13 || event.which === 13) {
+ // The Enter key was pressed
+ var inputValue = event.target.value;
+ window.location = `https://replit.com/search?query=${document.getElementById('ri').value}&category=Files&hasCurrentUser=true`
+ }
+ });
+ document.getElementById("ghi").addEventListener("keypress", function (event) {
+ if (event.keyCode === 13 || event.which === 13) {
+ // The Enter key was pressed
+ var inputValue = event.target.value;
+ window.location = `https://github.com/search?q=${document.getElementById('ghi').value}&category=Files`
+ }
+ });
+ document.getElementById('cpi').addEventListener('keyup', function () {
+ document.getElementById('cpb').value = `{"title": "New Dev Pen!", "html": "${document.getElementById('cpi').value}"}`
+ })
+
+ document.getElementById('purl').addEventListener('keyup', function () {
+ document.getElementById('pform').action = document.getElementById('purl').value
+ })
+ document.getElementById('ptype').addEventListener('keyup', function () {
+ document.getElementById('pform').method = document.getElementById('ptype').value
+ })
+ // document.getElementById("cpi").addEventListener("keypress", function(event) {
+ // if (event.keyCode === 13 || event.which === 13) {
+ // // The Enter key was pressed
+ // var inputValue = event.target.value;
+ // fetch("https://codepen.io/pen/define", {
+ // method: "POST",
+ // target: "_blank",
+ // headers: {
+ // "Content-Type": "application/json"
+ // },
+ // body: JSON.stringify({
+ // title: "New Dev Pen!",
+ // description: "New Codepen project created with the Zymono Developer Portal.",
+ // html: document.getElementById('cpi').value
+ // })
+ // })
+ // }
+ // });
+} catch { }
+
+window.onload = function () {
+ document.getElementById('i').focus();
+ document.getElementById('i').click()
+};
+// let i = false;
+// document.addEventListener('keydown', function(event) {
+// const pressedKey = event.key;
+// if (!i) {
+// document.getElementById('i').value == event.key
+// document.getElementById('i').focus();
+// document.getElementById('i').click()
+
+// i = true;
+// return
+// }
+
+// });
+// const accessToken = "";
+
+// const fetchData = async () => {
+// const url = "https://api.dropboxapi.com/2/file_requests/list_v2";
+// const limit = 1000;
+
+// try {
+// const response = await fetch(url, {
+// method: "POST",
+// headers: {
+// Authorization: `Bearer ${accessToken}`,
+// "Content-Type": "application/json"
+// },
+// body: JSON.stringify({ limit })
+// });
+
+// if (!response.ok) {
+// throw new Error(`Request failed with status: ${response.status}`);
+// }
+
+// const data = await response.json();
+// console.log(data); // Use the response data as needed
+// } catch (error) {
+// console.error("Error fetching data:", error);
+// }
+// };
+
+// fetchData();
+
+try {
+ chrome.storage.sync.get(['news'], result => {
+ if (result.news) {
+ const apiUrl = 'https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty';
+ const articleBaseUrl = 'https://hacker-news.firebaseio.com/v0/item/';
+
+ fetch(apiUrl)
+ .then((response) => response.json())
+ .then((data) => {
+ // Shuffle the article IDs randomly
+ const shuffledIds = data.sort(() => Math.random() - 0.5).slice(0, 30);
+
+ const articlesContainer = document.getElementById('cards');
+ const promises = shuffledIds.map((id) =>
+ fetch(`${articleBaseUrl}${id}.json`).then((response) => response.json())
+ );
+
+ Promise.all(promises)
+ .then((articles) => {
+ console.log(articles)
+ articles = articles.filter((article) => article && article.type === 'story' && article.text);
+
+ articles.slice(0, 3).forEach((article) => {
+ const trimmedText = article.text.length > 300 ? `${article.text.slice(0, 300)}...` : article.text;
+
+ const articleElement = document.createElement('article');
+ articleElement.className = 'news';
+ articleElement.innerHTML = `
+
+
+ ${trimmedText}
+
+
+ `;
+ articlesContainer.insertBefore(articleElement, document.getElementById('insert'));
+ });
+ })
+ .catch((error) => console.error('Error fetching articles:', error));
+ })
+ .catch((error) => console.error('Error fetching article IDs:', error));
+ }
+ })
+} catch { }
+
+window.addEventListener('hashchange', handleHashChange);
+
+function handleHashChange() {
+ console.log(window.location.hash)
+ const articleBaseUrl = 'https://hacker-news.firebaseio.com/v0/item/';
+ // This function will be called whenever the hash in the URL changes.
+ // You can add your logic here to respond to the hash change.
+ if (String(window.location.hash).includes('news-')) {
+ const hash = String(window.location.hash).split('news-')
+
+ const id = hash[1]
+ console.log(id)
+
+ fetch(`${articleBaseUrl}${id}.json`)
+ .then((response) => response.json())
+ .then((article) => {
+ console.log(article)
+
+ let button = ``
+
+ if (article.id) {
+ button += ``
+ }
+
+ if (article.url) {
+ button += ``
+ }
+
+
+ const html = `
+ `
+
+
+ document.querySelector('body').innerHTML += html
+ document.getElementById('close').addEventListener('click', function () {
+ document.getElementById('close').parentElement.parentElement.remove()
+ window.location = '#'
+ })
+ })
+ .catch((error) => {
+ console.error('Error fetching data:', error);
+ // Optionally, you can alert an error message if something goes wrong during the fetch.
+ alert('Error fetching data. Please try again later.');
+ });
+
+ }
+
+ if (String(window.location.hash).includes('popup-')) {
+ const hash = String(window.location.hash).split('popup-')
+ console.log(popups[hash[1]])
+
+ const html = `
+ `
+
+
+ document.querySelector('body').innerHTML += html
+ document.getElementById('close').addEventListener('click', function () {
+ document.getElementById('close').parentElement.parentElement.remove()
+ window.location = '#'
+ })
+ }
+ // Or call a specific function to handle the hash change
+ // handleHashChangeLogic(window.location.hash);
+}
+
+/*
+
+
+
+
+ Hello I am a news article
+
+
+
+ */
+
+// GET REPLIT USER INFO
+
+try {
+ chrome.storage.sync.get(['replpfp', 'replname', 'replbio', 'replurl'], result => {
+ if (result.replpfp) {
+ document.getElementById('replpfp').src = result.replpfp
+ document.getElementById('replurl').href = result.replurl + '?newRepl'
+ document.getElementById('replname').innerText = `Replit: ${result.replname}`
+ }
+ })
+
+ // script.js
+ const developerJokes = [
+ "Why do programmers prefer dark mode? Because light attracts bugs!",
+ "Why did the developer go broke? Because he used up all his cache!",
+ "Why did the developer quit his job? He didn't get arrays.",
+ "Why do programmers always mix up Christmas and Halloween? Because Oct 31 == Dec 25!",
+ "Why do developers prefer to work in the dark? Because light travels faster than sound, and they want to appear bright until you hear them speak.",
+ "Why don't programmers like nature? It has too many bugs.",
+ "Why do developers prefer dark chocolate? Because it's byte-sized!",
+ "Why was the JavaScript developer sad? Because he didn't `null`ify his feelings.",
+ "Why do C# developers keep their windows open? Because they want to catch all the exceptions!",
+ "Why did the developer break up with his git repository? It had too many conflicts and couldn't commit.",
+ "Why do developers always mix up their left and right? Because they're always using `=` instead of `==`.",
+ "Why do Java developers wear glasses? Because they can't C#!",
+ "Why do developers always bring their umbrellas? In case it starts raining functions.",
+ "Why do programmers always mix up Christmas and Halloween? Because Oct 31 == Dec 25!",
+ "Why don't developers get along with their managers? Because they don't appreciate their constant refactoring.",
+ "Why don't front-end developers like nature? It has too many bugs they can't style.",
+ "Why was the developer's computer cold? It left its Windows open!",
+ "Why did the developer go broke? Because he didn't have enough cache flow!",
+ "Why do developers prefer dark mode? Because light attracts bugs!",
+ "Why do developers prefer Git in their version control? Because they can branch out easily when they have commitment issues.",
+ "Why do programmers always mix up their Halloween and Christmas decorations? Because Oct 31 == Dec 25!",
+ "Why don't programmers like to play hide and seek? Because good players are hard to find.",
+ "Use Toggled at toggled.tech",
+ "Why do programmers always mix up Christmas and Halloween? Because Oct 31 == Dec 25!",
+ "Why did the developer start using tabs instead of spaces? Because he wanted to break free!",
+ 'Why do developers prefer dark themes? Because they find them more "comforting" during debugging sessions.',
+ "Why was the computer cold? It left its Windows open!",
+ "Why do Java developers always wear glasses? Because they don't C#!",
+ 'Why do developers bring their umbrellas? Because they expect some "JavaScript" showers.',
+ "Why was the web developer so cold? His stylesheets were in the Arctic.",
+ 'Why do C# developers keep their windows open? Because they want to "catch" all the bugs.',
+ `Why did the developer go broke? Because he didn't get "arrays" in life.`,
+ ];
+
+ // Add more jokes here (up to 31)
+
+ chrome.storage.sync.get(['jokes'], result => {
+ if (result.jokes) {
+ function getJokeOfTheDay() {
+ const currentDate = new Date();
+ const jokeIndex = currentDate.getDate() % developerJokes.length;
+ return developerJokes[jokeIndex];
+ }
+
+ function displayJoke() {
+ const jokeContainer = document.getElementById('joke-container');
+ // let joke = localStorage.getItem('developer_joke');
+ const joke = getJokeOfTheDay();
+
+ jokeContainer.innerHTML = `${joke}
`;
+ }
+
+ displayJoke();
+ }
+ })
+
+
+ // Check if dark mode is enabled
+ function isDarkModeEnabled() {
+ return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
+ }
+
+ // Check if light mode is enabled
+ function isLightModeEnabled() {
+ return window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches;
+ }
+
+ // Example usage
+ if (isDarkModeEnabled()) {
+ console.log("Dark mode is enabled.");
+ document.getElementById('logo').src = 'images/Toggled-Light-Left.png'
+ // Your dark mode specific code here
+ } else if (isLightModeEnabled()) {
+ console.log("Light mode is enabled.");
+ document.getElementById('logo').src = 'images/Toggled-Left.png'
+ // Your light mode specific code here
+ } else {
+ console.log("Color scheme preference not detected.");
+ document.getElementById('logo').src = 'images/Toggled.png'
+ // Handle the case when the preference is not explicitly set.
+ }
+} catch { }
+
+function pin() {
+ chrome.storage.sync.get(['pin'], result => {
+ if (result.pin) {
+ if (!window.sessionStorage.getItem('pass') && result.pin) {
+ const bg = document.createElement('div')
+ bg.setAttribute('style', 'display: block; background-color: white; position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 999999;')
+
+ document.querySelector('html').append(bg)
+
+ setTimeout(function () {
+ if (window.prompt('Enter your pin!') == window.atob(result.pin)) {
+ bg.remove()
+ window.sessionStorage.setItem('pass', 'true')
+ } else {
+ pin()
+ }
+ }, 2)
+ }
+ }
+ })
+}
+
+pin()
+
+async function fetchAndParseModules() {
+ chrome.storage.sync.get({ modules: [] }, async (data) => {
+ const modules = data.modules;
+
+ if (modules.length === 0) {
+ console.log("No modules found.");
+ return;
+ }
+
+ for (const url of modules) {
+ try {
+ const response = await fetch(url);
+ if (!response.ok) {
+ console.error(`Failed to fetch module: ${url}`);
+ continue;
+ }
+
+ const scriptContent = await response.text();
+ // console.log(`Module from ${url}:\n`, scriptContent);
+ const content = JSON.parse(scriptContent)
+
+ // Get details
+ const details = content.details;
+ const blocks = content.blocks;
+
+ if (details) {
+ console.log("Extracted App Details:", details);
+ } else {
+ console.error("Failed to extract app details.");
+ return "No details"
+ }
+
+ if (blocks) {
+ // console.log("Extracted Blocks:", blocks);
+
+ blocks.forEach((block) => {
+ document.getElementById("cards").innerHTML += `
+
+
+
+
+ ${block.content}
+
+
+ `
+ })
+ }
+
+ if (content.popups) {
+ const popups1 = content.popups;
+ console.log("Extracted Popups:", popups1);
+ popups1.forEach((popup) => {
+ popups[popup.id] = popup;
+ })
+ }
+
+ if (content.panels) {
+ const panels = content.panels;
+ // console.log("Extracted Panels:", panels);
+ document.getElementById("homeTab").addEventListener('click', () => {
+ document.getElementById("cards").style.display = '';
+ document.getElementById("customPanel").style.display = 'none';
+ document.querySelector("#vertical-tabs .active").classList.remove("active");
+ document.getElementById("homeTab").classList.add("active");
+ document.getElementById("customPanel").innerHTML = ''
+ })
+
+ panels.forEach((panel) => {
+ const panelElement = document.createElement('a');
+ panelElement.href = '#';
+ panelElement.textContent = panel.title;
+ panelElement.addEventListener('click', () => {
+ document.getElementById("cards").style.display = 'none';
+ document.getElementById("customPanel").style.display = '';
+ document.querySelector("#vertical-tabs .active").classList.remove("active");
+ panelElement.classList.add("active");
+
+ panel.blocks.forEach((block) => {
+ document.getElementById("customPanel").innerHTML += `
+
+
+
+
+ ${block.content}
+
+
+ `
+ })
+
+ })
+ document.getElementById("vertical-tabs").appendChild(panelElement);
+ })
+ }
+
+ } catch (error) {
+ console.warn(`Error fetching module from ${url}:`, error);
+ }
+ }
+ });
+}
+
+// Function to convert a JavaScript object-like string to valid JSON
+function normalizeJavaScriptObject(jsObjectString) {
+ return JSON.parse(
+ jsObjectString
+ .replace(/(\w+):/g, '"$1":') // Quote unquoted keys
+ .replace(/'/g, '"') // Convert single quotes to double quotes
+ );
+}
+
+
+// Call the function to fetch and parse modules
+fetchAndParseModules();
+
diff --git a/submissions/ToggledDevPortal/DevPortal-main/images/DevPortal.png b/submissions/ToggledDevPortal/DevPortal-main/images/DevPortal.png
new file mode 100644
index 0000000000000000000000000000000000000000..b971242ff3becf08e0d44eb0da2a3b0626d5c00a
GIT binary patch
literal 26033
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
literal 0
HcmV?d00001
diff --git a/submissions/ToggledDevPortal/DevPortal-main/images/Toggled-Left.png b/submissions/ToggledDevPortal/DevPortal-main/images/Toggled-Left.png
new file mode 100644
index 0000000000000000000000000000000000000000..4da1eb00709b3b9cee107cb859f9721df73a66f8
GIT binary patch
literal 14159
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