Fixede the CSS together with Yasin #19
					 2 changed files with 260 additions and 185 deletions
				
			
		|  | @ -4,17 +4,17 @@ | |||
|     --font-family: Arial, sans-serif; | ||||
|     --history-background-color: rgb(0, 0, 48); | ||||
|     --models-background-color: rgb(0, 0, 48); | ||||
|     --code-model-color: red; | ||||
|     --math-model-color: green; | ||||
|     --language-model-color: blue; | ||||
|     --default-model-color: yellow; | ||||
|     --custom-model-color: purple; | ||||
|     --output-background-color: black; /* Set the conversation background to black */ | ||||
|     --user-message-color: rgb(0, 128, 255); /* Blueish bubble for user */ | ||||
|     --ai-message-color: rgb(100, 100, 255); /* Lighter blue for AI */ | ||||
|     --output-background-color: black; | ||||
|     /* Set the conversation background to black */ | ||||
|     --user-message-color: rgb(0, 128, 255); | ||||
|     /* Blueish bubble for user */ | ||||
|     --ai-message-color: rgb(100, 100, 255); | ||||
|     /* Lighter blue for AI */ | ||||
|     --input-background-color: rgb(0, 0, 48); | ||||
|     --input-button-color: rgb(0, 128, 255); | ||||
|     --input-button-hover-color: rgb(0, 100, 200); | ||||
|     --scrollbar-track: rgb(91, 172, 253); | ||||
|     --scrollbar-thumb: rgb(0, 88, 176); | ||||
| } | ||||
| 
 | ||||
| /* Global Reset */ | ||||
|  | @ -24,9 +24,13 @@ | |||
|     box-sizing: border-box; | ||||
| } | ||||
| 
 | ||||
