Skip to content

Commit 4ed8eb2

Browse files
0.0.7 - Beta
1 parent dda6afd commit 4ed8eb2

36 files changed

+2155
-274
lines changed

WebServerAI/assets/AI/css/webserverai.min.css

Lines changed: 141 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,16 @@
2020
--wsa-light-boxShadow: #a7b8c7;
2121
--wsa-light-link: #0d0dff;
2222
--wsa-light-scrollbar-bg: #d5d5d5;
23-
--wsa-light-scrollbar-thumb: #c0c0c0;
23+
--wsa-light-scrollbar-thumb: #b6b6b6;
2424
--wsa-light-mic-enabled: #ff0000;
25+
--wsa-light-smart-bg: rgb(95,21,199);
26+
--wsa-light-smart-bg-linear: linear-gradient(90deg, rgba(95,21,199,1) 0%, rgba(152,25,210,1) 50%, rgba(171,0,255,1) 100%);
27+
--wsa-light-smart-color: #d5d5d5;
28+
--wsa-light-smart-accept-border: #1ab91a;
29+
--wsa-light-smart-accept-color: #000;
30+
--wsa-light-smart-decline-border: #c5c5c5;
31+
--wsa-light-smart-decline-color: #000;
32+
--wsa-light-credits-low: #ff0000;
2533

2634
--wsa-dark-bg: #000;
2735
--wsa-dark-color: #dedede;
@@ -44,13 +52,22 @@
4452
--wsa-dark-link: #9c9cfc;
4553
--wsa-dark-copy: #cdcbcb;
4654
--wsa-dark-scrollbar-bg: #525252;
47-
--wsa-dark-scrollbar-thumb: #3c3d3b;
55+
--wsa-dark-scrollbar-thumb: #747474;
4856
--wsa-dark-toggleBtn-bg:rgba(71, 71, 71, 0.65);
4957
--wsa-dark-toggleBtn-color: rgb(255,255,255);
5058
--wsa-dark-mic-enabled: #c91414;
59+
--wsa-dark-smart-bg: rgb(55 15 112);
60+
--wsa-dark-smart-bg-linear: linear-gradient(90deg, rgb(55 15 112) 0%, rgb(49 9 67) 50%, rgb(20 2 28) 100%);
61+
--wsa-dark-smart-color: #a1a1a1;
62+
--wsa-dark-smart-accept-border: #1d851d;
63+
--wsa-dark-smart-accept-color: #dcdcdc;
64+
--wsa-dark-smart-decline-border: #6c6c6c;
65+
--wsa-dark-smart-decline-color: #dcdcdc;
66+
--wsa-dark-credits-low: #c61515;
5167

52-
--wsa-box-width: 60%;
53-
--wsa-box-height: 280px;
68+
69+
--wsa-box-width: calc(100% - 53%);
70+
--wsa-box-height: calc(100% - 60%);
5471

5572
--wsa-txtarea-size: 20px;
5673
--wsa-txtarea-disabled: rgba(147,147,147, 0.65);
@@ -166,11 +183,25 @@
166183
display: grid;
167184
position: relative;
168185
}
169-
.wsa .wsa-title .wsa-version{
186+
.wsa .wsa-title .wsa-subtitle{
187+
display: inline-block;
188+
}
189+
.wsa .wsa-title .wsa-version,
190+
.wsa .wsa-title .wsa-credits{
170191
font-size: 15px;
171192
font-weight: bold;
172193
cursor: help;
173194
}
195+
.wsa .wsa-title .wsa-credits .current{
196+
font-size: 18px;
197+
text-decoration: underline;
198+
}
199+
.wsa[wsa-theme="light"] .wsa-title .wsa-credits .current.low{
200+
color: var(--wsa-light-credits-low);
201+
}
202+
.wsa[wsa-theme="dark"] .wsa-title .wsa-credits .current.low{
203+
color: var(--wsa-dark-credits-low);
204+
}
174205
.wsa .wsa-container{
175206
position: relative;
176207
display: flex;
@@ -247,9 +278,11 @@
247278
color: var(--wsa-dark-txtarea-color);
248279
}
249280
.wsa .wsa-ui textarea:disabled,
250-
.wsa .wsa-ui textarea[disabled]{
281+
.wsa .wsa-ui textarea[disabled],
282+
.wsa .wsa-ui textarea.disabled{
251283
background-color: var(--wsa-txtarea-disabled);
252284
cursor: auto;
285+
pointer-events: none;
253286
}
254287

255288
.wsa[wsa-theme="light"] .wsa-ui .wsa-history [wsa-cmdtype="danger"]{
@@ -405,16 +438,21 @@
405438
padding: .3rem 0 .3rem 0;
406439
transition: 0.3s all;
407440
}
441+
.wsa .wsa-btn:disabled,
442+
.wsa .wsa-btn[disabled],
443+
.wsa .wsa-btn.disabled{
444+
cursor: auto;
445+
opacity: .5;}
408446
.wsa[wsa-theme="light"] .wsa-btn{
409447
color: var(--wsa-light-btn-color);
410448
}
411449
.wsa[wsa-theme="dark"] .wsa-btn{
412450
color: var(--wsa-dark-btn-color);
413451
}
414-
.wsa[wsa-theme="light"] .wsa-btn:hover{
452+
.wsa[wsa-theme="light"] .wsa-btn:not(:disabled,[disabled],.disabled):hover{
415453
background-color: var(--wsa-light-btn-bgHover);
416454
}
417-
.wsa[wsa-theme="dark"] .wsa-btn:hover{
455+
.wsa[wsa-theme="dark"] .wsa-btn:not(:disabled,[disabled],.disabled):hover{
418456
background-color: var(--wsa-dark-btn-bgHover);
419457
}
420458
.wsa .wsa-btn-group{
@@ -516,3 +554,98 @@
516554
color: var(--wsa-target-attr);
517555
font-weight: 600;
518556
}
557+
/*Smart AI*/
558+
.wsa_smart_prompt{
559+
display: flex;
560+
flex-direction: column;
561+
justify-content: center;
562+
align-items: center;
563+
overflow: auto;
564+
font-size: 28px;
565+
position: absolute;
566+
width: auto;
567+
height: auto;
568+
padding: .5rem;
569+
border-radius: 5px;
570+
top:0;
571+
left: calc(0px + 30%);
572+
}
573+
.wsa_smart_prompt div{
574+
margin: auto 0 auto 0;
575+
}
576+
.wsa_smart_prompt div h1{
577+
margin: 0;
578+
font-weight: 800;
579+
text-transform: uppercase;
580+
font-size: 7vh;
581+
}
582+
.wsa_smart_prompt div h1::after{
583+
content: '!';
584+
}
585+
586+
.wsa_smart_prompt .ai_smart_recommended{
587+
font-style: italic;
588+
font-size: 18px;
589+
text-decoration: underline;
590+
font-weight: 200;
591+
}
592+
.wsa_smart_prompt .ai_smart_recommended::before{
593+
content: '> ';
594+
}
595+
[wsa-theme="light"] .wsa_smart_prompt{
596+
background-color: var(--wsa-light-smart-bg);
597+
background: var(--wsa-light-smart-bg-linear);
598+
color:var(--wsa-light-smart-color);
599+
600+
}
601+
[wsa-theme="dark"] .wsa_smart_prompt{
602+
background-color: var(--wsa-dark-smart-bg);
603+
background: var(--wsa-dark-smart-bg-linear);
604+
color:var(--wsa-dark-smart-color);
605+
}
606+
607+
.wsa_smart_prompt .ai_smart_opt{
608+
margin-top: 5px;
609+
}
610+
.wsa_smart_prompt .ai_smart_opt button{
611+
background: transparent;
612+
border: 0;
613+
font-size: 4vh;
614+
cursor: pointer;
615+
padding: .5rem;
616+
border-radius: 5px;
617+
transition: all 0.3s;
618+
}
619+
[wsa-theme="light"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_accept{
620+
border: 3px solid var(--wsa-light-smart-accept-border);
621+
color: var(--wsa-light-smart-accept-color);
622+
}
623+
[wsa-theme="light"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_decline{
624+
border: 3px solid var(--wsa-light-smart-decline-border);
625+
color: var(--wsa-light-smart-decline-color);
626+
}
627+
[wsa-theme="light"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_accept:hover{
628+
background-color: var(--wsa-light-smart-accept-border);
629+
opacity: .8;
630+
}
631+
[wsa-theme="light"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_decline:hover{
632+
background-color: var(--wsa-light-smart-decline-border);
633+
opacity: .8;
634+
}
635+
636+
[wsa-theme="dark"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_accept{
637+
border: 3px solid var(--wsa-dark-smart-accept-border);
638+
color: var(--wsa-dark-smart-accept-color);
639+
}
640+
[wsa-theme="dark"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_decline{
641+
border: 3px solid var(--wsa-dark-smart-decline-border);
642+
color: var(--wsa-dark-smart-decline-color);
643+
}
644+
[wsa-theme="dark"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_accept:hover{
645+
background-color: var(--wsa-dark-smart-accept-border);
646+
opacity: .8;
647+
}
648+
[wsa-theme="dark"] .wsa_smart_prompt .ai_smart_opt button.ai_smart_decline:hover{
649+
background-color: var(--wsa-dark-smart-decline-border);
650+
opacity: .8;
651+
}

WebServerAI/assets/AI/js/components/Events.js

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
var responce;
2-
import { filterHTML } from "./security.js";
2+
import { filterHTML, credits } from "./security.js";
3+
import { session } from "./storage.js";
34
import { IS_ENABLED } from "./utils.js";
5+
46
class Events{
57
constructor(){
68

@@ -78,20 +80,26 @@ class Events{
7880
* @returns {String} The Users input
7981
*/
8082
submit(callback){
83+
let isNull = session.load('wsa-isnull');
8184
if(IS_ENABLED()){
82-
const txt = document.querySelector('.wsa-userinput'),
83-
submitbtn = document.querySelector('.wsa-editor-send');
84-
txt.addEventListener('keydown', (e)=>{
85-
let key = e.keyCode || e.which;
86-
if(key===13){
87-
e.preventDefault();
88-
callback(filterHTML(txt.value));
89-
}
90-
});
91-
submitbtn.addEventListener('click',(e)=>{
92-
e.preventDefault();
93-
callback(filterHTML(txt.value));
94-
});
85+
if(credits.get()>0){
86+
const txt = document.querySelector('.wsa-userinput'),
87+
submitbtn = document.querySelector('.wsa-editor-send');
88+
txt.addEventListener('keydown', (e)=>{
89+
let key = e.keyCode || e.which;
90+
if(key===13&&(!isNull&&txt.value!=='')||(key===13&&isNull)){
91+
e.preventDefault();
92+
callback(filterHTML(txt.value));
93+
}
94+
});
95+
submitbtn.addEventListener('click',(e)=>{
96+
if((!isNull&&txt.value!=='')||isNull){
97+
e.preventDefault();
98+
callback(filterHTML(txt.value));
99+
}
100+
});
101+
}else
102+
return false;
95103
}
96104
}
97105
}

0 commit comments

Comments
 (0)