19 |
20 |
21 |
33 |
Solo
34 | letras minúsculas y sin acentos
35 |
49 | Resultado:
50 | 51 | 52 | 55 |├── README.md ├── Images ├── Muñeco.png ├── icon.png └── exclamacion.png ├── style ├── _variables.scss ├── style.css.map ├── style.scss └── style.css ├── style.css ├── encrypter.js └── index.html /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaime-IgnacioDev/Challenge-Oracle-ONE1/HEAD/README.md -------------------------------------------------------------------------------- /Images/Muñeco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaime-IgnacioDev/Challenge-Oracle-ONE1/HEAD/Images/Muñeco.png -------------------------------------------------------------------------------- /Images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaime-IgnacioDev/Challenge-Oracle-ONE1/HEAD/Images/icon.png -------------------------------------------------------------------------------- /Images/exclamacion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaime-IgnacioDev/Challenge-Oracle-ONE1/HEAD/Images/exclamacion.png -------------------------------------------------------------------------------- /style/_variables.scss: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap'); 2 | $Font: 'Inter', sans-serif; 3 | $ColorPrimario: #0A3871; 4 | $ColorSecundario: #fff; -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | } 4 | form { 5 | max-width: 500px; 6 | margin: 0 auto; 7 | text-align: center; 8 | } 9 | textarea { 10 | width: 100%; 11 | height: 200px; 12 | margin-bottom: 20px; 13 | font-size: 16px; 14 | resize: none; 15 | } 16 | .button-container { 17 | display: flex; 18 | justify-content: space-between; 19 | } 20 | button { 21 | padding: 10px 20px; 22 | font-size: 16px; 23 | border-radius: 5px; 24 | background-color: #4CAF50; 25 | color: white; 26 | border: none; 27 | cursor: pointer; 28 | } 29 | button:hover { 30 | background-color: #45a049; 31 | } 32 | 33 | h1 { 34 | text-align: center; 35 | } 36 | .subtittle_1 { 37 | text-align: center; 38 | } 39 | -------------------------------------------------------------------------------- /style/style.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["_variables.scss","style.scss","style.css"],"names":[],"mappings":"AAAQ,2FAAA;ACER;EACE,UAAA;EACA,SAAA;EACA,sBAAA;ACAF;;ADGA;EACE,eAAA;EACA,gCDTK;AESP;;ADIE;EACE,2BAAA;ACDJ;ADGE;EACE;IACE,2BAAA;ECDJ;AACF;;ADME;EACE,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;ACHJ;ADII;EACE,WAAA;EACA,mBAAA;EAEA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;EACA,SAAA;ACHN;ADME;EACE,WAAA;ACJJ;ADME;EACE,UAAA;EACA,cAAA;EACA,eAAA;EACA,aAAA;EACA,iBAAA;EACA,iBAAA;EACA,aAAA;EACA,uBAAA;EACA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,gBAAA;EACA,gCDxDG;ECyDH,cDxDY;ECyDZ,gBAAA;ACJJ;ADMI;EACE,cD5DU;EC6DV,iBAAA;EACA,mBAAA;EAEA,gBAAA;ACLN;ADAI;EACE,cD5DU;EC6DV,iBAAA;EACA,mBAAA;EAEA,gBAAA;ACLN;ADAI;EACE,cD5DU;EC6DV,iBAAA;EACA,mBAAA;EAEA,gBAAA;ACLN;ADOI;EACE,yBAAA;ACLN;ADQE;EACE,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,YAAA;EACA,iBAAA;EAEA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,QAAA;ACPJ;ADSE;EACE,UAAA;EACA,aAAA;EAEA,yBAAA;EACA,mBAAA;EACA,sBDvFc;ECwFd,gBAAA;EACA,eAAA;ACRJ;ADSI;EACE,mBD5FU;EC6FV,WD5FY;AEqFlB;ADQM;EACE,gBD9FU;EC+FV,cDhGQ;AE0FhB;ADSI;EACE,mBDpGU;ECqGV,WDpGY;AE6FlB;ADUE;EACE,WAAA;EAEA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;ACTJ;ADWE;EACE,aAAA;ACTJ;ADWE;EACE,mBAAA;ACTJ;ADWE;EACE,mBAAA;ACTJ;ADWE;EAEI;IACE,mBAAA;IACA,eAAA;ECVN;EDaE;IACE,eAAA;ECXJ;AACF;ADaE;EACE;IACE,mBAAA;ECXJ;EDaE;IACE,UAAA;ECXJ;EDaE;IACE,cAAA;ECXJ;AACF","file":"style.css"} -------------------------------------------------------------------------------- /encrypter.js: -------------------------------------------------------------------------------- 1 | const encryptButton = document.getElementById("encrypt-button"); 2 | const decryptButton = document.getElementById("decrypt-button"); 3 | const copyButton = document.getElementById("copy-button"); 4 | const inputText = document.getElementById("input-text"); 5 | const result = document.getElementById("result"); 6 | 7 | const encryptionKey = { 8 | "e": "enter", 9 | "i": "imes", 10 | "a": "ai", 11 | "o": "ober", 12 | "u": "ufat" 13 | }; 14 | 15 | const decryptKey = { 16 | "enter": "e", 17 | "imes": "i", 18 | "ai": "a", 19 | "ober": "o", 20 | "ufat": "u" 21 | }; 22 | 23 | function encrypt(text) { 24 | let encryptedText = ""; 25 | for (let i = 0; i < text.length; i++) { 26 | const letter = text[i]; 27 | if (letter in encryptionKey) { 28 | encryptedText += encryptionKey[letter]; 29 | } else { 30 | encryptedText += letter; 31 | } 32 | } 33 | return encryptedText; 34 | } 35 | 36 | function decrypt(text) { 37 | let decryptedText = ""; 38 | let currentWord = ""; 39 | for (let i = 0; i < text.length; i++) { 40 | const letter = text[i]; 41 | if (letter in decryptKey) { 42 | currentWord += letter; 43 | } else { 44 | if (currentWord in decryptKey) { 45 | decryptedText += decryptKey[ 46 | currentWord]; 47 | } else { 48 | decryptedText += currentWord; 49 | } 50 | currentWord = ""; 51 | decryptedText += letter; 52 | } 53 | } 54 | if (currentWord in decryptKey) { 55 | decryptedText += decryptKey[currentWord]; 56 | } else { 57 | decryptedText += currentWord; 58 | } 59 | return decryptedText; 60 | } 61 | 62 | encryptButton.addEventListener("click", function() { 63 | const input = inputText.value; 64 | result.textContent = encrypt(input); 65 | }); 66 | 67 | decryptButton.addEventListener("click", function() { 68 | const input = inputText.value; 69 | result.textContent = decrypt(input); 70 | }); 71 | 72 | copyButton.addEventListener("click", function() { 73 | const input = inputText.value; 74 | const encryptedInput = encrypt(input); 75 | navigator.clipboard.writeText(encryptedInput); 76 | }); 77 | 78 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 12 |
33 |
Solo
34 | letras minúsculas y sin acentos
35 |
49 | Resultado:
50 | 51 | 52 | 55 |