parent
cff99732b1
commit
72a95d9088
@ -0,0 +1,47 @@ |
||||
const fs = require('fs'); |
||||
const path = require('path'); |
||||
|
||||
const lightRefresh = require('../fileview/lightrefresh'); |
||||
|
||||
module.exports = () => { |
||||
let modal = document.createElement('div'); |
||||
modal.className = 'modal'; |
||||
modal.id = 'new-folder-modal-container'; |
||||
document.body.appendChild(modal); |
||||
let title = document.createElement('h2'); |
||||
title.innerHTML = 'New Folder'; |
||||
modal.appendChild(title); |
||||
let text = document.createElement('p'); |
||||
text.innerHTML = "Please name your new folder."; |
||||
modal.appendChild(text); |
||||
let cont = document.createElement('div'); |
||||
cont.className = 'button-container'; |
||||
modal.appendChild(cont); |
||||
let input = document.createElement('input'); |
||||
input.placeholder = 'New Folder'; |
||||
input.id = 'new-folder-input'; |
||||
let lastIn = ''; |
||||
input.oninput = () => { |
||||
if (!input.value.match(/^[a-zA-Z0-9-_() ]*$/gm)) {input.value = lastIn;} |
||||
else {lastIn = input.value;} |
||||
}; |
||||
cont.appendChild(input); |
||||
let conf = document.createElement('button'); |
||||
conf.innerHTML = 'Create'; |
||||
conf.onclick = () => { |
||||
input.value.trim(); |
||||
if (fs.existsSync(path.join(window.kade.cpath, input.value))) { |
||||
if (!input.value.match(/^.+\(\d\)$/gm)) {input.value += ' (1)';} |
||||
else { |
||||
let tempstr = input.value.split(''); |
||||
tempstr[input.value.length - 2] = `${Number(input.value.charAt(input.value.length - 2)) + 1}`; |
||||
input.value = tempstr.join(''); |
||||
} |
||||
return; |
||||
} |
||||
fs.mkdirSync(path.join(window.kade.cpath, input.value)); |
||||
lightRefresh(); |
||||
modal.remove(); |
||||
}; |
||||
cont.appendChild(conf); |
||||
} |
@ -0,0 +1,49 @@ |
||||
.modal { |
||||
position: absolute; |
||||
width: max-content; |
||||
height: max-content; |
||||
left: 50%; |
||||
top: 50%; |
||||
transform: translate(-50%, -50%); |
||||
border-radius: 7px 7px; |
||||
border: 1px solid #af2188a4; |
||||
background-color: #171717da; |
||||
padding: 6px 8px; |
||||
} |
||||
|
||||
.modal h1, .modal h2, .modal h3, .modal h4 { |
||||
color: #af2188; |
||||
font-family: 'Nunito', sans-serif; |
||||
margin: 10px; |
||||
} |
||||
|
||||
.modal p, .modal b { |
||||
color: white; |
||||
font-family: 'Montserrat', sans-serif; |
||||
margin: 8px 10px; |
||||
} |
||||
|
||||
.modal input, .modal button { |
||||
background-color: #1e27423f; |
||||
color: white; |
||||
border: #5d60ca solid 1px; |
||||
border-radius: 3px; |
||||
width: auto; |
||||
margin: 10px 4px 10px 8px; |
||||
font-size: .82em; |
||||
padding: 5px 7px; |
||||
font-family: "Monsterrat", sans-serif; |
||||
transition: background-color .65s ease-in-out, border-color .65s ease-in-out, color .65s ease-in-out; |
||||
cursor: pointer; |
||||
text-align: left; |
||||
} |
||||
.modal input:hover { |
||||
border-color: #a172a6; |
||||
} |
||||
.modal input:focus, .modal input:active { |
||||
background-color: #171717d8; |
||||
color: white; |
||||
outline: none; |
||||
} |
||||
|
||||
.modal .button-container, input, .modal .button-container, button {display: inline-block;} |
Loading…
Reference in new issue