diff --git a/chrome-exten/index.html b/chrome-exten/index.html new file mode 100644 index 0000000..8ded93e --- /dev/null +++ b/chrome-exten/index.html @@ -0,0 +1,56 @@ + + + + + + reKnag + + + + + + +
+ +
+ + +

reKnag

+
+ + + +
+ +

+ +
+ +

Shortened URL :

+
+ +

+ + + +
+
+

✔ Copied

+
+
+ + +
+ +
+ + + + \ No newline at end of file diff --git a/chrome-exten/index.js b/chrome-exten/index.js new file mode 100644 index 0000000..58da95e --- /dev/null +++ b/chrome-exten/index.js @@ -0,0 +1,42 @@ +document.getElementById("submit").onclick = function(){ + original_url = document.getElementById("url").value; + endpoint = "https://shortapi.kioydio.org/create/?url="+original_url + + + const Http = new XMLHttpRequest(); + Http.open("GET", endpoint); + Http.send(); + + Http.onreadystatechange=(e)=>{ + document.getElementById("output").innerHTML = Http.responseText; + document.getElementById("link").href = Http.responseText; + console.log(Http.response); + } + +} + + +document.getElementById("copy").onclick = function(){ + console.log("copy clicked") + var copyText = document.getElementById("output"); + + /* Create a temporary textarea element to copy the text */ + var tempTextarea = document.createElement("textarea"); + tempTextarea.value = copyText.textContent; + + /* Append the textarea to the document */ + document.body.appendChild(tempTextarea); + + /* Select and copy the text */ + tempTextarea.select(); + document.execCommand("copy"); + + /* Remove the temporary textarea */ + document.body.removeChild(tempTextarea); + + /* Provide some visual feedback (optional) */ + document.getElementById("confirm").style.opacity = "1"; + setTimeout(function(){ + document.getElementById("confirm").style.opacity = "0"; + },2000); +} diff --git a/chrome-exten/manifest.json b/chrome-exten/manifest.json new file mode 100644 index 0000000..b526437 --- /dev/null +++ b/chrome-exten/manifest.json @@ -0,0 +1,15 @@ +{ + "manifest_version": 3, + "name": "Kioydioshort", + "version": "6.1.2024", + "description": "Extension endpoint for shortening URLs with Kioydioshort", + "icons": { + "16": "icons/16.png", + "32": "icons/32.png", + "48": "icons/48.png", + "128": "icons/128.png" + }, + "action": { + "default_popup": "index.html" + } + } \ No newline at end of file diff --git a/chrome-exten/privacy-policy.html b/chrome-exten/privacy-policy.html new file mode 100644 index 0000000..0081481 --- /dev/null +++ b/chrome-exten/privacy-policy.html @@ -0,0 +1,63 @@ + + + + + + Kioydioshort + + + + + + +
+
+ + + +

+ +

Privacy policy for reKnag.com

+

Effective as of : January 29, 2024

+ +

1. Introduction

+Welcome to reKnag.com. This Privacy Policy is designed to help you understand how we collect, use, disclose, and safeguard your personal information in relation to our AdSense integration.
+ +

2. Information We Collect

+2.1 AdSense Information: We may collect information related to AdSense, including but not limited to ad impressions, clicks, and other interactions. This information is collected by Google AdSense, and we do not control or process this data.
+ +

3. AdSense and Third-Party Services

+3.1 Google AdSense: Our site uses Google AdSense, a third-party advertising service provided by Google. AdSense may use cookies to serve relevant ads based on users' visits to our site and other websites on the internet. For more information on how Google AdSense uses data, please refer to Google's Privacy Policy.
+ +

4. Security

+We implement reasonable security measures to protect your information. However, please note that AdSense data is collected and processed by Google, and their security measures apply. Refer to Google's Privacy Policy for more details.
+ +

5. Your Choices

+You can control your preferences related to personalized advertising by adjusting your Google Ad Settings.
+ +

6. Changes to This Privacy Policy

+We reserve the right to update our Privacy Policy. Any changes will be posted on this page with an updated effective date.
+ +

7. Contact Us

+If you have any questions about this Privacy Policy, please contact us at reknag@kioydio.org. +

+

+ +
+
+

✔ Copied