| html, body { | ||||
| 
 | ||||
| 
 | ||||
| html, | ||||
| body { | ||||
|     height: 100vh; | ||||
|     overflow: hidden; /* Prevent scrolling */ | ||||
|     overflow: hidden; | ||||
|     /* Prevent scrolling */ | ||||
| } | ||||
| 
 | ||||
| /* Body Styling */ | ||||
|  | @ -80,21 +84,28 @@ header a:hover { | |||
| .container { | ||||
|     display: grid; | ||||
|     grid-template-columns: 1fr 3fr; | ||||
|     grid-template-rows: 1fr 1fr 0.5fr; | ||||
|     grid-template-rows: 3fr 1fr 1fr 1fr; | ||||
|     gap: 10px; | ||||
|     width: 90vw; | ||||
|     height: 90vh; | ||||
|     height: 95vh; | ||||
| } | ||||
| 
 | ||||
| /* History Section */ | ||||
| .history { | ||||
|     grid-column: 1; | ||||
|     grid-row: 1; | ||||
|     border-radius: 2em; | ||||
| 
 | ||||
| .history-background { | ||||
|     grid-column: 1/2; | ||||
|     grid-row: 1/2; | ||||
|     height: 100%; | ||||
|     overflow: hidden; | ||||
|     background-color: var(--history-background-color); | ||||
|     padding: 1em; | ||||
|     overflow-y: auto; | ||||
|     height: 50vh; | ||||
|     border-radius: 2em; | ||||
| } | ||||
| 
 | ||||
| .history { | ||||
|     height: 100%; | ||||
|     overflow-y: scroll; | ||||
|     padding-right: 10px; | ||||
| } | ||||
| 
 | ||||
| .history ul { | ||||
|  | @ -120,13 +131,33 @@ header a:hover { | |||
| } | ||||
| 
 | ||||
| /* Models Section */ | ||||
| .models { | ||||
| .model-background { | ||||
|     grid-column: 1/2; | ||||
|     grid-row: 2/5; | ||||
|     overflow-y: auto; | ||||
|     background-color: var(--models-background-color); | ||||
|     border-radius: 2em; | ||||
|     padding: 1em; | ||||
|     height: 40vh; | ||||
|     height: 90%; | ||||
|     box-sizing: border-box; | ||||
|     overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| .models { | ||||
|     grid-column: 1/2; | ||||
|     grid-row: 2/5; | ||||
|     overflow-y: auto; | ||||
|     background-color: var(--models-background-color); | ||||
|     border-radius: 2em; | ||||
|     padding: 1em; | ||||
|     height: 100%; | ||||
|     box-sizing: border-box; | ||||
|     overflow: hidden; | ||||
|     overflow-y: scroll; | ||||
| } | ||||
| 
 | ||||
| .models form { | ||||
|     padding: 0; | ||||
| } | ||||
| 
 | ||||
| .models .titel { | ||||
|  | @ -134,14 +165,17 @@ header a:hover { | |||
|     display: flex; | ||||
|     justify-content: center; | ||||
|     align-items: center; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| .grid { | ||||
|     display: grid; | ||||
|     grid-template-columns: repeat(2, 1fr); | ||||
|     gap: 1.5vh; | ||||
|     height: calc(100% - 2em); | ||||
|     /* height: calc(100% - 2em); */ | ||||
| } | ||||
| 
 | ||||
| .grid h3 { | ||||
|     font-size: x-large; | ||||
| } | ||||
| 
 | ||||
| .model-box { | ||||
|  | @ -152,7 +186,9 @@ header a:hover { | |||
|     border-radius: 5%; | ||||
|     overflow: hidden; | ||||
|     position: relative; | ||||
|     height: 20vh; | ||||
|     height: 18vh; | ||||
|     width: 18vh; | ||||
|     margin: auto; | ||||
| } | ||||
| 
 | ||||
| .overlay { | ||||
|  | @ -210,7 +246,7 @@ header a:hover { | |||
| /* Output Section */ | ||||
| .output { | ||||
|     grid-column: 2; | ||||
|     grid-row: 1 / span 2; | ||||
|     grid-row: 1 / 4; | ||||
|     border-radius: 2em; | ||||
|     background-color: var(--output-background-color); | ||||
|     padding: 1.5em; | ||||
|  | @ -219,7 +255,7 @@ header a:hover { | |||
|     justify-content: flex-start; | ||||
|     font-size: 1.2em; | ||||
|     overflow-y: auto; | ||||
|     max-height: 75vh; | ||||
|     min-height: 75vh; | ||||
|     margin-bottom: 0; | ||||
|     width: 100%; | ||||
| } | ||||
|  | @ -232,9 +268,11 @@ header a:hover { | |||
|     padding: 10px; | ||||
|     overflow-y: auto; | ||||
|     max-height: 80vh; | ||||
|     background-color: var(--output-background-color); /* Black background */ | ||||
|     background-color: var(--output-background-color); | ||||
|     /* Black background */ | ||||
|     border-radius: 10px; | ||||
|     scroll-behavior: smooth; /* Optional: Smooth scrolling */ | ||||
|     scroll-behavior: smooth; | ||||
|     /* Optional: Smooth scrolling */ | ||||
| } | ||||
| 
 | ||||
| .user-message, | ||||
|  | @ -243,9 +281,11 @@ header a:hover { | |||
|     padding: 10px 15px; | ||||
|     border-radius: 15px; | ||||
|     max-width: 60%; | ||||
|     width: fit-content; /* Adjusts width to fit the content */ | ||||
|     width: fit-content; | ||||
|     /* Adjusts width to fit the content */ | ||||
|     word-wrap: break-word; | ||||
|     display: block; /* Changed from inline-block to block */ | ||||
|     display: block; | ||||
|     /* Changed from inline-block to block */ | ||||
|     box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); | ||||
| } | ||||
| 
 | ||||
|  | @ -255,7 +295,8 @@ header a:hover { | |||
|     color: var(--text-color); | ||||
|     border-bottom-right-radius: 0; | ||||
|     margin-left: auto; | ||||
|     text-align: right; /* Align text to the right */ | ||||
|     text-align: right; | ||||
|     /* Align text to the right */ | ||||
| } | ||||
| 
 | ||||
| /* Align AI message to the left */ | ||||
|  | @ -264,7 +305,8 @@ header a:hover { | |||
|     color: var(--text-color); | ||||
|     border-bottom-left-radius: 0; | ||||
|     margin-right: auto; | ||||
|     text-align: left; /* Align text to the left */ | ||||
|     text-align: left; | ||||
|     /* Align text to the left */ | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -295,23 +337,23 @@ header a:hover { | |||
| 
 | ||||
| /* Input Section */ | ||||
| .input { | ||||
|     grid-column: 2; | ||||
|     grid-row: 3; | ||||
|     border-radius: 2em; | ||||
|     grid-column: 2/3; | ||||
|     grid-row: 4/5; | ||||
|     border-radius: 20px; | ||||
|     background-color: var(--input-background-color); | ||||
|     padding: 1em; | ||||
|     padding: 1.5vh; | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|     height: auto; | ||||
|     margin-top: -9em; | ||||
|     /* margin-top: -9em; */ | ||||
|     gap: 10px; | ||||
|     height: 7em; | ||||
|     height: 10vh; | ||||
| } | ||||
| 
 | ||||
| .input input { | ||||
|     flex-grow: 1; | ||||
|     padding: 12px; | ||||
|     padding: 5px; | ||||
|     font-size: 1.2em; | ||||
|     border-radius: 8px; | ||||
|     border: 2px solid var(--input-button-color); | ||||
|  | @ -320,6 +362,7 @@ header a:hover { | |||
|     background-color: rgba(255, 255, 255, 0.9); | ||||
|     color: #333; | ||||
|     transition: border-color 0.3s ease-in-out; | ||||
|     height: 7vh; | ||||
| } | ||||
| 
 | ||||
| .input input:focus { | ||||
|  | @ -396,10 +439,31 @@ header a:hover { | |||
|     transition: background-color 0.3s; | ||||
| } | ||||
| 
 | ||||
| ::-webkit-scrollbar { | ||||
|     width: 7px; | ||||
|     margin-left: 10px; | ||||
| } | ||||
| 
 | ||||
| ::-webkit-scrollbar-track { | ||||
|     background-color: var(--scrollbar-track); | ||||
|     border-radius: 5px; | ||||
|     overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| ::-webkit-scrollbar-thumb { | ||||
|     background-color: var(--scrollbar-thumb); | ||||
|     border-radius: 5px; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 1400px) { | ||||
|     .grid { | ||||
|         grid-template-columns: 1fr; | ||||
|     } | ||||
| 
 | ||||
|     .model-box { | ||||
|         width: 15vw; | ||||
|         aspect-ratio: 1/1; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /* Responsive Adjustments */ | ||||
|  | @ -410,8 +474,10 @@ header a:hover { | |||
|         width: 95vw; | ||||
|     } | ||||
| 
 | ||||
|     .history, .models { | ||||
|         display: none; /* Hide history and models */ | ||||
|     .history, | ||||
|     .models { | ||||
|         display: none; | ||||
|         /* Hide history and models */ | ||||
|     } | ||||
| 
 | ||||
|     .output { | ||||
|  | @ -422,7 +488,7 @@ header a:hover { | |||
|     .input { | ||||
|         grid-column: 1; | ||||
|         grid-row: 3; | ||||
|         margin-top: -4em; | ||||
|         /* margin-top: -4em; */ | ||||
|     } | ||||
| 
 | ||||
|     .input button { | ||||
|  |  | |||
|  | @ -1,18 +1,19 @@ | |||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <link rel="stylesheet" href="/static/styles.css"> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <link rel="stylesheet" href="styles.css" /> | ||||
|     <title>AI Assistant</title> | ||||
|   </head> | ||||
| 
 | ||||
|   <body> | ||||
|     <header> | ||||
|       <div class="header-menu"> | ||||
|         <ul> | ||||
|           <li> | ||||
|             <a href="/"> | ||||
|                         <img src="/static/img/logo.png" alt="logo"> | ||||
|               <img src="/static/img/logo.png" alt="logo" /> | ||||
|             </a> | ||||
|           </li> | ||||
|           <li> | ||||
|  | @ -31,7 +32,8 @@ | |||
|     <!-- Main container for the layout --> | ||||
|     <div class="container"> | ||||
|       <!-- History section --> | ||||
|         <div class="history hidden"> | ||||
|       <div class="history-background hidden"> | ||||
|         <div class="history"> | ||||
|           <ul> | ||||
|             <!-- Populate with history items --> | ||||
|             <li><a href="#">history1</a></li> | ||||
|  | @ -56,70 +58,73 @@ | |||
|             <li><a href="#">history20</a></li> | ||||
|           </ul> | ||||
|         </div> | ||||
|       </div> | ||||
| 
 | ||||
|       <!-- Models section --> | ||||
|       <div class="model-background"> | ||||
|         <div class="models"> | ||||
|           <div class="titel"> | ||||
|             <h1>Different AI models</h1> | ||||
|           </div> | ||||
|           <form action=""> | ||||
|             <div class="grid"> | ||||
|                 <div class="code-model model-box"> | ||||
|               <button class="code-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Code</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="math-model model-box"> | ||||
|               </button> | ||||
|               <button class="math-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Math</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="language-model model-box"> | ||||
|               </button> | ||||
|               <button class="language-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Language</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="default-model model-box"> | ||||
|               </button> | ||||
|               <button class="default-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Default</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="default-model model-box"> | ||||
|               </button> | ||||
|               <button class="default-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Default</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="default-model model-box"> | ||||
|               </button> | ||||
|               <button class="default-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Default</h3> | ||||
|                 </div> | ||||
|                 </div> | ||||
|                 <div class="default-model model-box"> | ||||
|               </button> | ||||
|               <button class="default-model model-box"> | ||||
|                 <div class="overlay"> | ||||
|                   <h3>Default</h3> | ||||
|                 </div> | ||||
|               </button> | ||||
|             </div> | ||||
|           </form> | ||||
|         </div> | ||||
|       </div> | ||||
| 
 | ||||
|       <!-- Output section --> | ||||
|       <div class="output"> | ||||
|         <div class="conversation" id="conversation"> | ||||
|                 {% for message in messages %} | ||||
|                     {% if message.startswith('User:') %} | ||||
|           {% for message in messages %} {% if message.startswith('User:') %} | ||||
|           <div class="user-message">{{ message }}</div> | ||||
|           {% else %} | ||||
|           <div class="ai-message">{{ message }}</div> | ||||
|                     {% endif %} | ||||
|                 {% endfor %} | ||||
|           {% endif %} {% endfor %} | ||||
|           <form method="POST" action="" id="buttonForm"> | ||||
|                     <button type="submit" name="chat" value="resend"> | ||||
|                         <img src="/static/img/resend.svg" alt="resend"> | ||||
|             <button type="button" name="option" value="chat"> | ||||
|               <img src="/static/img/resend.svg" alt="resend" /> | ||||
|             </button> | ||||
|                     <button type="submit" name="chat" value="edit"> | ||||
|                         <img src="/static/img/edit.svg" alt="edit"> | ||||
|             <button type="button" name="option" value="chat"> | ||||
|               <img src="/static/img/edit.svg" alt="edit" /> | ||||
|             </button> | ||||
|                     <button type="submit" name="chat" value="copy"> | ||||
|                         <img src="/static/img/copy.svg" alt="copy"> | ||||
|             <button type="button" name="option" value="answer"> | ||||
|               <img src="/static/img/copy.svg" alt="copy" /> | ||||
|             </button> | ||||
|           </form> | ||||
|         </div> | ||||
|  | @ -127,42 +132,46 @@ | |||
| 
 | ||||
|       <!-- Input section --> | ||||
|       <form class="input" method="POST" action="" id="inputForm"> | ||||
|             <input type="text" name="user_message" placeholder="Type your message here..." value="{{ input }}"> | ||||
|         <input | ||||
|           type="text" | ||||
|           name="user_message" | ||||
|           placeholder="Type your message here..." | ||||
|         /> | ||||
|         <button type="submit" name="option" value="chat"> | ||||
|                 <img src="/static/img/send.svg" alt="send"> | ||||
|           <img src="/static/img/send.svg" alt="send" /> | ||||
|         </button> | ||||
|         <button type="submit" name="option" value="voice"> | ||||
|                 <img src="/static/img/microphone.svg" alt="microphone"> | ||||
|           <img src="/static/img/microphone.svg" alt="microphone" /> | ||||
|         </button> | ||||
|       </form> | ||||
|     </div> | ||||
| 
 | ||||
|     <script> | ||||
|       function scrollToBottom() { | ||||
|             const conversation = document.getElementById('conversation'); | ||||
|         const conversation = document.getElementById("conversation"); | ||||
|         conversation.scrollTop = conversation.scrollHeight; | ||||
|       } | ||||
| 
 | ||||
|         document.addEventListener('DOMContentLoaded', function() { | ||||
|       document.addEventListener("DOMContentLoaded", function () { | ||||
|         scrollToBottom(); // Scroll to the bottom when the page loads | ||||
| 
 | ||||
|             const conversation = document.getElementById('conversation'); | ||||
|         const conversation = document.getElementById("conversation"); | ||||
| 
 | ||||
|         // Listen for changes in the conversation element | ||||
|             conversation.addEventListener('DOMSubtreeModified', function() { | ||||
|         conversation.addEventListener("DOMSubtreeModified", function () { | ||||
|           scrollToBottom(); // Scroll to the bottom when a new message is added | ||||
|         }); | ||||
| 
 | ||||
|             const button = document.getElementById('toggleButton'); | ||||
|         const button = document.getElementById("toggleButton"); | ||||
| 
 | ||||
|             button.addEventListener('click', function() { | ||||
|                 const divs = document.querySelectorAll('div.hidden'); | ||||
|         button.addEventListener("click", function () { | ||||
|           const divs = document.querySelectorAll("div.hidden"); | ||||
| 
 | ||||
|                 divs.forEach(div => { | ||||
|                     if (div.style.display === 'none' || div.style.display === '') { | ||||
|                         div.style.display = 'block'; // Show the div | ||||
|           divs.forEach((div) => { | ||||
|             if (div.style.display === "none" || div.style.display === "") { | ||||
|               div.style.display = "block"; // Show the div | ||||
|             } else { | ||||
|                         div.style.display = 'none'; // Hide the div | ||||
|               div.style.display = "none"; // Hide the div | ||||
|             } | ||||
|           }); | ||||
|         }); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue