From 5d38f57292cd42f68c9eb406b107b455340812d9 Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Sun, 26 Feb 2023 21:30:33 +0900 Subject: [PATCH 01/12] menu btn color and character_popup changes charcter_popup set to cover all main sheld elements for ease of use and to limit user errors (using the chat input box while having the character's advanced defs popup open) removed forced coloring from popup menu buttons. --- public/css/bg_load.css | 2 +- public/index.html | 6 +++--- public/style.css | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/public/css/bg_load.css b/public/css/bg_load.css index cfdd06498..7d45eec35 100644 --- a/public/css/bg_load.css +++ b/public/css/bg_load.css @@ -1 +1 @@ -#bg1 {background-image: url(../backgrounds/theredlake.png);} \ No newline at end of file +#bg1 {background-image: url(../backgrounds/warmtown.png);} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 540340dda..84a52fbc9 100644 --- a/public/index.html +++ b/public/index.html @@ -1582,18 +1582,18 @@ switch(popup_type){ case 'char_not_selected': - $("#dialogue_popup_ok").css("background-color", "#191b31CC"); + $("#dialogue_popup_ok").text("Ok"); $("#dialogue_popup_cancel").css("display", "none"); break; case 'new_chat': - $("#dialogue_popup_ok").css("background-color", "#191b31CC"); + $("#dialogue_popup_ok").text("Yes"); break; default: - $("#dialogue_popup_ok").css("background-color", "#791b31"); + $("#dialogue_popup_ok").text("Delete"); } diff --git a/public/style.css b/public/style.css index a7a0f05ad..164b7ba68 100644 --- a/public/style.css +++ b/public/style.css @@ -1530,8 +1530,8 @@ label.checkbox :checked + span:after { backdrop-filter: blur(50px); -webkit-backdrop-filter: blur(50px); grid-template-rows: 50px 100px 100px 40px auto 45px 45px; - max-width: 802px; /* 802 instead of 800 to cover #chat's scrollbars entirely */ - height: 90vh; /* imperfect calculation designed to match the chat height, which is auto-set to (100% - form_sheld height) */ + max-width: 800px; + height: calc(100vh - 50px); position: absolute; z-index: 2065; margin-left: auto; @@ -1542,7 +1542,7 @@ label.checkbox :checked + span:after { box-shadow: 0 0 2px rgb(0 0 0 / 50%); padding: 4px; border: 1px solid rgba(0,0,0,0.3); - /*border-radius: 0 0 40px 40px;*/ + border-radius: 0 0 40px 40px; } #character_popup h5 a{ color: #936f4a; From 76cfa2c0507a9ad7ef42001b51906e827ad9c17b Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Sun, 26 Feb 2023 21:40:22 +0900 Subject: [PATCH 02/12] Update style.css --- public/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/style.css b/public/style.css index 164b7ba68..cfcbc31a9 100644 --- a/public/style.css +++ b/public/style.css @@ -163,13 +163,13 @@ code { #send_form { display: grid; align-items: center; - grid-template-columns: 50px auto 50px; + grid-template-columns: 40px auto 40px; width: 100%; margin: 0 auto 0 auto; border: 1px solid rgba(0,0,0,.3); backdrop-filter: blur(10px) brightness(0.3); -webkit-backdrop-filter: blur(10px) brightness(0.3); - border-radius: 0 0px 40px 40px; + border-radius: 0 0px 20px 20px; background-color:rgba(255,0,0,0.3); } @@ -229,7 +229,7 @@ code { -webkit-transition: color .25s ease-in-out; -moz-transition: color .25s ease-in-out; transition: color .25s ease-in-out; - padding-left: 20px; + padding-left: 10px; padding-top: 10px; } From 29623350bdbf761cf82a1a9a8c31af6ed88545f8 Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Mon, 27 Feb 2023 00:19:51 +0900 Subject: [PATCH 03/12] submenu stylings - made send3.png opaque and adjusted opacity with CSS - removed redundant backdrop blur on from - removed redundant backdrop blur from bg1 and bg2 (they now only self-blur) - made "Connect" button on both API panels larger for mobile screens, and added :hover coloring - made character 'export' and 'delete' buttons larger and further apart to decrease likeliness of mis-clicks, especially on phone screens. - adjusted send_form opacity/background stylings to allow #options to perform blur effect - added
after novel API URL input to match KoboldAI form style - cleaned up #options_content and added styling --- public/css/bg_load.css | 2 +- public/img/send3.png | Bin 22018 -> 17086 bytes public/index.html | 13 +++--- public/style.css | 87 +++++++++++++++++++++++------------------ 4 files changed, 58 insertions(+), 44 deletions(-) diff --git a/public/css/bg_load.css b/public/css/bg_load.css index 7d45eec35..4671f73e6 100644 --- a/public/css/bg_load.css +++ b/public/css/bg_load.css @@ -1 +1 @@ -#bg1 {background-image: url(../backgrounds/warmtown.png);} \ No newline at end of file +#bg1 {background-image: url(../backgrounds/tavern.png);} \ No newline at end of file diff --git a/public/img/send3.png b/public/img/send3.png index b3992109d846938db17854a3d03bca077a025a1c..4f5bb69ce90364aac26c227e50e6277881ce39bb 100644 GIT binary patch literal 17086 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 literal 22018 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 diff --git a/public/index.html b/public/index.html index 84a52fbc9..20eb32fe5 100644 --- a/public/index.html +++ b/public/index.html @@ -197,7 +197,7 @@ //console.log(online_status); if(online_status == 'no_connection'){ $("#send_textarea").attr('placeholder', "Not connected to API!"); //Input bar placeholder tells users they are not connected - $("#send_form").css("background-color", "rgba(255,0,0,0.3)"); //entire input form area is red when not connected + $("#send_form").css("background-color", "rgba(100,0,0,0.7)"); //entire input form area is red when not connected $("#send_but").css("display", "none"); //send button is hidden when not connected @@ -212,7 +212,7 @@ is_get_status_novel = false; }else{ $("#send_textarea").attr('placeholder', 'Type a message...'); //on connect, placeholder tells user to type message - $("#send_form").css("background-color", "rgba(0,0,0,0.3)"); //on connect, form BG changes to transprent black + $("#send_form").css("background-color", "rgba(0,0,0,0.7)"); //on connect, form BG changes to transprent black $("#send_but").css("display", "inline"); //on connect, send button shows up @@ -3076,6 +3076,7 @@

API key

Where to get (?)
+
@@ -3175,11 +3176,11 @@ diff --git a/public/style.css b/public/style.css index cfcbc31a9..50d4921fe 100644 --- a/public/style.css +++ b/public/style.css @@ -18,8 +18,8 @@ body { background-repeat: no-repeat; background-attachment: fixed; background-size: cover; - backdrop-filter: blur(2px); - -webkit-backdrop-filter: blur(2px); + /*backdrop-filter: blur(2px);*/ + /*-webkit-backdrop-filter: blur(2px);*/ scrollbar-width: thin; scrollbar-color: gray #191b31; font-family: "Noto Sans", "Noto Color Emoji", sans-serif; /*add in custom font universally */ @@ -77,8 +77,6 @@ code { background-attachment: fixed; filter: blur(2px); background-size: cover; - backdrop-filter: blur(2px); - -webkit-backdrop-filter: blur(2px); opacity: 0.0; position: absolute; width: 100%; @@ -166,11 +164,11 @@ code { grid-template-columns: 40px auto 40px; width: 100%; margin: 0 auto 0 auto; - border: 1px solid rgba(0,0,0,.3); - backdrop-filter: blur(10px) brightness(0.3); - -webkit-backdrop-filter: blur(10px) brightness(0.3); + border: 1px solid rgba(0,0,0,.5); + /*backdrop-filter: blur(10px) brightness(0.3); + -webkit-backdrop-filter: blur(10px) brightness(0.3);*/ border-radius: 0 0px 20px 20px; - background-color:rgba(255,0,0,0.3); + background-color:rgba(100,0,0,0.7); } #send_but_sheld { @@ -200,10 +198,12 @@ code { border: none; cursor: pointer; transition: 0.3s; - filter:brightness(0.7); + filter:brightness(0.5); } -#send_but:hover {filter:brightness(150%)} +#send_but:hover { + filter:brightness(150%); + } #loading_mes{ display: none; @@ -242,15 +242,14 @@ code { } #options_button:hover { - color: #f4f4f4; + color: #fff; } #options{ - border-radius: 5px; opacity: 0.0; display: none; - bottom: 196px; + bottom: 200px; /*sets vertical position of the options menu to the left of input bar */ position: relative; z-index:1990; @@ -261,13 +260,13 @@ code { overflow: hidden; display: block; position: absolute; - background-color: rgba(0,0,0,1); backdrop-filter: brightness(0.3) blur(10px); -webkit-backdrop-filter: brightness(0.3) blur(10px); - border: 1px solid rgba(0,0,0,0.3); + border: 1px solid #666; border-radius: 15px; box-shadow: 0px 0px 5px #000; - min-width: 205px; + text-shadow: #000 0 0 3px; + min-width: 200px; z-index: 2000; } @@ -281,19 +280,24 @@ code { background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); } .options-content a { - color: #ffffff55; + color: color: rgb(229, 224, 216); padding: 12px 16px; text-decoration: none; display: block; } .options-content img { - opacity: 0.5; - margin-right: 5px; + /* opacity: 0.5; */ + margin-right: 10px; + height: 1.25rem; + vertical-align: middle; } +.options-content span {vertical-align:middle;} /* Изменяем цвет ссылки при наведении */ -.options-content a:hover {background-color: #ffffff11} +.options-content a:hover { + background-color: #333; +} .mes { @@ -402,6 +406,8 @@ width: 100%; text-shadow: #000 0 0 3px; } +#send_textarea::placeholder{color:#ccc} + #rm_ch_create_block textarea { font-size: 15px; } @@ -618,17 +624,24 @@ display: none; /*margin-right: 4px;*/ display:block; } -#api_button{ +#api_button, #api_button_novel { cursor: pointer; - color:#ffffffaa; - padding-left: 7px; + color: #fff; + opacity:0.7; + padding: 10px; margin-left: 10px; - margin-top: 5px; + margin-top: 10px; + margin: 10px; + font-size: 1rem; + transition: 0.3s; } -#api_button_novel{ +/*#api_button_novel{ cursor: pointer; color:#ffffffaa; -} +}*/ + +#api_button:hover, #api_button_novel:hover{background-color:green;} + #api_loading{ width: 25px; height: 25px; @@ -959,22 +972,23 @@ width: 103px; margin-right: auto; } #delete_button{ - opacity: 0.51;/* 0.5 */ + opacity: 0.7; cursor: pointer; display: block; - float:right; + float: right; margin-top: 25px; - margin-right: 10px; + margin-right: 25px; color: red; + font-size: 1rem; } #export_button{ - opacity: 0.51; + opacity: 0.7; cursor: pointer; - display: block; - float:right; + display: inline; margin-top: 25px; - margin-right: 16px; + margin-left: 10px; color: #fff; + font-size: 1rem; } #result_info{ margin-left: 10px; @@ -1733,21 +1747,20 @@ label.checkbox :checked + span:after { #advanced_div{ - font-size: 14px; + font-size: 1rem; background-repeat: no-repeat; background-size: 28px; background-position: 92px 5px; - /* background-image: url('img/book5.png'); */ width: 92%; height: 40px; margin-left: 10px; font-weight: bold; - color: #ffffffbb; + color: #fff; padding: 0.5em; border: thin solid rgba(200,200,200,0.2); border-radius: 3px; background-color: rgba(0,0,0,0.3); - opacity: 1.0; + opacity: 0.7; /*font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;*/ } #advanced_book_logo{ From 7ecf8b58cace251e775e47c92d21ef07cd7f0ea1 Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Mon, 27 Feb 2023 00:27:41 +0900 Subject: [PATCH 04/12] reversed Enter/Shift+Enter functions (and made connect buttons larger for mobile) --- public/index.html | 2 +- public/style.css | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/public/index.html b/public/index.html index 20eb32fe5..5e759e939 100644 --- a/public/index.html +++ b/public/index.html @@ -1226,7 +1226,7 @@ //maybe a way to simulate this would be to disable the eventListener for people iOS. $("#send_textarea").keydown(function (e) { - if(e.which === 13 && e.shiftKey && is_send_press == false) { + if(e.which === 13 && !e.shiftKey && is_send_press == false) { is_send_press = true; e.preventDefault(); Generate(); diff --git a/public/style.css b/public/style.css index 50d4921fe..4883619d2 100644 --- a/public/style.css +++ b/public/style.css @@ -633,6 +633,7 @@ display: none; margin-top: 10px; margin: 10px; font-size: 1rem; + height: 2.5rem; transition: 0.3s; } /*#api_button_novel{ From 097cfc2e4f5d227c81ff49f4d8f451aeccf436d3 Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Mon, 27 Feb 2023 02:11:28 +0900 Subject: [PATCH 05/12] Update style.css --- public/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/style.css b/public/style.css index 4883619d2..95b4f9cee 100644 --- a/public/style.css +++ b/public/style.css @@ -245,7 +245,6 @@ code { color: #fff; } - #options{ opacity: 0.0; display: none; @@ -255,7 +254,6 @@ code { } - .options-content { overflow: hidden; display: block; @@ -979,6 +977,7 @@ width: 103px; float: right; margin-top: 25px; margin-right: 25px; + margin-bottom: 30px; color: red; font-size: 1rem; } @@ -988,6 +987,7 @@ width: 103px; display: inline; margin-top: 25px; margin-left: 10px; + margin-bottom:30px; color: #fff; font-size: 1rem; } @@ -1557,7 +1557,7 @@ label.checkbox :checked + span:after { box-shadow: 0 0 2px rgb(0 0 0 / 50%); padding: 4px; border: 1px solid rgba(0,0,0,0.3); - border-radius: 0 0 40px 40px; + border-radius: 0 0 20px 20px; } #character_popup h5 a{ color: #936f4a; From d9a7a74116c25a867c7a0e8770aaed5936094d1d Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Tue, 28 Feb 2023 19:07:41 +0900 Subject: [PATCH 06/12] Update index.html --- public/index.html | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/public/index.html b/public/index.html index 5e759e939..be9671b55 100644 --- a/public/index.html +++ b/public/index.html @@ -1215,13 +1215,10 @@ select_selected_character(this_chid); } - //hotkey to send input with shift+enter (normal enter keypress generates a new line in the chat input box) - //problem for mobile: default iOS keyboard function is to make AutoCapitalization happen on new lines. - //AutoCapitization effectively presses the virtual Shift key when it thinks a new line/sentence is happening. - //iOS result: First Enter press will make a new line, but the second will act like shift+enter, sending the prompt to AI. + //hotkey to send input with enter (shift+enter generates a new line in the chat input box) + //this is not ideal for touch device users with virtual keyboards. //ideally we would detect if the user is using a virtual keyboard, and disable this shortcut for them. - //because mobile users' hands are always near the screen, tapping the send button is better for them. - //caveat: people on an iPad using a Bluetooth keyboard will need to be treated as PC users for this purpose. + //because mobile users' hands are always near the screen, tapping the send button is better for them, and enter should always make a new line. //note: CAI seems to have this handled. PC: shift+enter = new line, enter = send. iOS: shift+enter AND enter both make new lines, and only the send button sends. //maybe a way to simulate this would be to disable the eventListener for people iOS. From fdc0665987e65ced5fc189041d22a2a6016c72e7 Mon Sep 17 00:00:00 2001 From: RossAsscends <124905043+RossAscends@users.noreply.github.com> Date: Wed, 1 Mar 2023 04:22:32 +0900 Subject: [PATCH 07/12] Updated Right Nav And Added Click-Away Closing Rewrote the nav HTML/CSS .nav --> #right-nav-panel .nav-toggle