interstellar_ai/app/styles/Settings.css

149 lines
4.1 KiB
CSS

/* Overlay for popup - full screen and centered */
.popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 10000;
}
.settings-main h2 {
margin-bottom: 1em;
}
.settings-main p {
padding-bottom: 7px;
}
/* Main container for the settings */
.settings-container {
display: grid;
grid-template-columns: 1fr 3fr; /* 1fr for sidebar, 3fr for main content */
grid-auto-flow: column;
overflow-x: hidden;
height: 100%; /* Ensure it takes full height */
}
/* Settings content */
.settings-content {
background: var(--history-background-color);
color: var(--text-color);
padding: 20px;
border-radius: 10px;
width: 90%;
max-width: 800px;
height: 90%;
max-height: 600px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
overflow: hidden; /* Prevents overflow of the content */
position: relative; /* Needed for absolute positioning of close button */
display: flex;
flex-direction: column; /* Flexbox for vertical stacking */
}
/* Sidebar styles */
.sidebar {
background: var(--settings-background-color);
padding: 20px;
border-radius: 10px 0 0 10px; /* Rounded corners on the left side */
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
overflow-y: auto; /* Scroll if content exceeds height */
display: flex;
flex-direction: column;
grid-column: 1; /* Places sidebar in the first grid column */
height: 100%; /* Ensures sidebar takes full height */
}
/* Sidebar item styles */
.sidebar ul {
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column; /* Make the ul a column */
flex-grow: 1; /* Allows the list to take available space */
}
.sidebar li {
margin: 10px 0;
cursor: pointer;
padding: 10px;
border-radius: 5px;
transition: background 0.3s;
}
.sidebar li:hover {
background: var(--input-button-hover-color); /* Highlight on hover */
}
.sidebar li.active {
background: var(--button-hover-background-color); /* Active section highlight */
}
/* Main settings area */
.settings-main {
grid-column: 2; /* Places main settings in the second grid column */
padding: 20px;
border-radius: 0 10px 10px 0; /* Rounded corners on the right side */
overflow-y: auto; /* Scroll if content exceeds height */
display: flex;
flex-direction: column; /* Stack content vertically */
}
/* Close button positioning */
.close-popup {
background-color: var(--close-button-color);
color: var(--user-message-text-color);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
position: absolute; /* Position absolute to top right */
top: 20px; /* Distance from top */
right: 20px; /* Distance from right */
transition: background 0.3s;
}
.close-popup:hover {
background-color: var(--close-button-hover-color); /* Darker red on hover */
}
/* Additional styles for inputs and options */
.settings-option {
margin-bottom: 20px; /* Adds space between each setting option */
padding-bottom: 10px; /* Adds internal spacing */
border-bottom: 1px solid var(--input-border-color); /* Optional, creates a separator between options */
}
.settings-option:last-child {
margin-bottom: 0; /* Removes bottom margin from last option */
border-bottom: none; /* Removes separator from last option */
}
.settings-option input[type="text"],
.settings-option input[type="email"],
.settings-option input[type="password"],
.settings-option input[type="color"],
.settings-option input[type="range"],
.settings-option select {
border-color: var(--input-border-color);
color: var(--text-color);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
padding: 10px;
border-radius: 5px;
width: 100%;
margin-bottom: 10px; /* Adds spacing between inputs */
}
/* Optional additional spacing for labels */
.settings-option label {
margin-bottom: 5px;
display: block;
font-weight: bold;
}