@@ -4130,7 +4169,6 @@ function collect_Empty_Question_Id(arrayString, ID) {
const input_text_value = document.getElementById(ID);
// console.log(input_text_value);
var attrId = ""
- // console.log(input_text_value);
if(input_text_value !== null)
{
// console.log("ikl");
@@ -4298,12 +4336,15 @@ function check_Remove_Empty_Question(IdToRemove , DeleteElement=0) {
var title_i = localStorage.getItem('JSON_FOR_EMPTY_QUESTION');
var parsedArra = JSON.parse(title_i);
var againpushlist =[];
- parsedArra.forEach(function (para) {
+ if (parsedArra) {
+ parsedArra.forEach(function (para) {
- againpushlist.push(para)
- array_of_Id=againpushlist;
- // console.log(array_of_Id);
- })
+againpushlist.push(para)
+array_of_Id=againpushlist;
+// console.log(array_of_Id);
+})
+ }
+
}
diff --git a/envConvertBasetoString.js b/envConvertBasetoString.js
index b84bc87..f58db5a 100644
--- a/envConvertBasetoString.js
+++ b/envConvertBasetoString.js
@@ -7,8 +7,8 @@ require('dotenv').config({ path: path.join(__dirname, '.env') });
//this runs on main app
function convertBaseToString() {
var base64 = process.env.MY_CONFIG;
-
- const decodedContents = Buffer.from(base64, 'base64').toString('utf-8');
+ if (base64) {
+ const decodedContents = Buffer.from(base64, 'base64').toString('utf-8');
const configArray = decodedContents.split('\n');
const configObject = {};
@@ -21,6 +21,37 @@ function convertBaseToString() {
});
return configObject;
+ }else{
+ const envContents = fs.readFileSync('.env', 'utf-8');
+ const base64String = Buffer.from(envContents, 'utf-8').toString('base64');
+ const newEnvContents = `MY_CONFIG = ${base64String}`;
+ fs.writeFileSync('.env', newEnvContents, 'utf-8');
+ console.log("Convert String into Base64 is success");
+
+ const parts = newEnvContents.split('=');
+
+ if (parts.length >= 2) {
+ const result = parts.slice(1).join('=');
+
+
+ const decodedContents = Buffer.from(result, 'base64').toString('utf-8');
+ const configArray = decodedContents.split('\n');
+ const configObject = {};
+
+ configArray.forEach(pair => {
+ if (pair.trim() !== '') {
+ const [rawKey, value] = pair.split('=');
+ const key = rawKey.trim().replace(/^'|'$/g, '');
+ configObject[key] = value.trim();
+ }
+ });
+
+ return configObject;
+ } else {
+ console.log("Invalid input format");
+ }
+
+ }
}
@@ -58,9 +89,11 @@ function envConverter(value) {
console.log("Already Decoded String");
}
}
+
}
const args = process.argv.slice(2);
+console.log(args);
envConverter(args[0]);
module.exports = convertBaseToString;
diff --git a/json2xml.js b/json2xml.js
index 90d21fa..31d916b 100644
--- a/json2xml.js
+++ b/json2xml.js
@@ -83,6 +83,7 @@ function json2xml() {
var is_math_enabled = createElementWithText(doc, element, 'Math', (question['is_math_enabled'] === true ? 'true' : 'false'), {});
if (question['question_type'] == 'group') {
+ // console.log(question);
separateCorrectAnswerFromMcqAsJson(question)
var hasMultipleAnswers = createElementWithText(doc, element, 'HasMultipleAnswers', (question['question_sub_type'] === true ? 'true' : 'false'), {});
var choicesElement = createElementWithText(doc, element, 'Choices', '', {});
@@ -218,7 +219,7 @@ function json2xml() {
//for Separate Correct Answer From MCQ
if(singleQuestion.question_type == 'group'){
console.log(singleQuestion);
- separateCorrectAnswerFromMcqAsJson(singleQuestion)
+ separateCorrectAnswerFromMcqAsJson(singleQuestion,12)
}
@@ -253,12 +254,15 @@ function json2xml() {
const outputJson = { questions: [] };
-function separateCorrectAnswerFromMcqAsJson(tempSection) {
+function separateCorrectAnswerFromMcqAsJson(tempSection,check=0) {
- console.log(tempSection);
+ console.log(check);
+ var answers= [];
const questionId = tempSection.choice_question_uuid;
-const answers = tempSection.correct_answer;
-
+var correct_answers = tempSection.correct_answer;
+ correct_answers.forEach(function(answer){
+ answers.push(answer[0])
+ });
// Create an object for each question and push it to the output array
outputJson.questions.push({
questionId,
@@ -266,9 +270,30 @@ outputJson.questions.push({
});
// Convert the output object to JSON string
-const outputJsonString = JSON.stringify(outputJson, null, 2);
+console.log(outputJson);
+
+function removeDuplicateQuestionIds(inputJson) {
+ const uniqueQuestionIds = {};
+ const result = { questions: [] };
+
+ for (const question of inputJson.questions) {
+ const questionId = question.questionId;
+
+ // Check if questionId is not already added
+ if (!uniqueQuestionIds[questionId]) {
+ uniqueQuestionIds[questionId] = true;
+ result.questions.push(question);
+ }
+ }
+
+ return result;
+ }
+
+ const uniqueOutputJson = removeDuplicateQuestionIds(outputJson);
+
+const outputJsonString = JSON.stringify(uniqueOutputJson, null, 2);
localStorage.setItem("Correct_Answer_Json", outputJsonString);
-console.log('outputJsonString : ', outputJsonString);
+// console.log('outputJsonString : ', outputJsonString);
}
diff --git a/main.js b/main.js
index 7b4c336..35aee66 100644
--- a/main.js
+++ b/main.js
@@ -8,7 +8,7 @@ let onlineStatus = true;
const { dialog } = require('electron');
const saveFile = require('./savexml');
const { log } = require('console');
-// require('dotenv').config({ path: path.join(__dirname, '.env') });
+require('dotenv').config({ path: path.join(__dirname, '.env') });
// const Quill = require('quill');
let mainWindow;
@@ -17,12 +17,11 @@ const convertBaseToString =require('./envConvertBasetoString');
var configObject = convertBaseToString();
-// console.log(configObject);
-
-// const auto_close= process.env.DISABLE_AUTO_CLOSE;
+// console.log(configObject)
const auto_close= configObject.DISABLE_AUTO_CLOSE.trim();
+const EncryptorNot= configObject.ENCRYPTED.trim();
// const auto_close_time = parseInt(process.env.AUTO_CLOSE_TIME) * 1000;
@@ -231,6 +230,35 @@ async function checkInternetConnection() {
}
+function checkFilesAndQuit() {
+ const folder1Path = path.join(__dirname, '/credentials/in')
+ const folder2Path = path.join(__dirname, '/credentials/out')
+
+ const file1Path = path.join(folder1Path, 'privatekey.pem');
+ const file2Path = path.join(folder1Path, 'publickey.pem');
+ const file3Path = path.join(folder2Path, 'publickey.pem');
+
+ const file1Exists = fs.existsSync(file1Path);
+ const file2Exists = fs.existsSync(file2Path);
+ const file3Exists = fs.existsSync(file3Path);
+
+ if (file1Exists && file2Exists && file3Exists) {
+ console.log('All three files exist!');
+ } else {
+ dialog.showErrorBox('Error', 'Credential Files Are missing. App will Close');
+ app.quit();
+ }
+}
+
+app.whenReady().then(() => {
+ if (EncryptorNot == 'YES') {
+ checkFilesAndQuit();
+ }
+});
+
+
+
+
app.on('ready', createWindow);
app.on('window-all-closed', function () {
diff --git a/nav_pane.js b/nav_pane.js
index c05c72c..f0359a4 100644
--- a/nav_pane.js
+++ b/nav_pane.js
@@ -71,6 +71,11 @@ function navpane() {
// const truncatedTitle = treeTitle.length > 20 ? treeTitle.substring(0, 20) + '.....' : treeTitle;
const truncatedTitle = treeTitle.length > 30 ? treeTitle + '' : treeTitle;
heading.innerHTML = truncatedTitle;
+ const headingNavPane = document.createElement('div');
+ headingNavPane.style.textAlign = 'center';
+ headingNavPane.style.marginBottom = '45px'
+ headingNavPane.innerHTML = "OUTLINE";
+ container.appendChild(headingNavPane)
container.appendChild(heading);
createTree(data, container);
}
diff --git a/package-lock.json b/package-lock.json
index 3d6aaa0..145f357 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,14 +9,17 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
+ "alertifyjs": "^1.13.1",
"bootstrap-icons": "^1.11.1",
"cheerio": "^1.0.0-rc.12",
"cropperjs": "^1.6.1",
"desandro-matches-selector": "^2.0.2",
"dotenv": "^16.3.1",
+ "electron-alert": "^0.1.20",
"electron-context-menu": "^3.6.1",
"electron-dl": "^3.5.1",
"electron-download-manager": "^2.1.2",
+ "electron-log": "^5.0.1",
"electron-prompt": "^1.7.0",
"ev-emitter": "^2.1.2",
"fizzy-ui-utils": "^3.0.0",
@@ -40,6 +43,7 @@
"quill-resize-module": "^1.2.4",
"quill-table": "^1.0.0",
"quill1-table": "^1.7.2",
+ "sweetalert": "^2.1.2",
"sweetalert2": "^11.6.13",
"tippy.js": "^6.3.7",
"uuid": "^9.0.1",
@@ -93,7 +97,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
"integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==",
- "dev": true,
"dependencies": {
"debug": "^4.1.1",
"env-paths": "^2.2.0",
@@ -309,7 +312,6 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -321,7 +323,6 @@
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
"integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "dev": true,
"dependencies": {
"defer-to-connect": "^2.0.0"
},
@@ -341,7 +342,6 @@
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
"integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
- "dev": true,
"dependencies": {
"@types/http-cache-semantics": "*",
"@types/keyv": "^3.1.4",
@@ -358,7 +358,6 @@
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
"integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "dev": true,
"dependencies": {
"@types/node": "*"
}
@@ -367,7 +366,6 @@
"version": "18.19.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz",
"integrity": "sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==",
- "dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
@@ -376,7 +374,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
"integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
- "dev": true,
"dependencies": {
"@types/node": "*"
}
@@ -385,7 +382,6 @@
"version": "2.10.3",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
"integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
- "dev": true,
"optional": true,
"dependencies": {
"@types/node": "*"
@@ -486,6 +482,11 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/alertifyjs": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/alertifyjs/-/alertifyjs-1.13.1.tgz",
+ "integrity": "sha512-CckZE2dZDsEEXglOXKxT00vUDV5A6udZom+bn1XHdIWlbSFZgYq7UXCBlwkShhIH3Li/1VxLmr55GOQFQ12WSg=="
+ },
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -658,7 +659,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
"integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
- "dev": true,
"optional": true
},
"node_modules/bootstrap-icons": {
@@ -695,7 +695,6 @@
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true,
"engines": {
"node": "*"
}
@@ -716,7 +715,6 @@
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
"integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
- "dev": true,
"engines": {
"node": ">=10.6.0"
}
@@ -725,7 +723,6 @@
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
"integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
- "dev": true,
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -845,7 +842,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
"integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "dev": true,
"dependencies": {
"mimic-response": "^1.0.0"
},
@@ -869,6 +865,14 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -971,6 +975,25 @@
"node": ">= 10"
}
},
+ "node_modules/crypto-random-string": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-3.3.1.tgz",
+ "integrity": "sha512-5j88ECEn6h17UePrLi6pn1JcLtAiANa3KExyr9y9Z5vo2mv56Gh3I4Aja/B9P9uyMwyxNHAHWv+nE72f30T5Dg==",
+ "dependencies": {
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/crypto-random-string/node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/css-select": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
@@ -1161,7 +1184,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
- "dev": true,
"optional": true
},
"node_modules/dezalgo": {
@@ -1292,7 +1314,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/electron/-/electron-26.6.2.tgz",
"integrity": "sha512-OWxzVtCJwN9en34bnLupw2dTRsDTBzQZyz0Wx0zjeJ2wgUVlpqavtVDpt50aaJpJR/5GcHH/apIa3uvGWz/ABQ==",
- "dev": true,
"hasInstallScript": true,
"dependencies": {
"@electron/get": "^2.0.0",
@@ -1306,6 +1327,29 @@
"node": ">= 12.20.55"
}
},
+ "node_modules/electron-alert": {
+ "version": "0.1.20",
+ "resolved": "https://registry.npmjs.org/electron-alert/-/electron-alert-0.1.20.tgz",
+ "integrity": "sha512-2ZhGBnyCOzvO5Y8tkqKU8nhsHOO+KCrzUP4P0kKkBP8p+sIKGBxym1zmSN7PhsSCweA5mEtHEZkAXtcCYFtCBg==",
+ "dependencies": {
+ "clean-stack": "^2.2.0",
+ "crypto-random-string": "^3.3.1",
+ "electron-positioner": "^4.1.0",
+ "exception-formatter": "^2.1.2",
+ "temp-write": "^4.0.0"
+ },
+ "peerDependencies": {
+ "electron": ">=7.0.0"
+ }
+ },
+ "node_modules/electron-alert/node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/electron-context-menu": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-3.6.1.tgz",
@@ -1348,6 +1392,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/electron-log": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.0.1.tgz",
+ "integrity": "sha512-x4wnwHg00h/onWQgjmvcdLV7Mrd9TZjxNs8LmXVpqvANDf4FsSs5wLlzOykWLcaFzR3+5hdVEQ8ctmrUxgHlPA==",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/electron-packager": {
"version": "17.1.2",
"resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-17.1.2.tgz",
@@ -1434,6 +1486,11 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/electron-positioner": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/electron-positioner/-/electron-positioner-4.1.0.tgz",
+ "integrity": "sha512-726DfbI9ZNoCg+Fcu6XLuTKTnzf+6nFqv7h+K/V6Ug7IbaPMI7s9S8URnGtWFCy5N5PL4HSzRFF2mXuinftDdg=="
+ },
"node_modules/electron-prompt": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/electron-prompt/-/electron-prompt-1.7.0.tgz",
@@ -1529,7 +1586,6 @@
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
"dependencies": {
"once": "^1.4.0"
}
@@ -1549,7 +1605,6 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -1567,9 +1622,13 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true,
"optional": true
},
+ "node_modules/es6-object-assign": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
+ "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw=="
+ },
"node_modules/escape-goat": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
@@ -1582,7 +1641,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=10"
@@ -1650,6 +1708,17 @@
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
},
+ "node_modules/exception-formatter": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/exception-formatter/-/exception-formatter-2.1.2.tgz",
+ "integrity": "sha512-LHBd3npNQZ47GeO5jPTorbCvw2/BxxFNn9JG+FjjhifwI/jC5zi2W+UX//FrlIfTXvW4nRx2jthy1ujTVHhsLw==",
+ "dependencies": {
+ "colors": "^1.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.1"
+ }
+ },
"node_modules/ext-list": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
@@ -1682,7 +1751,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -1730,7 +1798,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
"dependencies": {
"pend": "~1.2.0"
}
@@ -1872,7 +1939,6 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -2006,7 +2072,6 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
"dependencies": {
"pump": "^3.0.0"
},
@@ -2049,7 +2114,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
"integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
- "dev": true,
"optional": true,
"dependencies": {
"boolean": "^3.0.1",
@@ -2067,7 +2131,6 @@
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
"optional": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -2083,7 +2146,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
"integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
"optional": true,
"dependencies": {
"define-properties": "^1.1.3"
@@ -2110,7 +2172,6 @@
"version": "11.8.6",
"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
- "dev": true,
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
@@ -2134,8 +2195,7 @@
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
"node_modules/har-schema": {
"version": "2.0.0",
@@ -2300,7 +2360,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
"integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "dev": true,
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
@@ -2650,6 +2709,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -2781,7 +2851,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
@@ -2892,7 +2961,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -2901,7 +2969,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -2909,11 +2977,24 @@
"node": ">=10"
}
},
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/matcher": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
- "dev": true,
"optional": true,
"dependencies": {
"escape-string-regexp": "^4.0.0"
@@ -3139,7 +3220,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -3203,7 +3283,6 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
"integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -3309,7 +3388,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -3481,8 +3559,7 @@
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
"node_modules/performance-now": {
"version": "2.1.0",
@@ -3529,11 +3606,15 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
"engines": {
"node": ">=0.4.0"
}
},
+ "node_modules/promise-polyfill": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz",
+ "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ=="
+ },
"node_modules/psl": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
@@ -3708,7 +3789,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -4048,7 +4128,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
"integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
- "dev": true,
"dependencies": {
"lowercase-keys": "^2.0.0"
},
@@ -4060,7 +4139,6 @@
"version": "2.15.4",
"resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
"integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
- "dev": true,
"optional": true,
"dependencies": {
"boolean": "^3.0.1",
@@ -4123,7 +4201,6 @@
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
"bin": {
"semver": "bin/semver.js"
}
@@ -4132,14 +4209,12 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
- "dev": true,
"optional": true
},
"node_modules/serialize-error": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
"integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
- "dev": true,
"optional": true,
"dependencies": {
"type-fest": "^0.13.1"
@@ -4287,7 +4362,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
- "dev": true,
"optional": true
},
"node_modules/sshpk": {
@@ -4388,7 +4462,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
"integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
- "dev": true,
"dependencies": {
"debug": "^4.1.0"
},
@@ -4408,6 +4481,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/sweetalert": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz",
+ "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==",
+ "dependencies": {
+ "es6-object-assign": "^1.1.0",
+ "promise-polyfill": "^6.0.2"
+ }
+ },
"node_modules/sweetalert2": {
"version": "11.10.1",
"resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.1.tgz",
@@ -4422,6 +4504,38 @@
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
},
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/temp-write": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz",
+ "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==",
+ "dependencies": {
+ "graceful-fs": "^4.1.15",
+ "is-stream": "^2.0.0",
+ "make-dir": "^3.0.0",
+ "temp-dir": "^1.0.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/temp-write/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/tippy.js": {
"version": "6.3.7",
"resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz",
@@ -4515,7 +4629,6 @@
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=10"
@@ -4527,14 +4640,12 @@
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
},
"node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
"engines": {
"node": ">= 4.0.0"
}
@@ -4764,7 +4875,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "devOptional": true
},
"node_modules/yargs-parser": {
"version": "21.1.1",
@@ -4779,7 +4890,6 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
diff --git a/package.json b/package.json
index 9e8069f..ffdb72d 100644
--- a/package.json
+++ b/package.json
@@ -17,14 +17,17 @@
"electron-wix-msi": "^5.0.0"
},
"dependencies": {
+ "alertifyjs": "^1.13.1",
"bootstrap-icons": "^1.11.1",
"cheerio": "^1.0.0-rc.12",
"cropperjs": "^1.6.1",
"desandro-matches-selector": "^2.0.2",
"dotenv": "^16.3.1",
+ "electron-alert": "^0.1.20",
"electron-context-menu": "^3.6.1",
"electron-dl": "^3.5.1",
"electron-download-manager": "^2.1.2",
+ "electron-log": "^5.0.1",
"electron-prompt": "^1.7.0",
"ev-emitter": "^2.1.2",
"fizzy-ui-utils": "^3.0.0",
@@ -48,6 +51,7 @@
"quill-resize-module": "^1.2.4",
"quill-table": "^1.0.0",
"quill1-table": "^1.7.2",
+ "sweetalert": "^2.1.2",
"sweetalert2": "^11.6.13",
"tippy.js": "^6.3.7",
"uuid": "^9.0.1",
diff --git a/style.css b/style.css
index f28d1a6..decd97f 100644
--- a/style.css
+++ b/style.css
@@ -1731,12 +1731,18 @@ input::focus {
margin-top: 7px;
}
.form_box input:focus{
- box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
- border-color: #80bdff;
+ /* box-shadow: 0 0 0 .2rem rgba(0,123,255,.25); */
+ /* box-shadow: 0 0 0 .1rem rgba(255, 0, 0, .25); */
+ box-shadow: 0 0 0 .1rem rgba(253, 126, 20, .60);
+
+ /* border-color: #80bdff; */
outline: 0;
}
.form_box textarea:focus{
- box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
+ /* box-shadow: 0 0 0 .2rem rgba(0,123,255,.25); */
+ /* box-shadow: 0 0 0 .1rem rgba(255, 0, 0, .25); */
+ box-shadow: 0 0 0 .1rem rgba(255, 165, 0, .25);
+
border-color: #80bdff;
}
input::placeholder {