DISPLAYMARKPREVIEW PREVIEWSAVECHANGE : AADHAVAN
This commit is contained in:
parent
7b1d05d756
commit
25aa6a831a
@ -101,6 +101,25 @@ function QuestionPaperPreview(jsonData){
|
||||
var sectionMark = `<p id="sectionMark">Marks: ${section.section_marks}</p>`;
|
||||
|
||||
}
|
||||
|
||||
var displayMarks = section.section_display_marks;
|
||||
if (displayMarks === 'false') {
|
||||
var parser = new DOMParser();
|
||||
var doc = parser.parseFromString(sectionMark, 'text/html');
|
||||
var questionMarkElement = doc.body.firstChild;
|
||||
questionMarkElement.setAttribute('hidden', 'hidden');
|
||||
sectionMark =questionMarkElement.outerHTML
|
||||
|
||||
|
||||
var doc = parser.parseFromString(sectionAttempt, 'text/html');
|
||||
var questionMarkElement = doc.body.firstChild;
|
||||
questionMarkElement.style.marginRight = '106px';
|
||||
console.log(questionMarkElement);
|
||||
sectionAttempt =questionMarkElement.outerHTML
|
||||
|
||||
}
|
||||
|
||||
|
||||
const sectionDescriptio = section.section_description;
|
||||
const sectionDescription = sectionDescriptio.replaceAll('<p>', '<p class="section-Description">');
|
||||
// const questions = section.questions;
|
||||
@ -127,6 +146,8 @@ function QuestionPaperPreview(jsonData){
|
||||
var questionIndentation = " ".repeat(depth2);
|
||||
var dataa =data.questions;
|
||||
dataa.forEach((question, index) =>{
|
||||
|
||||
|
||||
var currentSno = parentSno + (index + 1) + '.';
|
||||
var temp_sno= currentSno.slice(0,-1)
|
||||
|
||||
@ -147,7 +168,6 @@ function QuestionPaperPreview(jsonData){
|
||||
|
||||
var GroupQuestionTilteAlign = 0;
|
||||
if (question.group_title) {
|
||||
// console.log(question);
|
||||
let cleanedTex = question.question_id.replace(/\s+/g, ' ').trim();
|
||||
let cleanedText=cleanedTex.replace('<p>','').replace('</p>','')
|
||||
var question_id_length =cleanedText.length;
|
||||
@ -173,7 +193,6 @@ function QuestionPaperPreview(jsonData){
|
||||
// const questionId =`<p class="GroupQuestionId">${cleanedText})</p>`
|
||||
|
||||
const questionId =cleanedText
|
||||
// console.log(questionId);
|
||||
|
||||
const questionGroupSetP = `${question.group_title}`;
|
||||
const questionGroupmodify =questionGroupSetP.replaceAll('<p>', `<p id="question-Group-Id" style="padding-left:${GroupQuestionTilteAlign}px">`)
|
||||
@ -190,6 +209,17 @@ function QuestionPaperPreview(jsonData){
|
||||
var questionGroupMark = `<p id="group_marks">Marks : ${question.group_marks} </p>`
|
||||
|
||||
}
|
||||
var displayMarks = question.group_display_marks;
|
||||
if (displayMarks === 'false') {
|
||||
var parser = new DOMParser();
|
||||
var doc = parser.parseFromString(questionGroupMark, 'text/html');
|
||||
var questionMarkElement = doc.body.firstChild;
|
||||
questionMarkElement.setAttribute('hidden', 'hidden');
|
||||
questionGroupMark =questionMarkElement.outerHTML
|
||||
|
||||
}
|
||||
|
||||
|
||||
const questionGroupDescriptio = question.group_description;
|
||||
const questionGroupDescription = questionGroupDescriptio.replaceAll('<p>', '<p class="question-Group-Description">')
|
||||
|
||||
@ -209,7 +239,7 @@ function QuestionPaperPreview(jsonData){
|
||||
questionPaper += `<div class="group-descrip" style="margin-left:${description_align}px">${questionGroupDescription}</div>`;
|
||||
depth2++
|
||||
} else if (question.question) {
|
||||
console.log(question);
|
||||
|
||||
let cleanedTex = question.questionId.replace(/\s+/g, ' ').trim();
|
||||
let cleanedText=cleanedTex.replace('<p>','').replace('</p>','')
|
||||
var question_id_length =cleanedText.length;
|
||||
@ -240,12 +270,21 @@ function QuestionPaperPreview(jsonData){
|
||||
const questionDescriptio = question.question_description;
|
||||
const questionDescription = questionDescriptio.replaceAll('<p>', '<p class="question-Description">')
|
||||
const mathstatus = question.is_math_enabled;
|
||||
if (question.marks == 0 || question.marks == '') {
|
||||
if (question.marks == 0 || question.marks == '' ) {
|
||||
var questionMark = `<p id="question-mark"> </p>`;
|
||||
} else {
|
||||
var questionMark = `<p id="question-mark">Marks :${question.marks}</p>`;
|
||||
|
||||
}
|
||||
var displayMarks =question.display_marks
|
||||
|
||||
if (displayMarks === 'false') {
|
||||
var parser = new DOMParser();
|
||||
var doc = parser.parseFromString(questionMark, 'text/html');
|
||||
var questionMarkElement = doc.body.firstChild;
|
||||
questionMarkElement.setAttribute('hidden', 'hidden');
|
||||
questionMark =questionMarkElement.outerHTML
|
||||
}
|
||||
|
||||
// console.log(questionMark);
|
||||
const multipleAnswer =question.question_sub_type;
|
||||
@ -262,19 +301,29 @@ function QuestionPaperPreview(jsonData){
|
||||
|
||||
if (question.question_type === "group") {
|
||||
var answers = question.answers;
|
||||
var answerId =question.question_id;
|
||||
var choisealgin =25
|
||||
var currentSno_length1 =currentSno.length-(currentSno.length/2)
|
||||
// var currentSno_length1 =currentSno.length-(currentSno.length/2)
|
||||
var currentSno_length1 =question_id_length
|
||||
console.log(answerId);
|
||||
// console.log(currentSno_length1);
|
||||
if (currentSno_length1 == 1) {
|
||||
choisealgin =26
|
||||
} else if (currentSno_length1 == 2) {
|
||||
choisealgin =40
|
||||
choisealgin =25
|
||||
}else if(currentSno_length1 == 3){
|
||||
choisealgin =55
|
||||
choisealgin =33
|
||||
}else if(currentSno_length1 == 4) {
|
||||
choisealgin =70
|
||||
choisealgin =41
|
||||
}
|
||||
else if(currentSno_length1 == 5) {
|
||||
choisealgin =84
|
||||
choisealgin =46
|
||||
}else if(currentSno_length1 == 6) {
|
||||
choisealgin =46
|
||||
}else if(currentSno_length1 == 7) {
|
||||
choisealgin =46
|
||||
}else if(currentSno_length1 == 8) {
|
||||
choisealgin =68
|
||||
}
|
||||
|
||||
const alphabetOptions = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // Define the alphabet options
|
||||
|
||||
@ -209,7 +209,7 @@
|
||||
}
|
||||
#sectionAttempt{
|
||||
display: inline-flex;
|
||||
margin-right: 40px;
|
||||
margin-right: 15px;
|
||||
float: right;
|
||||
margin-top:-27px;
|
||||
}
|
||||
|
||||
115
addform.html
115
addform.html
@ -377,7 +377,8 @@
|
||||
width: 15rem;
|
||||
}
|
||||
#questionPaper{
|
||||
margin-top:65px;
|
||||
/* margin-top:65px; */
|
||||
margin-top: 16px;
|
||||
overflow-y: auto;
|
||||
overflow-x: clip;
|
||||
max-height: 532px;
|
||||
@ -1275,7 +1276,7 @@ var toolbarOptions = [
|
||||
<!-- <script src="QuestionPaperPreview.js"></script> -->
|
||||
|
||||
<!-- decrypt -->
|
||||
<script src="decode.js"></script>
|
||||
<!-- <script src="decode.js"></script> -->
|
||||
|
||||
<!-- Mark Calculation Script -->
|
||||
<script src="mark_calc.js"></script>
|
||||
@ -1529,7 +1530,9 @@ var previewbutton = document.getElementById("editPreview");
|
||||
if (submitButton) {
|
||||
submitButton.addEventListener("click", function() {
|
||||
FileName = popupInput.value;
|
||||
FileName += ".xml"
|
||||
if (FileName) {
|
||||
FileName += ".xml"
|
||||
}
|
||||
if(FileName){
|
||||
var anchorElement = document.getElementById("editPreview");
|
||||
if (anchorElement) {
|
||||
@ -1657,7 +1660,6 @@ function saveFile(flag=0) {
|
||||
json2xml();
|
||||
if(FileName == "" || FileName == null ){
|
||||
setTimeout(promptBox, 1000);
|
||||
|
||||
}else{
|
||||
|
||||
const newFileName = FileName.split(".")[0];
|
||||
@ -1761,30 +1763,67 @@ var toolbarOptions2 = [
|
||||
['image'],
|
||||
];
|
||||
|
||||
var quill = new Quill('#Question_title', {
|
||||
theme: 'snow',
|
||||
modules: {
|
||||
imageResize:{
|
||||
displaySize:true,
|
||||
modules: [ 'Resize', 'DisplaySize', 'Toolbar' ],
|
||||
},
|
||||
toolbar: {
|
||||
container: toolbarOptions,
|
||||
handlers: {
|
||||
table: function () {
|
||||
// this.quill.getModule('table').insert();
|
||||
|
||||
this.quill.getModule('table').insert();
|
||||
},
|
||||
},
|
||||
},
|
||||
table: {
|
||||
cellSelectionOnClick: true,
|
||||
// Other options for quill1-table module...
|
||||
},
|
||||
keyboard: keyboardOptions,
|
||||
},
|
||||
});
|
||||
class CustomQuill {
|
||||
constructor(elementId) {
|
||||
this.quillElement = document.getElementById(elementId);
|
||||
this.initializeQuill();
|
||||
}
|
||||
|
||||
initializeQuill() {
|
||||
this.quill = new Quill('#' + this.quillElement.id , {
|
||||
theme: 'snow',
|
||||
modules: {
|
||||
imageResize:{
|
||||
displaySize:true,
|
||||
modules: [ 'Resize', 'DisplaySize', 'Toolbar' ],
|
||||
},
|
||||
toolbar: {
|
||||
container: toolbarOptions,
|
||||
handlers: {
|
||||
table: function () {
|
||||
this.quill.getModule('table').insert();
|
||||
},
|
||||
},
|
||||
},
|
||||
table: {
|
||||
cellSelectionOnClick: true,
|
||||
},
|
||||
keyboard: keyboardOptions,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var customQuill = new CustomQuill('Question_title');
|
||||
|
||||
|
||||
|
||||
|
||||
// var quill = new Quill('#Question_title', {
|
||||
// theme: 'snow',
|
||||
// modules: {
|
||||
// imageResize:{
|
||||
// displaySize:true,
|
||||
// modules: [ 'Resize', 'DisplaySize', 'Toolbar' ],
|
||||
// },
|
||||
// toolbar: {
|
||||
// container: toolbarOptions,
|
||||
// handlers: {
|
||||
// table: function () {
|
||||
// // this.quill.getModule('table').insert();
|
||||
|
||||
// this.quill.getModule('table').insert();
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// table: {
|
||||
// cellSelectionOnClick: true,
|
||||
// // Other options for quill1-table module...
|
||||
// },
|
||||
// keyboard: keyboardOptions,
|
||||
// },
|
||||
// });
|
||||
|
||||
|
||||
|
||||
@ -2882,10 +2921,10 @@ function groupQuestion(question_id = false, section_id = false , group_question_
|
||||
<div class=" button-group align-items-center">
|
||||
<div class="addButton buttons onhover" style="display: none;" id="QuestionGRoupAddButtons_${addChoiceAreaId}">
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/text.svg" alt="" onclick="addNewGroupQuestions(event, 1)" id="textButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Text Question"></div>
|
||||
<div class="addButtonIcons"><img title="TextQuestion" src="assets/images/text.svg" alt="" onclick="addNewGroupQuestions(event, 1)" id="textButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Text Question"></div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/choice.svg" alt="" onclick="addNewGroupQuestions(event, 2)" id="choiseButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Choice Question"></div>
|
||||
<div class="addButtonIcons"><img title="ChoiceQuestion" src="assets/images/choice.svg" alt="" onclick="addNewGroupQuestions(event, 2)" id="choiseButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Choice Question"></div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/Group.svg" alt="" onclick="MultiLevelQuestionGroup(event)" id="QuestionGroupButtonside_${QuestionGroup_ID}" title="Question Group on Question Group"></div>
|
||||
@ -3705,10 +3744,10 @@ textQuestion +=
|
||||
<div class=" button-group align-items-center">
|
||||
<div class="addButton buttons onhover" style="display: none;" id="QuestionGRoupAddButtons_${addTextQuestionId}">
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/text.svg" alt="" onclick="addNewGroupQuestions(event, 1)" id="textButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Text Question"></div>
|
||||
<div class="addButtonIcons"><img title="TextQuestion" src="assets/images/text.svg" alt="" onclick="addNewGroupQuestions(event, 1)" id="textButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Text Question"></div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/choice.svg" alt="" onclick="addNewGroupQuestions(event, 2)" id="choiseButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Choice Question"></div>
|
||||
<div class="addButtonIcons"><img title="ChoiceQuestion" src="assets/images/choice.svg" alt="" onclick="addNewGroupQuestions(event, 2)" id="choiseButtonSectionQroupside_${QuestionGroup_ID}" title="Question Group Choice Question"></div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="addButtonIcons"><img title="QuestionGroup" src="assets/images/Group.svg" alt="" onclick="MultiLevelQuestionGroup(event)" id="QuestionGroupButtonside_${QuestionGroup_ID}" title="Question Group on Question Group"></div>
|
||||
@ -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);
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
39
json2xml.js
39
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
36
main.js
36
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 () {
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
218
package-lock.json
generated
218
package-lock.json
generated
@ -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"
|
||||
|
||||
@ -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",
|
||||
|
||||
12
style.css
12
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 {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user