Made the header button show/hide work
This commit is contained in:
parent
48668f7f6e
commit
284e70b841
20 changed files with 585 additions and 588 deletions
34
app/styles/container.css
Normal file
34
app/styles/container.css
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* container.css */
|
||||
.container {
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
overflow: hidden;
|
||||
position: relative; /* Ensure relative positioning for proper transitions */
|
||||
}
|
||||
|
||||
.left-panel {
|
||||
width: 30vw; /* Adjust as needed */
|
||||
transition: width 0.3s ease, visibility 0.3s ease; /* Transition for width, opacity, and visibility */
|
||||
}
|
||||
|
||||
.left-panel.hidden {
|
||||
opacity: 0; /* Fade out when hidden */
|
||||
width: 0; /* Set width to 0 when hidden */
|
||||
visibility: hidden; /* Hide the panel while keeping the space occupied */
|
||||
margin-right: -30vw;
|
||||
}
|
||||
|
||||
.conversation-container {
|
||||
flex: 1;
|
||||
transition: width 0.3s ease, visibility 0.3s ease; /* Transition for margin-left */
|
||||
}
|
||||
|
||||
/* Adjust margin-left when panel is shown or hidden */
|
||||
.conversation-container.expanded {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.conversation-container.collapsed {
|
||||
margin-left: 30vw; /* Same as the width of the left-panel */
|
||||
}
|
0
app/styles/faq.css
Normal file
0
app/styles/faq.css
Normal file
18
app/styles/global.css
Normal file
18
app/styles/global.css
Normal file
|
@ -0,0 +1,18 @@
|
|||
html,
|
||||
body {
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
top: 1vh;
|
||||
}
|
||||
|
||||
body {
|
||||
margin-top: 2em;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: var(--background-color);
|
||||
color: var(--text-color);
|
||||
font-family: var(--font-family);
|
||||
margin-bottom: 0.5em;
|
||||
}
|
38
app/styles/header.css
Normal file
38
app/styles/header.css
Normal file
|
@ -0,0 +1,38 @@
|
|||
header {
|
||||
background-color: var(--background-color);
|
||||
color: black;
|
||||
width: 100%;
|
||||
text-decoration: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 10px 20px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
||||
z-index: 1000;
|
||||
font-family: var(--font-family);
|
||||
}
|
||||
|
||||
header li {
|
||||
display: inline-block;
|
||||
margin: 0 15px;
|
||||
}
|
||||
|
||||
header img {
|
||||
height: 2em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
header a,
|
||||
header li button {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
transition: color 0.3s;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
header a:hover,
|
||||
header li button:hover {
|
||||
color: var(--input-button-color);
|
||||
}
|
38
app/styles/history.css
Normal file
38
app/styles/history.css
Normal file
|
@ -0,0 +1,38 @@
|
|||
.history-background {
|
||||
grid-column: 1/2;
|
||||
grid-row: 1/2;
|
||||
height: 40vh;
|
||||
overflow: hidden;
|
||||
background-color: var(--history-background-color);
|
||||
padding: 1em;
|
||||
border-radius: 2em;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
.history {
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.history ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.history ul li {
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid var(--text-color);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.history ul li a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
width: 100%;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.history ul li a:hover {
|
||||
background-color: var(--input-button-hover-color);
|
||||
}
|
61
app/styles/input.css
Normal file
61
app/styles/input.css
Normal file
|
@ -0,0 +1,61 @@
|
|||
/* Input Section */
|
||||
.input {
|
||||
grid-column: 2/3;
|
||||
grid-row: 4/5;
|
||||
border-radius: 20px;
|
||||
background-color: var(--input-background-color);
|
||||
padding: 1em;
|
||||
margin: 1em;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: auto;
|
||||
gap: 10px;
|
||||
height: 10vh;
|
||||
}
|
||||
|
||||
.input input {
|
||||
flex-grow: 1;
|
||||
padding: 5px;
|
||||
font-size: 1.2em;
|
||||
border-radius: 8px;
|
||||
border: 2px solid var(--input-button-color);
|
||||
outline: none;
|
||||
margin-right: 10px;
|
||||
background-color: rgba(255, 255, 255, 0.9);
|
||||
color: #333;
|
||||
transition: border-color 0.3s ease-in-out;
|
||||
height: 7vh;
|
||||
}
|
||||
|
||||
.input input:focus {
|
||||
border-color: var(--input-button-hover-color);
|
||||
}
|
||||
|
||||
.input button {
|
||||
padding: 1em;
|
||||
margin: 5px;
|
||||
background-color: var(--input-button-color);
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
font-size: 1.5em;
|
||||
cursor: pointer;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
transition: background-color 0.3s ease;
|
||||
position: relative;
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.input button img {
|
||||
height: 1em;
|
||||
}
|
||||
|
||||
.input button:hover {
|
||||
background-color: var(--input-button-hover-color);
|
||||
box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
|
||||
}
|
13
app/styles/master.css
Normal file
13
app/styles/master.css
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* Importing all the split CSS files */
|
||||
@import './variables.css';
|
||||
@import './reset.css';
|
||||
@import './global.css';
|
||||
@import './header.css';
|
||||
@import './container.css';
|
||||
@import './history.css';
|
||||
@import './models.css';
|
||||
@import './output.css';
|
||||
@import './user-ai-messages.css';
|
||||
@import './input.css';
|
||||
@import './faq.css';
|
||||
@import './scrollbar.css';
|
124
app/styles/models.css
Normal file
124
app/styles/models.css
Normal file
|
@ -0,0 +1,124 @@
|
|||
.model-background {
|
||||
grid-column: 1/2;
|
||||
grid-row: 2/5;
|
||||
overflow-y: auto;
|
||||
background-color: var(--models-background-color);
|
||||
border-radius: 2em;
|
||||
padding: 1em;
|
||||
margin: 1em;
|
||||
height: 50vh;
|
||||
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-right: 10px;
|
||||
padding-left: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.models .titel {
|
||||
padding-bottom: 1em;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 1.5vh;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.grid h3 {
|
||||
font-size: x-large;
|
||||
}
|
||||
|
||||
.model-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
border-radius: 5%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
height: 18vh;
|
||||
width: 18vh;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
z-index: 900;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
color: white;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 300%;
|
||||
transition: opacity 0.5s ease;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.overlay img {
|
||||
align-self: flex-end;
|
||||
justify-self: end;
|
||||
height: 3vh;
|
||||
width: 3vh;
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
bottom: 15px;
|
||||
}
|
||||
|
||||
.model-box:hover .overlay {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.code-model {
|
||||
background-image: url(/img/code.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.math-model {
|
||||
background-image: url(/img/math.jpg);
|
||||
background-color: white;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.language-model {
|
||||
background-image: url(/img/language.jpg);
|
||||
background-color: #72cce4;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.default-model {
|
||||
background-image: url(/img/default.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
74
app/styles/output.css
Normal file
74
app/styles/output.css
Normal file
|
@ -0,0 +1,74 @@
|
|||
/* Output Section */
|
||||
.output {
|
||||
grid-column: 2;
|
||||
grid-row: 1 / 4;
|
||||
border-radius: 2em;
|
||||
background-color: var(--output-background-color);
|
||||
padding: 1em;
|
||||
margin: 1em;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
font-size: 1.2em;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 0;
|
||||
width: 100% -2em;
|
||||
height: 80vh;
|
||||
margin-bottom: 1vh;
|
||||
}
|
||||
|
||||
#conversation {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px;
|
||||
overflow-y: auto;
|
||||
max-height: 80vh;
|
||||
background-color: var(--output-background-color);
|
||||
border-radius: 10px;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
/* Message Bubbles */
|
||||
.user-message, .ai-message {
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
margin: 5px 0;
|
||||
max-width: 75%;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.user-message {
|
||||
background-color: var(--user-message-background-color);
|
||||
align-self: flex-end;
|
||||
color: var(--user-message-text-color);
|
||||
}
|
||||
|
||||
.ai-message {
|
||||
background-color: var(--ai-message-background-color);
|
||||
align-self: flex-start;
|
||||
color: var(--ai-message-text-color);
|
||||
}
|
||||
|
||||
/* Button Container */
|
||||
.button-container {
|
||||
display: flex;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.button-container button {
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
background-color: var(--button-background-color);
|
||||
border-radius: 50%;
|
||||
padding: 10px;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.button-container button:hover {
|
||||
background-color: var(--button-hover-background-color);
|
||||
}
|
||||
|
||||
.button-container img {
|
||||
height: 1.5em;
|
||||
}
|
5
app/styles/reset.css
Normal file
5
app/styles/reset.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
17
app/styles/scrollbar.css
Normal file
17
app/styles/scrollbar.css
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* Scrollbar styling */
|
||||
.scrollbar {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.scrollbar::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.scrollbar::-webkit-scrollbar-thumb {
|
||||
background-color: #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.scrollbar::-webkit-scrollbar-track {
|
||||
background-color: #f1f1f1;
|
||||
}
|
27
app/styles/user-ai-messages.css
Normal file
27
app/styles/user-ai-messages.css
Normal file
|
@ -0,0 +1,27 @@
|
|||
.user-message,
|
||||
.ai-message {
|
||||
margin: 10px 0;
|
||||
padding: 10px 15px;
|
||||
border-radius: 15px;
|
||||
max-width: 60%;
|
||||
width: fit-content;
|
||||
word-wrap: break-word;
|
||||
display: block;
|
||||
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.user-message {
|
||||
background-color: var(--user-message-color);
|
||||
color: var(--text-color);
|
||||
border-bottom-right-radius: 0;
|
||||
margin-left: auto;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.ai-message {
|
||||
background-color: var(--ai-message-color);
|
||||
color: var(--text-color);
|
||||
border-bottom-left-radius: 0;
|
||||
margin-right: auto;
|
||||
text-align: left;
|
||||
}
|
15
app/styles/variables.css
Normal file
15
app/styles/variables.css
Normal file
|
@ -0,0 +1,15 @@
|
|||
:root {
|
||||
--background-color: white;
|
||||
--text-color: white;
|
||||
--font-family: Arial, sans-serif;
|
||||
--history-background-color: rgb(0, 0, 48);
|
||||
--models-background-color: rgb(0, 0, 48);
|
||||
--output-background-color: black;
|
||||
--user-message-color: rgb(0, 128, 255);
|
||||
--ai-message-color: rgb(100, 100, 255);
|
||||
--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);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue