From 80b2e9b80774c558cb863841e7e8214fbc0eca67 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Mon, 20 May 2024 01:28:08 +0200 Subject: Add some options to messages in gui, saves generated images local --- g4f/gui/client/static/css/style.css | 42 ++++++++++++++++++++++++++++--------- g4f/gui/client/static/js/chat.v1.js | 24 +++++++++++++++++++++ 2 files changed, 56 insertions(+), 10 deletions(-) (limited to 'g4f/gui/client/static') diff --git a/g4f/gui/client/static/css/style.css b/g4f/gui/client/static/css/style.css index 200a79d4..e8ed0a6f 100644 --- a/g4f/gui/client/static/css/style.css +++ b/g4f/gui/client/static/css/style.css @@ -265,6 +265,14 @@ body { padding-bottom: 0; } +.message.print { + height: 100%; + position: absolute; + background-color: #fff; + z-index: 100; + top: 0; +} + .message.regenerate { opacity: 0.75; } @@ -339,14 +347,14 @@ body { flex-wrap: wrap; } -.message .content, -.message .content a:link, -.message .content a:visited{ +.message .content_inner, +.message .content_inner a:link, +.message .content_inner a:visited{ font-size: 15px; line-height: 1.3; color: var(--colour-3); } -.message .content pre{ +.message .content_inner pre{ white-space: pre-wrap; } @@ -389,19 +397,19 @@ body { .message .count .fa-clipboard, .message .count .fa-volume-high, -.message .count .fa-rotate { +.message .count .fa-rotate, +.message .count .fa-print { z-index: 1000; cursor: pointer; } -.message .count .fa-clipboard { +.message .count .fa-clipboard, +.message .count .fa-whatsapp { color: var(--colour-3); } -.message .count .fa-clipboard.clicked { - color: var(--accent); -} - +.message .count .fa-clipboard.clicked, +.message .count .fa-print.clicked, .message .count .fa-volume-high.active { color: var(--accent); } @@ -1121,4 +1129,18 @@ a:-webkit-any-link { 50% { opacity: 0; } +} + +@media print { + #systemPrompt:placeholder-shown, + .conversations, + .conversation .user-input, + .conversation .buttons, + .conversation .toolbar, + .conversation .slide-systemPrompt, + .message .count i, + .message .assistant, + .message .user { + display: none; + } } \ No newline at end of file diff --git a/g4f/gui/client/static/js/chat.v1.js b/g4f/gui/client/static/js/chat.v1.js index 47bfdd3b..9790b261 100644 --- a/g4f/gui/client/static/js/chat.v1.js +++ b/g4f/gui/client/static/js/chat.v1.js @@ -192,6 +192,26 @@ const register_message_buttons = async () => { }) } }); + document.querySelectorAll(".message .fa-whatsapp").forEach(async (el) => { + if (!el.parentElement.href) { + const text = el.parentElement.parentElement.parentElement.innerText; + el.parentElement.href = `https://wa.me/?text=${encodeURIComponent(text)}`; + } + }); + document.querySelectorAll(".message .fa-print").forEach(async (el) => { + if (!("click" in el.dataset)) { + el.dataset.click = "true"; + el.addEventListener("click", async () => { + const message_el = el.parentElement.parentElement.parentElement; + el.classList.add("clicked"); + message_box.scrollTop = 0; + message_el.classList.add("print"); + setTimeout(() => el.classList.remove("clicked"), 1000); + setTimeout(() => message_el.classList.remove("print"), 1000); + window.print() + }) + } + }); } const delete_conversations = async () => { @@ -253,6 +273,8 @@ const handle_ask = async () => { ${count_words_and_tokens(message, get_selected_model())} + + @@ -625,6 +647,8 @@ const load_conversation = async (conversation_id, scroll=true) => { ${count_words_and_tokens(item.content, next_provider?.model)} + + -- cgit v1.2.3