+
+
+
+
+ Back +
+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/chrome-exten/style.css b/chrome-exten/style.css new file mode 100644 index 0000000..94de216 --- /dev/null +++ b/chrome-exten/style.css @@ -0,0 +1,302 @@ +body{ + background-color: #1e1e1e; + text-align: center; + color: white; + font-family: Arial; + /* background-image: url(./icon/sunrise.png); + background-position: center; + background-attachment: fixed; + background-size: cover; */ + background: rgb(96,48,18); + background: linear-gradient(0deg, rgba(96,48,18,1) 0%, rgba(96,48,18,1) 0%, rgba(8,7,25,1) 60%, rgba(12,11,29,1) 100%); + background-position: center; + background-attachment: fixed; + background-size: cover; + display: flex; + justify-content: center; + align-items: center; + height: 97vh; +} + +#output{ + color: #be5413; +} + +#output:hover{ + color: #eb5f08; +} + +#policy{ + size: small; +} + +.p{ + margin: 5px; +} + +h4{ + margin: 0px; + align-self: start; +} + +rest{ + align-self: start; + text-align: start; +} + +#header{ + width: 100%; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: start; + text-align: left; + padding-left: 25px; + color: white; + font-style: normal; + text-decoration: none; + position: absolute; + top: 10px; + left: -10px; + /* border: 1px solid black; */ +} + +a{ + color: #be5413; + margin-left: 5px; + margin: 0px; +} + +.helpatag{ + color: white; + font-style: italic; + margin: 3px; + /* border: 1px solid black; */ +} + +#maindiv{ + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + margin-bottom: 0px; +} + +#copy{ + font-size: 10px; + margin-top: 0px; + width: max-content; + align-self: end; + justify-self: end; + border-radius: 99px; + background-color: transparent; +} + +.material-symbols-outlined { + font-variation-settings: + 'FILL' 0, + 'wght' 400, + 'GRAD' 0, + 'opsz' 24 +} + +#submit{ + margin-top: 5px; + width: 102.5%; +} + +#hr{ + width: 40%; + margin-top: 0px; + border: 1px solid rgba(255, 255, 255, 0.347); + position: fixed; + top: 50px; + left: 5px; +} + +#hrpol{ + width: 120%; + margin-top: 5px; + margin-bottom: 20px; + border: 1px solid rgba(255, 255, 255, 0.347); +} + +button{ + border-radius: 3px; + border: 0px; + background-color: #be5413; + color: white; + width: 100%; + font-size: x-large; + padding: 5px; +} + +#url{ + text-align: center; + width: 100%; + font-size: x-large; + background-color: transparent; + border: 0px; + border-bottom: 2px solid white; + outline: 0; + outline: 2px solid transparent; + outline-offset: -2px; + color: white; + padding: 5px; + border-radius: 0px; +} + +#copy:hover{ + background-color: rgba(255, 255, 255, 0.047); +} + +#url::placeholder{ + text-align: left; + font-style: italic; + color: rgba(255, 255, 255, 0.655); +} + +button:hover{ + cursor: pointer; + background-color:#eb5f08; +} + +#confirm{ + display: block; + color: rgba(255, 255, 255, 0.347); + font-style: italic; + border-radius: 5px; + background-color: transparent; + margin: 5px; + padding: 2px; + padding-right: 4px; + padding-left: 4.5px; + width: max-content; + align-items: center; + justify-content: center; + text-align: center; + transition: opacity 0.5s ease; + opacity: 0; +} + +#inputdetails{ + border: 1px groove rgba(255, 255, 255, 0.267); + border-radius: 15px; + width: 400px; + height: 400px; + padding: 50px; + box-shadow: 0px 50px 50px rgba(0,0,0,0.2); + background: transparent; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-size: x-large; + position: relative; +} + +#inputdetailspol{ + border: 1px groove rgba(255, 255, 255, 0.267); + border-radius: 15px; + width: 400px; + height: 600px; + padding: 50px; + box-shadow: 0px 50px 50px rgba(0,0,0,0.2); + background: transparent; + backdrop-filter: blur(10px); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-size: small; +} + +#confirmouter{ + display: inline-block; + text-align: center; + align-items: start; + justify-content: start; + display: flex; + flex-direction: row; + position: fixed; + bottom: 10px; + left: 10px; + font-size: small; + /* border: 1px dashed black; */ +} + +#helpouter{ + display: block; + text-align: center; + align-items: center; + justify-content: center; + display: flex; + flex-direction: column; + position: fixed; + bottom: 10px; + right: 15px; + font-size: small; +} + + +#helpouter{ + width: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: end; + text-align: left; + padding-left: 25px; + color: white; + font-style: normal; + text-decoration: none; + position: absolute; + bottom: 10px; + left: -40px; + /* border: 1px solid black; */ +} + +#confirmouter{ + width: min-content; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: start; + text-align: left; + padding-left: 0px; + color: white; + font-style: normal; + text-decoration: none; + position: absolute; + /* border: 1px solid black; */ +} + + + + +/* below are rules for moible devices (phones)*/ + +@media screen and (max-width:600px) { + #submit{ + font-size: small; + } + #url{ + font-size: small; + } + #maindiv{ + font-size: small; + } + #output{ + font-size: small; + } + #header{ + font-size: small; + } + #kstext{ + top: 30px; + } + #inputdetails{ + width: 200px; + height: 300px; + } +} \ No newline at end of file