mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Big avatars style
This commit is contained in:
@ -194,9 +194,10 @@
|
|||||||
<input id="your_name" name="your_name" class="text_pole" maxlength="35" value="" autocomplete="off"><br>
|
<input id="your_name" name="your_name" class="text_pole" maxlength="35" value="" autocomplete="off"><br>
|
||||||
<input id="your_name_button" class="menu_button" type="submit" title="Click to set a new User Name (reloads page)" value="Change Name">
|
<input id="your_name_button" class="menu_button" type="submit" title="Click to set a new User Name (reloads page)" value="Change Name">
|
||||||
</form>
|
</form>
|
||||||
|
<div class="ui-settings">
|
||||||
<div class="range-block">
|
<div class="range-block">
|
||||||
<div class="range-block-title">
|
<div class="range-block-title">
|
||||||
<h4>Fast UI Mode (no background blur)</h4>
|
<h4>Fast UI Mode<br>(no background blur)</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block-range">
|
<div class="range-block-range">
|
||||||
<label for="fast_ui_mode" class="checkbox_label">
|
<label for="fast_ui_mode" class="checkbox_label">
|
||||||
@ -205,6 +206,22 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="avatars-style" class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
<h4>Avatars Style</h4>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<label>
|
||||||
|
<input name="avatar_style" type="radio" value="0" />
|
||||||
|
Round
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input name="avatar_style" type="radio" value="1" />
|
||||||
|
Rectangular
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div id="power-user-options-block">
|
<div id="power-user-options-block">
|
||||||
<h3>Power User Options</h3>
|
<h3>Power User Options</h3>
|
||||||
<div id="power-user-option-checkboxes">
|
<div id="power-user-option-checkboxes">
|
||||||
|
@ -21,6 +21,7 @@ let disable_personality_formatting = false;
|
|||||||
let always_force_name2 = false;
|
let always_force_name2 = false;
|
||||||
let fast_ui_mode = false;
|
let fast_ui_mode = false;
|
||||||
let multigen = false;
|
let multigen = false;
|
||||||
|
let avatar_style = 0;
|
||||||
let custom_chat_separator = '';
|
let custom_chat_separator = '';
|
||||||
|
|
||||||
const storage_keys = {
|
const storage_keys = {
|
||||||
@ -34,6 +35,7 @@ const storage_keys = {
|
|||||||
custom_chat_separator: "TavernAI_custom_chat_separator",
|
custom_chat_separator: "TavernAI_custom_chat_separator",
|
||||||
fast_ui_mode: "TavernAI_fast_ui_mode",
|
fast_ui_mode: "TavernAI_fast_ui_mode",
|
||||||
multigen: "TavernAI_multigen",
|
multigen: "TavernAI_multigen",
|
||||||
|
avatar_style: "TavernAI_avatar_style",
|
||||||
};
|
};
|
||||||
|
|
||||||
function collapseNewlines(x) {
|
function collapseNewlines(x) {
|
||||||
@ -50,6 +52,19 @@ function switchUiMode() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function applyAvatarStyle() {
|
||||||
|
avatar_style = Number(localStorage.getItem(storage_keys.avatar_style) ?? 0);
|
||||||
|
switch (avatar_style) {
|
||||||
|
case 0:
|
||||||
|
$("body").removeClass("big-avatars");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
$("body").addClass("big-avatars");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
applyAvatarStyle();
|
||||||
switchUiMode();
|
switchUiMode();
|
||||||
|
|
||||||
function loadPowerUserSettings() {
|
function loadPowerUserSettings() {
|
||||||
@ -63,6 +78,7 @@ function loadPowerUserSettings() {
|
|||||||
custom_chat_separator = localStorage.getItem(storage_keys.custom_chat_separator);
|
custom_chat_separator = localStorage.getItem(storage_keys.custom_chat_separator);
|
||||||
fast_ui_mode = localStorage.getItem(storage_keys.fast_ui_mode) == "true";
|
fast_ui_mode = localStorage.getItem(storage_keys.fast_ui_mode) == "true";
|
||||||
multigen = localStorage.getItem(storage_keys.multigen) == "true";
|
multigen = localStorage.getItem(storage_keys.multigen) == "true";
|
||||||
|
avatar_style = Number(localStorage.getItem(storage_keys.avatar_style) ?? 0);
|
||||||
|
|
||||||
$("#force-pygmalion-formatting-checkbox").prop("checked", force_pygmalion_formatting);
|
$("#force-pygmalion-formatting-checkbox").prop("checked", force_pygmalion_formatting);
|
||||||
$("#collapse-newlines-checkbox").prop("checked", collapse_newlines);
|
$("#collapse-newlines-checkbox").prop("checked", collapse_newlines);
|
||||||
@ -74,6 +90,7 @@ function loadPowerUserSettings() {
|
|||||||
$("#custom_chat_separator").val(custom_chat_separator);
|
$("#custom_chat_separator").val(custom_chat_separator);
|
||||||
$("#fast_ui_mode").prop("checked", fast_ui_mode);
|
$("#fast_ui_mode").prop("checked", fast_ui_mode);
|
||||||
$("#multigen").prop("checked", multigen);
|
$("#multigen").prop("checked", multigen);
|
||||||
|
$(`input[name="avatar_style"][value="${avatar_style}"]`).prop("checked", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(() => {
|
$(document).ready(() => {
|
||||||
@ -130,4 +147,10 @@ $(document).ready(() => {
|
|||||||
multigen = $(this).prop("checked");
|
multigen = $(this).prop("checked");
|
||||||
localStorage.setItem(storage_keys.multigen, multigen);
|
localStorage.setItem(storage_keys.multigen, multigen);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(`input[name="avatar_style"]`).on('input', function (e) {
|
||||||
|
avatar_style = Number(e.target.value);
|
||||||
|
localStorage.setItem(storage_keys.avatar_style, avatar_style);
|
||||||
|
applyAvatarStyle();
|
||||||
|
});
|
||||||
});
|
});
|
@ -402,6 +402,22 @@ margin-top:5px;
|
|||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ui-settings {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: flex-end;
|
||||||
|
column-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-settings > div {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#avatars-style .range-block-range {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
@ -418,6 +434,43 @@ margin-top:5px;
|
|||||||
box-shadow: 0 0 5px var(--black50a);
|
box-shadow: 0 0 5px var(--black50a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.big-avatars .avatar {
|
||||||
|
width: 60px;
|
||||||
|
height: 90px;
|
||||||
|
border-style: none;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
overflow: visible;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 0 5px var(--black50a);
|
||||||
|
}
|
||||||
|
|
||||||
|
body.big-avatars #user_avatar_block .avatar {
|
||||||
|
height: 90px;
|
||||||
|
width: 60px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.big-avatars #user_avatar_block .avatar img {
|
||||||
|
height: 90px;
|
||||||
|
width: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.big-avatars .last_mes {
|
||||||
|
grid-template-rows: [avatar-NameMesText-edit] 80px [swipes] auto;
|
||||||
|
grid-template-columns: [checkbox] fit-content(60px) [avatar-leftswipe] fit-content(60px) [name-mestext] auto [edit-rightswipe] 30px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.big-avatars .avatar img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
object-position: center;
|
||||||
|
border: 1px solid var(--black30a);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.mes_block {
|
.mes_block {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
@ -1552,12 +1605,12 @@ input[type='checkbox']:not(#nav-toggle):not(#rm_button_panel_pin):checked::after
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 64px;
|
width: 64px;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
border: 2px solid rgba(255,255,255,0.7);
|
outline: 2px solid rgba(255,255,255,0.7);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#user_avatar_block .avatar:not(.selected) {
|
#user_avatar_block .avatar:not(.selected) {
|
||||||
border: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#user_avatar_block .avatar img {
|
#user_avatar_block .avatar img {
|
||||||
|
@ -1702,7 +1702,7 @@ async function generateThumbnail(type, file) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const imageSizes = { 'bg': [160, 90], 'avatar': [96, 96] };
|
const imageSizes = { 'bg': [160, 90], 'avatar': [96, 144] };
|
||||||
const mySize = imageSizes[type];
|
const mySize = imageSizes[type];
|
||||||
|
|
||||||
const image = await jimp.read(pathToOriginalFile);
|
const image = await jimp.read(pathToOriginalFile);
|
||||||
|
Reference in New Issue
Block a user