added new logo and styling

This commit is contained in:
idittrich-valueon 2025-06-16 14:15:13 +02:00
parent 5b21a3bfce
commit 29fde91580
43 changed files with 1012 additions and 525 deletions

View file

@ -9,6 +9,9 @@ import Home from './pages/Home';
import Dateien from './pages/Dateien/Dateien';
import Mitglieder from './pages/Mitglieder/Mitglieder';
import Dashboard from './pages/Dashboard';
import Einstellungen from './pages/Einstellungen/Einstellungen';
// Import the global light theme CSS variables as default
import './assets/styles/light.css';
function App() {
return (
@ -26,6 +29,7 @@ function App() {
<Route path="dashboard" element={<Dashboard />} />
<Route path="dateien" element={<Dateien />} />
<Route path="mitglieder" element={<Mitglieder />} />
<Route path="einstellungen" element={<Einstellungen />} />
</Route>
</Routes>
</Router>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>

Before

Width:  |  Height:  |  Size: 4 KiB

View file

@ -0,0 +1,28 @@
:root {
--color-bg: #121212;
--color-surface: #1E1E1E;
--color-text: #E5E7EB;
--color-primary: #B266FF;
--color-primary-hover: #C68AFF;
--color-primary-disabled: #5C2B80;
--color-secondary: #6F7BE5;
--color-secondary-hover: #8592FF;
--color-secondary-disabled: #3B4370;
--color-red: #FF6F7A;
--color-red-hover: #FF8B94;
--color-red-disabled: #80383E;
--color-secondary-red: #D65D6A;
--color-secondary-red-hover: #E17683;
--color-secondary-red-disabled: #70363C;
--color-gray: #A0A4AA;
--color-gray-hover: #C4C8CD;
--color-gray-disabled: #505357;
--font-family: "Trebuchet MS", sans-serif;
}

View file

@ -0,0 +1,55 @@
:root {
--color-bg: #FFFFFF;
--color-surface: #F8F9FA;
--color-text: #24262B;
--color-primary: #8F00FF;
--color-primary-hover: #A020FF;
--color-primary-disabled: #D1A6F9;
--color-secondary: #3F51B5;
--color-secondary-hover: #5A6CE0;
--color-secondary-disabled: #BEC5EB;
--color-red: #D85B65;
--color-red-hover: #E77A81;
--color-red-disabled: #F3C0C4;
--color-secondary-red: #B94A55;
--color-secondary-red-hover: #D46872;
--color-secondary-red-disabled: #E8B7BA;
--color-gray: #6C757D;
--color-gray-hover: #8A9299;
--color-gray-disabled: #D6D8DB;
--font-family: "Trebuchet MS", sans-serif;
}
/* Dark theme overrides */
.dark-theme {
--color-bg: #121212;
--color-surface: #1E1E1E;
--color-text: #E5E7EB;
--color-primary: #B266FF;
--color-primary-hover: #C68AFF;
--color-primary-disabled: #5C2B80;
--color-secondary: #6F7BE5;
--color-secondary-hover: #8592FF;
--color-secondary-disabled: #3B4370;
--color-red: #FF6F7A;
--color-red-hover: #FF8B94;
--color-red-disabled: #80383E;
--color-secondary-red: #D65D6A;
--color-secondary-red-hover: #E17683;
--color-secondary-red-disabled: #70363C;
--color-gray: #A0A4AA;
--color-gray-hover: #C4C8CD;
--color-gray-disabled: #505357;
}

View file

@ -4,14 +4,13 @@
flex-direction: column;
align-self: stretch;
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
height: 100%;
min-height: 0;
overflow: hidden;
font-family: var(--font-family);
}
.dashboard_chat.expanded {
@ -49,19 +48,20 @@
cursor: pointer;
padding: 0;
transition: all 0.2s ease;
font-family: var(--font-family);
}
.chat_button_active {
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
}
.chat_button_inactive {
color: #A0A0A0;
color: var(--color-gray);
}
.chat_button_collapsed {
opacity: 50%;
color: #A0A0A0;
color: var(--color-gray);
}
.iconContainer {
@ -74,23 +74,23 @@
cursor: pointer;
display: flex;
align-items: center;
color: var(--Brand-Green-Green, #3A8088);
color: var(--color-secondary);
}
.expandIcon:hover, .collapseIcon:hover {
color: #333;
color: var(--color-secondary-hover);
}
.horizontalLine {
width: 100%;
background-color: var(--Grayscale-Black, #24262B);
background-color: var(--color-text);
height: 1px;
margin-top: 20px;
}
.horizontalLineLight {
width: calc(100%);
background-color: #F1F1F1;
background-color: var(--color-gray-disabled);
height: 2px;
margin-top: 39px;
margin-left: -20px;
@ -128,20 +128,22 @@
.message_input {
flex: 1;
padding: 12px 16px;
border: 1px solid #E0E0E0;
border-radius: 12px;
outline: none;
font-size: 14px;
font-family: var(--font-family);
background-color: var(--color-bg);
color: var(--color-text);
}
.message_input:focus {
border-color: #666;
border-color: var(--color-primary);
}
.send_button {
padding: 12px 12px;
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
border-radius: 12px;
cursor: pointer;
@ -150,6 +152,7 @@
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font-family);
}
.send_button_icon {
@ -160,43 +163,45 @@
}
.send_button:disabled {
background-color: #ccc;
background-color: var(--color-gray-disabled);
cursor: not-allowed;
opacity: 0.6;
}
.message_input:disabled {
background-color: #f5f5f5;
background-color: var(--color-surface);
cursor: not-allowed;
opacity: 0.6;
}
.loading_message {
padding: 10px;
background-color: #e3f2fd;
border-left: 4px solid #2196f3;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin-bottom: 10px;
}
.loading_message p {
margin: 0;
color: #1976d2;
color: var(--color-secondary);
font-size: 14px;
font-family: var(--font-family);
}
.error_message {
padding: 10px;
background-color: #ffebee;
border-left: 4px solid #f44336;
background-color: var(--color-red-disabled);
border-left: 4px solid var(--color-red);
border-radius: 4px;
margin-bottom: 10px;
}
.error_message p {
margin: 0;
color: #c62828;
color: var(--color-red);
font-size: 14px;
font-family: var(--font-family);
}
.message {
@ -204,25 +209,26 @@
padding: 12px;
border-radius: 12px;
max-width: 80%;
font-family: var(--font-family);
}
.message_user {
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
margin-left: auto;
margin-right: 0;
}
.message_assistant {
background-color: #f5f5f5;
color: #333;
background-color: var(--color-surface);
color: var(--color-text);
margin-left: 0;
margin-right: auto;
}
.message_system {
background-color: #fff3cd;
color: #856404;
background-color: var(--color-primary-disabled);
color: var(--color-primary);
margin-left: auto;
margin-right: auto;
text-align: center;
@ -233,6 +239,7 @@
font-weight: 600;
margin-bottom: 4px;
opacity: 0.8;
font-family: var(--font-family);
}
.message_content {
@ -240,40 +247,44 @@
line-height: 1.4;
white-space: pre-wrap;
word-wrap: break-word;
font-family: var(--font-family);
}
.message_timestamp {
font-size: 11px;
margin-top: 4px;
opacity: 0.6;
font-family: var(--font-family);
}
.placeholder_text {
text-align: center;
color: #999;
color: var(--color-gray);
font-style: italic;
margin: 20px 0;
font-family: var(--font-family);
}
.workflow_status {
padding: 8px 12px;
background-color: #e8f5e8;
border-left: 4px solid #4caf50;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin-bottom: 10px;
}
.workflow_status p {
margin: 0;
color: #2e7d32;
color: var(--color-secondary);
font-size: 13px;
font-style: italic;
font-family: var(--font-family);
}
.completion_message {
padding: 10px 12px;
background-color: #e8f5e8;
border-left: 4px solid #4caf50;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin-bottom: 10px;
text-align: center;
@ -281,14 +292,15 @@
.completion_message p {
margin: 0 0 10px 0;
color: #2e7d32;
color: var(--color-secondary);
font-size: 14px;
font-weight: 600;
font-family: var(--font-family);
}
.new_workflow_button {
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
border-radius: 8px;
padding: 8px 16px;
@ -296,9 +308,10 @@
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.new_workflow_button:hover {
background-color: #2d6b73;
background-color: var(--color-secondary-hover);
}

View file

@ -4,6 +4,7 @@
flex: 1;
min-height: 0;
overflow: hidden;
font-family: var(--font-family);
}
.chat_messages {
@ -26,12 +27,12 @@
}
.chat_messages::-webkit-scrollbar-thumb {
background: #ccc;
background: var(--color-gray-disabled);
border-radius: 3px;
}
.chat_messages::-webkit-scrollbar-thumb:hover {
background: #999;
background: var(--color-gray);
}
.messages_container {
@ -65,26 +66,29 @@
.message_input {
flex: 1;
padding: 12px 16px;
border: 1px solid #E0E0E0;
border: 1px solid var(--color-gray-disabled);
border-radius: 12px;
outline: none;
font-size: 14px;
font-family: var(--font-family);
background-color: var(--color-bg);
color: var(--color-text);
}
.message_input:focus {
border-color: #666;
border-color: var(--color-secondary);
}
.message_input:disabled {
background-color: #f5f5f5;
background-color: var(--color-surface);
cursor: not-allowed;
opacity: 0.6;
}
.attachment_button {
padding: 11px 11px;
background-color: #e6f2f2;
color: var(--Brand-Green-Green, #3A8088);
background-color: var(--color-secondary-disabled);
color: var(--color-secondary);
border: none;
border-radius: 12px;
cursor: pointer;
@ -94,15 +98,16 @@
align-items: center;
justify-content: center;
transition: background-color 0.2s ease, border-color 0.2s ease;
font-family: var(--font-family);
}
.attachment_button:hover {
background-color: #cce3e4;
color: var(--Brand-Green-Green, #3A8088);
background-color: var(--color-secondary-hover);
color: var(--color-bg);
}
.attachment_button:disabled {
background-color: #f5f5f5;
background-color: var(--color-surface);
cursor: not-allowed;
opacity: 0.6;
}
@ -120,11 +125,12 @@
align-items: center;
gap: 6px;
padding: 6px 8px;
background-color: #f0f8f8;
border: 1px solid #cce7e8;
background-color: var(--color-secondary-disabled);
border: 1px solid var(--color-secondary);
border-radius: 8px;
font-size: 12px;
color: #3a8088;
color: var(--color-secondary);
font-family: var(--font-family);
}
.attached_file_icon {
@ -141,7 +147,7 @@
.attached_file_remove {
background: none;
border: none;
color: #999;
color: var(--color-gray);
cursor: pointer;
padding: 0;
margin-left: 4px;
@ -155,15 +161,15 @@
}
.attached_file_remove:hover {
background-color: #ddd;
color: #666;
background-color: var(--color-gray-disabled);
color: var(--color-text);
}
.send_button {
padding: 12px 12px;
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
border: 1px solid var(--Brand-Green-Green, #3A8088);
background-color: var(--color-secondary);
color: var(--color-bg);
border: 1px solid var(--color-secondary);
border-radius: 12px;
cursor: pointer;
font-size: 14px;
@ -171,10 +177,11 @@
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font-family);
}
.send_button:hover {
background-color: #34737b;
background-color: var(--color-secondary-hover);
}
.send_button_icon {
@ -185,16 +192,16 @@
}
.send_button:disabled {
background-color: #ccc;
background-color: var(--color-gray-disabled);
cursor: not-allowed;
opacity: 0.6;
border: 1px solid #ccc;
border: 1px solid var(--color-gray-disabled);
}
.stop_button {
padding: 12px 12px;
background-color: #D85B65;
color: white;
background-color: var(--color-red);
color: var(--color-bg);
border: none;
border-radius: 12px;
cursor: pointer;
@ -203,45 +210,47 @@
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.stop_button:hover {
background-color: #c3525b;
background-color: var(--color-red-hover);
}
.stop_button:disabled {
background-color: #ccc;
background-color: var(--color-gray-disabled);
cursor: not-allowed;
opacity: 0.6;
}
.loading_message {
padding: 10px;
background-color: #e3f2fd;
border-left: 4px solid #2196f3;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin-bottom: 10px;
}
.loading_message p {
margin: 0;
color: #1976d2;
color: var(--color-secondary);
font-size: 14px;
font-family: var(--font-family);
}
.error_message {
padding: 10px;
background-color: #fceff0;
border-left: 4px solid #d85d67;
background-color: var(--color-red-disabled);
border-left: 4px solid var(--color-red);
border-radius: 4px;
margin-bottom: 10px;
}
.error_message p {
margin: 0;
color: #d85d67;
color: var(--color-red);
font-size: 14px;
font-family: var(--font-family);
}
.message {
@ -249,25 +258,26 @@
padding: 12px;
border-radius: 12px;
max-width: 80%;
font-family: var(--font-family);
}
.message_user {
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
margin-left: auto;
margin-right: 0;
}
.message_assistant {
background-color: #f5f5f5;
color: #333;
background-color: var(--color-surface);
color: var(--color-text);
margin-left: 0;
margin-right: auto;
}
.message_system {
background-color: #fff3cd;
color: #856404;
background-color: var(--color-primary-disabled);
color: var(--color-primary);
margin-left: auto;
margin-right: auto;
text-align: center;
@ -278,6 +288,7 @@
font-weight: 600;
margin-bottom: 4px;
opacity: 0.8;
font-family: var(--font-family);
}
.message_content {
@ -285,66 +296,72 @@
line-height: 1.4;
white-space: pre-wrap;
word-wrap: break-word;
font-family: var(--font-family);
}
.message_timestamp {
font-size: 11px;
margin-top: 4px;
opacity: 0.6;
font-family: var(--font-family);
}
.placeholder_text {
text-align: center;
color: #999;
color: var(--color-gray);
font-style: italic;
margin: 20px 0;
font-family: var(--font-family);
}
.workflow_status {
padding: 8px 12px;
background-color: #e6f2f2;
border-left: 4px solid #3a8088;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin: 10px 0;
margin-bottom: 10px;
}
.workflow_status p {
margin: 0;
color: #3a8088;
color: var(--color-secondary);
font-size: 13px;
font-style: italic;
font-family: var(--font-family);
}
.completion_message {
padding: 10px 12px;
background-color: #e6f2f2;
border-left: 4px solid #3a8088;
background-color: var(--color-secondary-disabled);
border-left: 4px solid var(--color-secondary);
border-radius: 4px;
margin: 10px 0;
margin-bottom: 10px;
text-align: center;
}
.completion_message p {
margin: 0 0 10px 0;
color: #3a8088;
color: var(--color-secondary);
font-size: 14px;
font-weight: 600;
font-family: var(--font-family);
}
.new_workflow_button {
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
border-radius: 15px;
border-radius: 8px;
padding: 8px 16px;
font-size: 12px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.new_workflow_button:hover {
background-color: #2d6b73;
background-color: var(--color-secondary-hover);
}
.message_documents {
@ -359,95 +376,105 @@
align-items: center;
gap: 8px;
padding: 8px 10px;
background-color: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 8px;
font-size: 13px;
transition: background-color 0.2s ease;
background-color: var(--color-bg);
border: 1px solid var(--color-gray-disabled);
border-radius: 6px;
cursor: pointer;
text-decoration: none;
color: inherit;
transition: all 0.2s ease;
font-size: 13px;
}
.document_item:hover {
background-color: rgba(255, 255, 255, 0.2);
border-color: var(--color-primary);
background-color: var(--color-surface);
}
.message_assistant .document_item {
background-color: rgba(0, 0, 0, 0.05);
border-color: rgba(0, 0, 0, 0.1);
background-color: var(--color-bg);
border-color: var(--color-gray-disabled);
}
.message_assistant .document_item:hover {
background-color: rgba(0, 0, 0, 0.1);
border-color: var(--color-primary);
background-color: var(--color-surface);
}
.document_icon {
width: 16px;
height: 16px;
font-size: 16px;
color: var(--color-secondary);
flex-shrink: 0;
opacity: 0.8;
}
.document_info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.document_name {
font-weight: 500;
white-space: nowrap;
color: var(--color-text);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-family: var(--font-family);
}
.document_meta {
font-size: 11px;
opacity: 0.7;
display: flex;
gap: 8px;
font-size: 11px;
color: var(--color-gray);
font-family: var(--font-family);
}
.document_size {
white-space: nowrap;
font-size: 11px;
color: var(--color-gray);
}
.document_type {
white-space: nowrap;
font-size: 11px;
color: var(--color-gray);
}
.document_actions {
display: flex;
gap: 4px;
margin-left: auto;
flex-shrink: 0;
opacity: 1;
transition: opacity 0.2s ease;
}
.document_item:hover .document_actions {
opacity: 1;
}
.document_action_button {
background: none;
border: none;
color: var(--color-gray);
cursor: pointer;
padding: 4px;
border-radius: 4px;
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border: none;
border-radius: 6px;
background-color: rgba(255, 255, 255, 0.15);
color: inherit;
cursor: pointer;
transition: background-color 0.2s ease;
font-size: 14px;
transition: all 0.2s ease;
}
.document_action_button:hover {
background-color: rgba(255, 255, 255, 0.25);
background-color: var(--color-surface);
color: var(--color-text);
}
.message_assistant .document_action_button {
background-color: rgba(0, 0, 0, 0.08);
color: var(--color-gray);
}
.message_assistant .document_action_button:hover {
background-color: rgba(0, 0, 0, 0.15);
background-color: var(--color-surface);
color: var(--color-text);
}

View file

@ -64,6 +64,15 @@ const MessageItem: React.FC<MessageItemProps> = ({ message, index }) => {
const [previewDocument, setPreviewDocument] = useState<Document | null>(null);
const [isPreviewOpen, setIsPreviewOpen] = useState(false);
// Debug logging to see if documents are present
console.log('MessageItem rendering:', {
messageId: message.id,
role: message.role,
hasDocuments: !!message.documents,
documentsLength: message.documents?.length || 0,
documents: message.documents
});
const handleDocumentClick = (document: Document) => {
// If there's a downloadUrl, use it; otherwise try the url
const downloadLink = document.downloadUrl || document.url;

View file

@ -13,7 +13,7 @@
}
.popup {
background: white;
background: var(--color-bg);
border-radius: 12px;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
max-width: 90vw;
@ -22,6 +22,7 @@
display: flex;
flex-direction: column;
overflow: hidden;
font-family: var(--font-family);
}
.header {
@ -29,8 +30,8 @@
align-items: center;
justify-content: space-between;
padding: 16px 20px;
border-bottom: 1px solid #e5e7eb;
background-color: #f9fafb;
border-bottom: 1px solid var(--color-gray-disabled);
background-color: var(--color-surface);
flex-shrink: 0;
}
@ -38,12 +39,13 @@
margin: 0;
font-size: 18px;
font-weight: 600;
color: #111827;
color: var(--color-text);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
margin-right: 16px;
font-family: var(--font-family);
}
.close_button {
@ -55,7 +57,7 @@
border: none;
border-radius: 8px;
background-color: transparent;
color: #6b7280;
color: var(--color-gray);
cursor: pointer;
transition: all 0.2s ease;
font-size: 18px;
@ -63,8 +65,8 @@
}
.close_button:hover {
background-color: #e5e7eb;
color: #374151;
background-color: var(--color-gray-disabled);
color: var(--color-text);
}
.content {
@ -81,10 +83,11 @@
display: flex;
align-items: center;
justify-content: center;
color: #6b7280;
color: var(--color-gray);
font-size: 16px;
width: 100%;
height: 100%;
font-family: var(--font-family);
}
.error {
@ -92,11 +95,12 @@
flex-direction: column;
align-items: center;
justify-content: center;
color: #dc2626;
color: var(--color-red);
font-size: 16px;
text-align: center;
width: 100%;
height: 100%;
font-family: var(--font-family);
}
.no_preview {
@ -104,11 +108,12 @@
flex-direction: column;
align-items: center;
justify-content: center;
color: #6b7280;
color: var(--color-gray);
font-size: 16px;
font-style: italic;
width: 100%;
height: 100%;
font-family: var(--font-family);
}
.image_preview {
@ -129,14 +134,14 @@
.text_preview {
width: 100%;
height: 100%;
background-color: #f8fafc;
border: 1px solid #e2e8f0;
background-color: var(--color-surface);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
padding: 16px;
font-family: 'Courier New', monospace;
font-size: 14px;
line-height: 1.5;
color: #334155;
color: var(--color-text);
overflow: auto;
white-space: pre-wrap;
word-wrap: break-word;
@ -146,15 +151,15 @@
.enhanced_text_preview {
width: 100%;
height: 100%;
background-color: #ffffff;
border: 1px solid #e2e8f0;
background-color: var(--color-bg);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
padding: 32px;
overflow: auto;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
font-family: var(--font-family);
box-sizing: border-box;
line-height: 1.7;
color: #374151;
color: var(--color-text);
}
.text_line {
@ -170,68 +175,70 @@
.text_header {
font-weight: 600;
font-size: 1.1em;
color: #1f2937;
color: var(--color-text);
margin: 16px 0 8px 0;
padding-bottom: 4px;
border-bottom: 1px solid #e5e7eb;
border-bottom: 1px solid var(--color-gray-disabled);
font-family: var(--font-family);
}
.text_numbered {
margin: 8px 0;
padding-left: 8px;
color: #4b5563;
color: var(--color-gray);
font-family: var(--font-family);
}
.text_bullet {
margin: 4px 0;
padding-left: 8px;
color: #4b5563;
color: var(--color-gray);
font-family: var(--font-family);
}
.text_indented {
background-color: #f8fafc;
background-color: var(--color-surface);
padding: 8px 12px;
margin: 4px 0;
border-left: 3px solid #d1d5db;
border-left: 3px solid var(--color-gray-disabled);
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 0.9em;
color: #6b7280;
color: var(--color-gray);
}
.code_preview {
width: 100%;
height: 100%;
background-color: #1f2937;
border: 1px solid #374151;
background-color: var(--color-surface);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
padding: 16px;
overflow: auto;
font-family: 'Courier New', monospace;
font-size: 14px;
line-height: 1.5;
color: #f9fafb;
overflow: auto;
white-space: pre-wrap;
word-wrap: break-word;
line-height: 1.4;
color: var(--color-text);
box-sizing: border-box;
display: flex;
flex-direction: column;
}
.python_code_preview {
width: 100%;
height: 100%;
background-color: #0d1117;
border: 1px solid #30363d;
background-color: var(--color-surface);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
overflow: hidden;
overflow: auto;
box-sizing: border-box;
display: flex;
flex-direction: column;
}
.code_header {
background-color: #161b22;
padding: 12px 16px;
border-bottom: 1px solid #30363d;
background-color: var(--color-gray-disabled);
padding: 8px 16px;
border-bottom: 1px solid var(--color-gray-disabled);
display: flex;
justify-content: space-between;
align-items: center;
@ -239,41 +246,38 @@
}
.code_language {
background-color: #1f6feb;
color: #ffffff;
padding: 4px 8px;
border-radius: 12px;
font-size: 12px;
font-weight: 500;
font-weight: 600;
color: var(--color-text);
text-transform: uppercase;
letter-spacing: 0.5px;
font-family: var(--font-family);
}
.code_filename {
color: #7d8590;
font-size: 14px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
font-weight: 500;
font-size: 12px;
color: var(--color-gray);
font-family: var(--font-family);
}
.python_code_content {
flex: 1;
margin: 0;
padding: 16px;
background-color: #0d1117;
color: #e6edf3;
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
font-size: 14px;
line-height: 1.6;
overflow: auto;
flex: 1;
background-color: var(--color-bg);
font-family: 'Courier New', monospace;
font-size: 14px;
line-height: 1.4;
color: var(--color-text);
white-space: pre;
tab-size: 4;
word-wrap: break-word;
}
.python_code_content code {
font-family: inherit;
font-size: inherit;
color: inherit;
font-family: 'Courier New', monospace;
font-size: 14px;
line-height: 1.4;
color: var(--color-text);
background: none;
padding: 0;
}
@ -281,157 +285,156 @@
.markdown_preview {
width: 100%;
height: 100%;
background-color: #ffffff;
border: 1px solid #e2e8f0;
background-color: var(--color-bg);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
padding: 24px;
padding: 32px;
overflow: auto;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
font-family: var(--font-family);
box-sizing: border-box;
line-height: 1.6;
color: var(--color-text);
}
.markdown_preview h1 {
font-size: 2em;
font-weight: 600;
font-weight: 700;
margin: 0 0 16px 0;
color: var(--color-text);
border-bottom: 2px solid var(--color-gray-disabled);
padding-bottom: 8px;
border-bottom: 1px solid #e2e8f0;
color: #1f2937;
}
.markdown_preview h2 {
font-size: 1.5em;
font-weight: 600;
margin: 24px 0 12px 0;
color: #374151;
color: var(--color-text);
}
.markdown_preview h3 {
font-size: 1.25em;
font-weight: 600;
margin: 20px 0 8px 0;
color: #4b5563;
margin: 20px 0 10px 0;
color: var(--color-text);
}
.markdown_preview h4,
.markdown_preview h5,
.markdown_preview h6 {
font-size: 1em;
font-size: 1.1em;
font-weight: 600;
margin: 16px 0 8px 0;
color: #6b7280;
color: var(--color-text);
}
.markdown_preview p {
margin: 0 0 16px 0;
line-height: 1.7;
color: #374151;
}
.markdown_preview ul,
.markdown_preview ol {
margin: 0 0 16px 20px;
padding-left: 20px;
line-height: 1.7;
}
.markdown_preview li {
margin: 4px 0;
line-height: 1.6;
color: #374151;
}
.markdown_preview blockquote {
margin: 16px 0;
padding: 12px 16px;
background-color: #f8fafc;
border-left: 4px solid #3b82f6;
color: #4b5563;
border-left: 4px solid var(--color-primary);
background-color: var(--color-surface);
font-style: italic;
color: var(--color-gray);
}
.markdown_preview code {
background-color: #f1f5f9;
padding: 2px 4px;
background-color: var(--color-surface);
padding: 2px 6px;
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 0.875em;
color: #dc2626;
font-size: 0.9em;
color: var(--color-secondary);
}
.markdown_preview pre {
background-color: #1f2937;
color: #f9fafb;
padding: 16px;
background-color: var(--color-surface);
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
overflow-x: auto;
padding: 16px;
margin: 16px 0;
overflow-x: auto;
font-family: 'Courier New', monospace;
font-size: 0.875em;
line-height: 1.5;
font-size: 14px;
line-height: 1.4;
}
.markdown_preview pre code {
background: none;
padding: 0;
color: inherit;
border-radius: 0;
color: var(--color-text);
}
.markdown_preview table {
width: 100%;
border-collapse: collapse;
width: 100%;
margin: 16px 0;
border: 1px solid #e2e8f0;
border: 1px solid var(--color-gray-disabled);
}
.markdown_preview th,
.markdown_preview td {
border: 1px solid var(--color-gray-disabled);
padding: 8px 12px;
text-align: left;
border: 1px solid #e2e8f0;
}
.markdown_preview th {
background-color: #f8fafc;
background-color: var(--color-surface);
font-weight: 600;
color: #374151;
}
.markdown_preview td {
color: #4b5563;
background-color: var(--color-bg);
}
.markdown_preview a {
color: #3b82f6;
color: var(--color-secondary);
text-decoration: underline;
}
.markdown_preview a:hover {
color: #1d4ed8;
color: var(--color-secondary-hover);
}
.markdown_preview hr {
border: none;
height: 1px;
background-color: #e2e8f0;
background-color: var(--color-gray-disabled);
margin: 24px 0;
}
.markdown_preview strong {
font-weight: 600;
color: #1f2937;
font-weight: 700;
color: var(--color-text);
}
.markdown_preview em {
font-style: italic;
color: #4b5563;
color: var(--color-gray);
}
/* Responsive design */
@media (max-width: 768px) {
.popup {
width: 95vw;
max-height: 95vh;
height: 85vh;
}
.header {
@ -447,6 +450,6 @@
}
.pdf_preview {
height: 400px;
height: calc(100% - 60px);
}
}

View file

@ -3,6 +3,7 @@
display: flex;
flex-direction: column;
overflow: hidden;
font-family: var(--font-family);
}
.container {
@ -24,16 +25,18 @@
.history_title {
font-size: 18px;
font-weight: 600;
color: #333;
color: var(--color-text);
margin: 0;
font-family: var(--font-family);
}
.workflowCount {
font-size: 14px;
color: #666;
background-color: #f5f5f5;
color: var(--color-gray);
background-color: var(--color-surface);
padding: 4px 12px;
border-radius: 12px;
font-family: var(--font-family);
}
.scrollableContent {
@ -53,9 +56,10 @@
align-items: center;
justify-content: center;
height: 200px;
color: #999;
color: var(--color-gray);
font-size: 16px;
text-align: center;
font-family: var(--font-family);
}
.loadingContainer {
@ -66,8 +70,9 @@
}
.loadingText {
color: #666;
color: var(--color-gray);
font-size: 16px;
font-family: var(--font-family);
}
.errorContainer {
@ -80,24 +85,26 @@
}
.errorText {
color: #f44336;
color: var(--color-red);
font-size: 16px;
text-align: center;
font-family: var(--font-family);
}
.retryButton {
background-color: #2196F3;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
padding: 8px 16px;
border-radius: 8px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.retryButton:hover {
background-color: #1976D2;
background-color: var(--color-secondary-hover);
}
/* Scrollbar styling */
@ -106,15 +113,15 @@
}
.scrollableContent::-webkit-scrollbar-track {
background: #f1f1f1;
background: var(--color-surface);
border-radius: 3px;
}
.scrollableContent::-webkit-scrollbar-thumb {
background: #c1c1c1;
background: var(--color-gray-disabled);
border-radius: 3px;
}
.scrollableContent::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
background: var(--color-gray);
}

View file

@ -1,14 +1,15 @@
.workflowItem {
background: white;
background: var(--color-bg);
border-radius: 12px;
border: 1px solid #e0e0e0;
border: 1px solid var(--color-gray-disabled);
margin-bottom: 12px;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
font-family: var(--font-family);
}
.workflowItem:hover {
border-color: #d0d0d0;
border-color: var(--color-gray);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
@ -31,9 +32,10 @@
.workflowId {
font-size: 16px;
font-weight: 600;
color: #333;
color: var(--color-text);
margin: 0 0 8px 0;
line-height: 1.2;
font-family: var(--font-family);
}
.workflowMeta {
@ -48,15 +50,18 @@
font-weight: 600;
padding: 4px 8px;
border-radius: 12px;
background-color: #f4f3f5;
background-color: var(--color-secondary-disabled);
color: var(--color-secondary);
font-family: var(--font-family);
}
.workflowRound {
font-size: 12px;
color: #888098;
background-color: #f4f3f5;
color: var(--color-gray);
background-color: var(--color-surface);
padding: 2px 6px;
border-radius: 8px;
font-family: var(--font-family);
}
.workflowDates {
@ -67,9 +72,10 @@
.workflowDate {
font-size: 12px;
color: #666;
color: var(--color-gray);
margin: 0;
line-height: 1.3;
font-family: var(--font-family);
}
.workflowDescription {
@ -79,27 +85,28 @@
.messagePreview {
margin-bottom: 8px;
padding: 8px;
background-color: #f4f3f5;
background-color: var(--color-surface);
border-radius: 6px;
border-left: 3px solid #888098;
border-left: 3px solid var(--color-gray);
}
.previewText {
font-size: 13px;
color: #888098;
color: var(--color-gray);
margin: 0;
line-height: 1.4;
word-break: break-word;
font-style: italic;
font-family: var(--font-family);
}
.workflowName {
font-size: 14px;
color: #555;
color: var(--color-gray);
margin: 0;
line-height: 1.4;
word-break: break-word;
font-family: var(--font-family);
}
.actionButtons {
@ -128,32 +135,33 @@
}
.resumeButton {
background-color: #3a8088;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
}
.resumeButton:hover:not(:disabled) {
background-color: #34737b;
background-color: var(--color-secondary-hover);
transform: translateY(-1px);
}
.deleteButton {
background-color: #d85b65;
color: white;
background-color: var(--color-red);
color: var(--color-bg);
}
.deleteButton:hover:not(:disabled) {
background-color: #c3525b;
background-color: var(--color-red-hover);
transform: translateY(-1px);
}
.deletingMessage {
padding: 8px 16px;
background-color: #fff3cd;
border-top: 1px solid #e0e0e0;
color: #856404;
background-color: var(--color-primary-disabled);
border-top: 1px solid var(--color-gray-disabled);
color: var(--color-primary);
font-size: 12px;
text-align: center;
font-family: var(--font-family);
}
@media (max-width: 768px) {

View file

@ -53,18 +53,18 @@ function DashboardChatHistoryItem({ workflow, onDelete, onResume }: DashboardCha
case 'completed':
case 'finished':
case 'done':
return '#3a8088';
return 'var(--color-secondary)';
case 'running':
case 'processing':
return '#888098';
return 'var(--color-gray)';
case 'error':
case 'failed':
return '#d85d67';
return 'var(--color-red)';
case 'stopped':
case 'cancelled':
return '#d85d67';
return 'var(--color-red)';
default:
return '#888098';
return 'var(--color-gray)';
}
};
@ -73,17 +73,17 @@ function DashboardChatHistoryItem({ workflow, onDelete, onResume }: DashboardCha
case 'completed':
case 'finished':
case 'done':
return '#e6f2f2';
return 'var(--color-secondary-disabled)';
case 'running':
case 'processing':
return '#f0f0f5';
return 'var(--color-gray-disabled)';
case 'error':
case 'failed':
case 'stopped':
case 'cancelled':
return '#fceff0';
return 'var(--color-red-disabled)';
default:
return '#f0f0f5';
return 'var(--color-gray-disabled)';
}
};

View file

@ -4,8 +4,7 @@
flex-direction: column;
align-self: stretch;
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
height: 100%;
@ -40,36 +39,36 @@
border: none;
background: none;
outline: none;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
cursor: default;
}
.log_title_collapsed {
opacity: 50%;
color: #A0A0A0;
color: var(--color-gray);
}
.collapseIcon {
cursor: pointer;
display: flex;
align-items: center;
color: #666;
color: var(--color-gray);
}
.collapseIcon:hover {
color: #333;
color: var(--color-gray);
}
.horizontalLine {
width: 100%;
background-color: black;
background-color: var(--color-gray);
height: 2px;
margin-top: 19px;
}
.horizontalLineLight {
width: calc(100%);
background-color: #F1F1F1;
background-color: var(--color-gray);
height: 2px;
margin-top: 39px;
margin-left: -20px;

View file

@ -4,12 +4,12 @@
flex-direction: column;
align-self: stretch;
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
width: 100%;
transition: height 0.3s ease;
font-family: var(--font-family);
}
.dashboard_prompt:not(.collapsed) {
@ -46,8 +46,9 @@
border: none;
background: none;
outline: none;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
transition: opacity 0.3s ease, color 0.3s ease;
font-family: var(--font-family);
}
.prompt_button_inactive {
@ -56,7 +57,7 @@
.prompt_button_collapsed {
opacity: 50%;
color: #A0A0A0;
color: var(--color-gray);
}
.buttonWrapper {
@ -68,17 +69,17 @@
cursor: pointer;
display: flex;
align-items: center;
color: #666;
color: var(--color-gray);
transition: color 0.3s ease;
}
.expandIcon:hover {
color: #333;
color: var(--color-text);
}
.horizontalLine {
width: 100%;
background-color: black;
background-color: var(--color-text);
height: 2px;
margin-top: 19px;
transition: opacity 0.3s ease;
@ -86,7 +87,7 @@
.horizontalLineLight {
width: calc(100%);
background-color: #F1F1F1;
background-color: var(--color-gray-disabled);
height: 2px;
margin-top: 39px;
margin-left: -20px;
@ -111,6 +112,7 @@
opacity: 1;
position: relative;
}
.content_collapsed {
opacity: 0;
max-height: 0;
@ -142,10 +144,12 @@
will-change: transform, opacity;
transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.3s cubic-bezier(0.4,0,0.2,1);
}
.collapseContent.collapsed {
transform: translateY(-100%);
opacity: 0;
}
.collapseContent.expanded {
transform: translateY(0);
opacity: 1;

View file

@ -2,6 +2,7 @@
display: flex;
flex-direction: column;
overflow: hidden;
font-family: var(--font-family);
}
.header {
@ -16,8 +17,8 @@
.addButton {
border-radius: 30px;
background: var(--Brand-Green-Green, #3A8088);
color: white;
background: var(--color-secondary);
color: var(--color-bg);
border: none;
outline: none;
text-align: left;
@ -28,15 +29,19 @@
display: flex;
gap: 10px;
align-items: center;
font-family: var(--font-family);
transition: background-color 0.2s ease;
}
.addButton:hover {
cursor: pointer;
background: var(--color-secondary-hover);
}
.promptCount {
font-size: 0.875rem;
color: #6b7280;
color: var(--color-gray);
font-family: var(--font-family);
}
.scrollableContent {
@ -57,12 +62,12 @@
}
.scrollableContent::-webkit-scrollbar-thumb {
background: #ccc;
background: var(--color-gray-disabled);
border-radius: 3px;
}
.scrollableContent::-webkit-scrollbar-thumb:hover {
background: #999;
background: var(--color-gray);
}
.promptsList {
@ -80,39 +85,43 @@
}
.loadingText {
color: #6b7280;
color: var(--color-gray);
font-family: var(--font-family);
}
.errorContainer {
padding: 1rem;
background-color: #fef2f2;
border: 1px solid #fecaca;
background-color: var(--color-red-disabled);
border: 1px solid var(--color-red);
border-radius: 0.5rem;
}
.errorText {
color: #b91c1c;
color: var(--color-red);
font-family: var(--font-family);
}
.retryButton {
margin-top: 0.5rem;
padding: 0.5rem 1rem;
background-color: #dc2626;
color: white;
background-color: var(--color-red);
color: var(--color-bg);
border-radius: 0.375rem;
border: none;
cursor: pointer;
transition: background-color 0.2s;
font-family: var(--font-family);
}
.retryButton:hover {
background-color: #b91c1c;
background-color: var(--color-red-hover);
}
.emptyState {
text-align: center;
padding: 2rem;
color: #6b7280;
color: var(--color-gray);
font-family: var(--font-family);
}

View file

@ -1,5 +1,5 @@
.promptItem {
background: var(--Grayscale-Light-Gray, #F9F9F9);
background: var(--color-surface);
border-radius: 30px;
display: flex;
padding: 20px;
@ -7,7 +7,7 @@
align-items: flex-start;
align-self: stretch;
justify-content: top;
font-family: 'Avenir', sans-serif;
font-family: var(--font-family);
gap: 11px;
font-size: 14px;
}
@ -28,13 +28,15 @@
.promptName {
font-weight: 400;
color: #000;
color: var(--color-text);
margin:0;
font-family: var(--font-family);
}
.promptDate {
font: 14px;
color: #6b7280;
color: var(--color-gray);
font-family: var(--font-family);
}
.promptText {
@ -44,6 +46,8 @@
min-height: 0;
opacity: 0.5;
margin:0;
color: var(--color-text);
font-family: var(--font-family);
}
.promptText.p {
@ -60,10 +64,12 @@
.actionButton {
padding: 0.5rem;
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-secondary);
color: var(--color-bg);
cursor: pointer;
border: none;
font-family: var(--font-family);
transition: background-color 0.2s ease;
}
.actionButton:disabled {
@ -73,39 +79,39 @@
.runButton {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-secondary);
color: var(--color-bg);
}
.runButton:hover:not(:disabled) {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-secondary-hover);
color: var(--color-bg);
cursor: pointer;
}
.shareButton {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-secondary);
color: var(--color-bg);
}
.shareButton:hover:not(:disabled) {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-secondary-hover);
color: var(--color-bg);
}
.deleteButton {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-red);
color: var(--color-bg);
}
.deleteButton:hover:not(:disabled) {
border-radius: 12px;
background: var(--Brand-Green-Green, #3A8088);
color: #fff;
background: var(--color-red-hover);
color: var(--color-bg);
}
.promptContent {
@ -120,15 +126,17 @@
.errorMessage {
margin-top: 0.75rem;
padding: 0.5rem;
background-color: #fef2f2;
border: 1px solid #fecaca;
background-color: var(--color-red-disabled);
border: 1px solid var(--color-red);
border-radius: 0.25rem;
font-size: 0.875rem;
color: #b91c1c;
color: var(--color-red);
font-family: var(--font-family);
}
.deletingMessage {
margin-top: 0.75rem;
font-size: 0.875rem;
color: #6b7280;
color: var(--color-gray);
font-family: var(--font-family);
}

View file

@ -3,6 +3,7 @@
flex-direction: column;
height: 100%;
position: relative;
font-family: var(--font-family);
}
.cancelContainer {
@ -17,19 +18,20 @@
align-items: center;
gap: 4px;
padding: 8px 16px;
background: white;
border: 1px solid #ddd;
background: var(--color-bg);
border: 1px solid var(--color-gray-disabled);
border-radius: 20px;
color: #666;
color: var(--color-gray);
font-size: 14px;
cursor: pointer;
transition: all 0.2s;
font-family: Arial, Helvetica, sans-serif;
font-family: var(--font-family);
}
.cancelButton:hover {
background-color: #f5f5f5;
border-color: #ccc;
background-color: var(--color-surface);
border-color: var(--color-gray);
color: var(--color-text);
}
.cancelIcon {

View file

@ -13,7 +13,7 @@
}
.modal {
background: white;
background: var(--color-bg);
border-radius: 12px;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
max-width: 90vw;
@ -23,6 +23,7 @@
display: flex;
flex-direction: column;
overflow: hidden;
font-family: var(--font-family);
}
.header {
@ -30,8 +31,8 @@
align-items: center;
justify-content: space-between;
padding: 20px;
border-bottom: 1px solid #e5e7eb;
background-color: #f9fafb;
border-bottom: 1px solid var(--color-gray-disabled);
background-color: var(--color-surface);
flex-shrink: 0;
}
@ -39,7 +40,8 @@
margin: 0;
font-size: 20px;
font-weight: 600;
color: #111827;
color: var(--color-text);
font-family: var(--font-family);
}
.closeButton {
@ -51,15 +53,15 @@
border: none;
border-radius: 8px;
background-color: transparent;
color: #6b7280;
color: var(--color-gray);
cursor: pointer;
transition: all 0.2s ease;
font-size: 18px;
}
.closeButton:hover {
background-color: #e5e7eb;
color: #374151;
background-color: var(--color-gray-disabled);
color: var(--color-text);
}
.content {
@ -71,8 +73,8 @@
.tabNavigation {
display: flex;
border-bottom: 1px solid #e5e7eb;
background-color: #f9fafb;
border-bottom: 1px solid var(--color-gray-disabled);
background-color: var(--color-surface);
padding: 0 20px;
}
@ -80,22 +82,23 @@
padding: 12px 16px;
border: none;
background: none;
color: #6b7280;
color: var(--color-gray);
font-size: 14px;
font-weight: 500;
cursor: pointer;
border-bottom: 2px solid transparent;
transition: all 0.2s ease;
white-space: nowrap;
font-family: var(--font-family);
}
.tabButton:hover {
color: #374151;
color: var(--color-text);
}
.tabButton.active {
color: var(--Brand-Green-Green, #3A8088);
border-bottom-color: var(--Brand-Green-Green, #3A8088);
color: var(--color-secondary);
border-bottom-color: var(--color-secondary);
}
.actionBar {
@ -103,8 +106,8 @@
align-items: center;
justify-content: space-between;
padding: 16px 20px;
border-bottom: 1px solid #e5e7eb;
background-color: #ffffff;
border-bottom: 1px solid var(--color-gray-disabled);
background-color: var(--color-bg);
}
.selectionControls {
@ -118,24 +121,26 @@
align-items: center;
gap: 8px;
padding: 8px 12px;
border: 1px solid #d1d5db;
border: 1px solid var(--color-gray-disabled);
border-radius: 6px;
background-color: #ffffff;
color: #374151;
background-color: var(--color-bg);
color: var(--color-text);
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
font-family: var(--font-family);
}
.selectAllButton:hover {
background-color: #f9fafb;
border-color: #9ca3af;
background-color: var(--color-surface);
border-color: var(--color-gray);
}
.selectionCount {
font-size: 14px;
color: #6b7280;
color: var(--color-gray);
font-weight: 500;
font-family: var(--font-family);
}
.uploadButton {
@ -145,16 +150,17 @@
padding: 10px 16px;
border: none;
border-radius: 8px;
background-color: var(--Brand-Green-Green, #3A8088);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.uploadButton:hover {
background-color: #2d6b73;
background-color: var(--color-secondary-hover);
}
.fileListContainer {
@ -170,13 +176,14 @@
align-items: center;
justify-content: center;
height: 200px;
color: #6b7280;
color: var(--color-gray);
font-size: 16px;
text-align: center;
font-family: var(--font-family);
}
.error {
color: #dc2626;
color: var(--color-red);
}
.selectableFileList {
@ -190,21 +197,21 @@
align-items: center;
gap: 12px;
padding: 12px;
border: 1px solid #e5e7eb;
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
background-color: #ffffff;
background-color: var(--color-bg);
cursor: pointer;
transition: all 0.2s ease;
}
.selectableFileItem:hover {
background-color: #f9fafb;
border-color: #d1d5db;
background-color: var(--color-surface);
border-color: var(--color-primary);
}
.selectableFileItem.selected {
background-color: #f0f8f8;
border-color: var(--Brand-Green-Green, #3A8088);
background-color: var(--color-primary-disabled);
border-color: var(--color-primary);
}
.fileCheckbox {

View file

@ -14,18 +14,19 @@
.h2 {
font-size: 24px;
font-weight: 600;
font-family: 'Arial', sans-serif;
font-family: var(--font-family);
color: var(--color-text);
}
.modal {
background: white;
background: var(--color-bg);
padding: 35px 40px 30px 40px;
border-radius: 30px;
width: 90%;
max-width: 500px;
position: relative;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
font-family: var(--font-family);
}
.modalHeader {
@ -38,7 +39,8 @@
.modalHeader h2 {
margin: 0;
font-size: 1.5rem;
color: #333;
color: var(--color-text);
font-family: var(--font-family);
}
.closeButton {
@ -46,7 +48,7 @@
border: none;
font-size: 1.5rem;
cursor: pointer;
color: #666;
color: var(--color-gray);
padding: 0.25rem;
display: flex;
align-items: center;
@ -54,7 +56,7 @@
}
.closeButton:hover {
color: #333;
color: var(--color-text);
}
.closeButton:disabled {
@ -68,49 +70,52 @@
margin-bottom: 1rem;
text-align: center;
font-weight: 500;
font-family: var(--font-family);
}
.uploadStatus.success {
background-color: #e6f2f2;
color: #3a8088;
border: 1px solid #3a8088;
background-color: var(--color-secondary-disabled);
color: var(--color-secondary);
border: 1px solid var(--color-secondary);
}
.uploadStatus.error {
background-color: #fceff0;
color: #d85d67;
border: 1px solid #d85d67;
background-color: var(--color-red-disabled);
color: var(--color-red);
border: 1px solid var(--color-red);
}
.dropzone {
border: 2px dashed #ccc;
border: 2px dashed var(--color-gray-disabled);
border-radius: 15px;
padding: 2rem;
text-align: center;
cursor: pointer;
margin: 1rem 0;
transition: all 0.3s ease;
background-color: var(--color-bg);
}
.dropzone.active {
border-color: #3a8088;
background-color: #e6f2f2;
border-color: var(--color-secondary);
background-color: var(--color-secondary-disabled);
}
.dropzone.uploading {
border-color: #3a8088;
background-color: #e6f2f2;
border-color: var(--color-secondary);
background-color: var(--color-secondary-disabled);
cursor: wait;
}
.uploadIcon {
font-size: 3rem;
color: #666;
color: var(--color-gray);
margin-bottom: 1rem;
}
.dropzoneText {
color: #666;
color: var(--color-gray);
font-family: var(--font-family);
}
.dropzoneText p {
@ -118,43 +123,41 @@
}
.browseButton {
background-color: #3a8088;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
padding: 0.5rem 1rem;
border-radius: 15px;
cursor: pointer;
font-family: var(--font-family);
}
.browseButton:hover {
background-color: #34737b;
background-color: var(--color-secondary-hover);
}
.browseButton:disabled {
background-color: #f4f3f5;
color: #888098;
background-color: var(--color-gray-disabled);
color: var(--color-gray);
cursor: not-allowed;
}
.uploadButton {
background-color: #3a8088;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
padding: 0.5rem 1rem;
border-radius: 15px;
cursor: pointer;
font-family: var(--font-family);
}
.uploadButton:hover {
background-color: #34737b;
background-color: var(--color-secondary-hover);
}
.uploadButton:disabled {
background-color: #f4f3f5;
color: #888098;
background-color: var(--color-gray-disabled);
color: var(--color-gray);
cursor: not-allowed;
}

View file

@ -4,12 +4,13 @@
height: 60px;
padding: 0px 16px;
justify-content: space-between;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.fileItem:hover {
background-color: #f9f9f9;
background-color: var(--color-surface);
}
/* Column layout matching the header structure */
@ -18,8 +19,9 @@
align-items: center;
overflow: hidden;
font-weight: 500;
color: #333;
color: var(--color-text);
padding-left: 14px; /* Align with table header */
font-family: var(--font-family);
}
.fileName span {
@ -31,28 +33,31 @@
.fileType {
font-size: 14px;
color: #666;
color: var(--color-gray);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: flex;
flex-direction: column;
gap: 2px;
font-family: var(--font-family);
}
.fileSource {
font-size: 12px;
color: #888;
color: var(--color-gray-hover);
font-weight: 400;
opacity: 0.8;
font-family: var(--font-family);
}
.fileSize {
font-size: 14px;
color: #666;
color: var(--color-gray);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-family: var(--font-family);
}
.fileDateWithActions {
@ -64,16 +69,17 @@
.fileDate {
font-size: 14px;
color: #666;
color: var(--color-gray);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-right: 8px;
font-family: var(--font-family);
}
.icon {
font-size: 18px;
color: #757575;
color: var(--color-gray);
flex-shrink: 0;
}
@ -95,34 +101,35 @@
border: none;
border-radius: 4px;
background-color: transparent;
color: var(--text-color-secondary, #666);
color: var(--color-gray);
cursor: pointer;
transition: all 0.2s ease;
min-width: 32px;
font-family: var(--font-family);
}
.downloadButton:hover:not(:disabled),
.deleteButton:hover:not(:disabled),
.previewButton:hover:not(:disabled) {
background-color: var(--background-color-hover, #e8e8e8);
color: var(--text-color-primary, #333);
background-color: var(--color-surface);
color: var(--color-text);
}
.deleteButton:hover:not(:disabled) {
color: #dc2626;
color: var(--color-red);
}
.previewButton:hover:not(:disabled) {
color: #3b82f6;
color: var(--color-secondary);
}
.deleteButton.confirm {
background-color: #fee2e2;
color: #dc2626;
background-color: var(--color-red-disabled);
color: var(--color-red);
}
.deleteButton.confirm:hover:not(:disabled) {
background-color: #fecaca;
background-color: var(--color-red-hover);
}
.downloadButton:disabled,
@ -139,18 +146,19 @@
.downloadButton.downloading,
.deleteButton.deleting {
background-color: var(--background-color-light, #f5f5f5);
background-color: var(--color-surface);
}
.actionText {
font-size: 12px;
color: var(--text-color-secondary, #666);
color: var(--color-gray);
animation: pulse 1.5s infinite;
white-space: nowrap;
font-family: var(--font-family);
}
.deleteButton.confirm .actionText {
color: #dc2626;
color: var(--color-red);
animation: none;
}

View file

@ -4,8 +4,9 @@
justify-content: center;
align-items: center;
padding: 60px 20px;
color: var(--text-color-secondary, #666);
color: var(--color-gray);
font-style: italic;
font-family: var(--font-family);
}
/* Files table container */
@ -30,8 +31,8 @@
position: sticky;
top: 0;
z-index: 10;
background-color: #fff;
border-bottom: 1px solid #f1f1f1;
background-color: var(--color-bg);
border-bottom: 1px solid var(--color-gray-disabled);
margin-bottom: 10px;
flex-shrink: 0;
}
@ -42,15 +43,16 @@
align-items: center;
font-weight: 500;
font-size: 14px;
color: #333;
color: var(--color-text);
cursor: pointer;
white-space: nowrap;
padding-left: 0;
transition: color 0.2s ease;
font-family: var(--font-family);
}
.headerCell:hover {
color: var(--Grayscale-Black, #24262B);
color: var(--color-primary);
}
/* Adjust first column for icon space */
@ -62,12 +64,12 @@
.sortIcon {
margin-left: 6px;
font-size: 14px;
color: #666;
color: var(--color-gray);
transition: color 0.2s ease;
}
.headerCell:hover .sortIcon {
color: var(--Grayscale-Black, #24262B);
color: var(--color-primary);
}
/* File list styling */
@ -85,7 +87,7 @@
.filesList li {
display: grid !important;
grid-template-columns: 45% 15% 15% 25%;
border-bottom: 1px solid #f1f1f1;
border-bottom: 1px solid var(--color-gray-disabled);
height: 60px;
padding: 0 16px;
align-items: center;
@ -94,7 +96,7 @@
}
.filesList li:hover {
background-color: #f9f9f9;
background-color: var(--color-surface);
}

View file

@ -4,7 +4,8 @@
height: 70px;
padding: 0px 16px;
justify-content: space-between;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
font-family: var(--font-family);
}
.userProfile {
@ -13,7 +14,7 @@
.profileIcon {
font-size: 36px;
color: var(--Grayscale-Gray, #E9E9E9);
color: var(--color-gray-disabled);
}
.userInfo {
@ -27,6 +28,8 @@
.userName {
margin: 0;
font-size: 14px;
color: var(--color-text);
font-family: var(--font-family);
}
.userEmail,
@ -34,20 +37,21 @@
margin: 0;
font-size: 12px;
font-weight: light;
color: var(--color-gray);
font-family: var(--font-family);
}
.actions {
display: flex;
align-items: center;
justify-content: center;
}
.editBtn:hover {
color: var(--Brand-Green-Green, #3A8088);
color: var(--color-secondary);
}
.deleteBtn:hover {
color: var(--Brand-Green-Green, #3A8088);
color: var(--color-red);
}

View file

@ -1,13 +1,14 @@
/* Allgemeine Stile */
.sidebarContainer {
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
border: none;
background: var(--color-bg);
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
width: 240px;
flex-shrink: 0;
margin-top: 51px;
margin-left: 49px;
padding-bottom: 1px;
}
.sidebar {
@ -17,21 +18,23 @@
align-items: flex-start;
flex-shrink: 0;
margin: 0 0 30px 0;
font-family: var(--font-family);
}
.logoContainer {
display: flex;
width: 200px;
height: 60px;
padding: 13px 20px;
padding: 13px 20px 7px 20px;
justify-content: center;
align-items: flex-start;
align-items: center;
flex-shrink: 0;
}
.logo {
max-width: 100%;
max-width: 80%;
height: auto;
color: var(--color-primary);
}

View file

@ -22,7 +22,7 @@ const Sidebar: React.FC<SidebarProps> = ({ data }) => {
return (
<div className={styles.sidebarContainer}>
<div className={styles.logoContainer}>
<img src="..\..\..\src\assets\LogoPowerOn.png" alt="Logo" className={styles.logo} />
<img src="..\..\..\src\assets\logos\PowerOn_transparent.png" alt="Logo" className={styles.logo} />
</div>
<div>

View file

@ -50,7 +50,7 @@ const useSidebarData = () => {
{
id: '7',
name: 'Settings',
link: '',
link: 'einstellungen',
icon: GoGear,
},
{

View file

@ -12,24 +12,24 @@
padding: 0 3px 0 15px;
align-items: center;
gap: 9px;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
}
.menu li:hover, .menu li.active {
background: var(--Brand-Purple-Purple, #5F59D4);
color: white;
background: var(--color-secondary);
color: var(--color-bg);
border-top-right-radius: 12px;
border-bottom-right-radius: 12px;
}
.menu li:hover a, .menu li.active a {
color: white;
color: var(--color-bg);
text-decoration: none;
}
.menu li a {
text-decoration: none;
font-family: Avenir, Helvetica, Arial, sans-serif;
font-family: var(--font-family);
font-size: 14px;
font-style: normal;
font-weight: 500;

View file

@ -1,6 +1,6 @@
.submenu {
position: relative;
background-color: white;
background-color: var(--color-bg);
overflow: hidden;
}
@ -19,7 +19,7 @@
.verticalLine {
width: 1px;
background-color: #F1F1F1;
background-color: var(--color-gray-disabled);
margin-left: 46px;
margin-right: -40px;
}
@ -32,7 +32,7 @@
.submenuList li {
width: 153px;
height: 20px;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
margin: 4px 0;
position: relative;
overflow: hidden;
@ -44,10 +44,11 @@
font-style: normal;
font-weight: 500;
line-height: normal;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
text-decoration: none;
display: block;
overflow: hidden;
font-family: var(--font-family);
}
.textContainer {

View file

@ -7,6 +7,7 @@
flex-direction: column;
align-items: flex-start;
gap: 8px;
font-family: var(--font-family);
}
.user_info {
@ -18,7 +19,7 @@
.user_icon {
font-size: 40px;
color: #666;
color: var(--color-gray);
flex-shrink: 0;
}
@ -32,32 +33,37 @@
margin: 0;
font-size: 16pt;
line-height: 1.2;
color: var(--color-text);
font-family: var(--font-family);
}
.user_section p {
margin: 0;
font-size: 0.9rem;
color: #666;
color: var(--color-gray);
font-family: var(--font-family);
}
.logout_button {
margin-top: 4px;
padding: 8px 16px;
background-color: var(--Brand-Purple-Purple, #5F59D4);
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
border: none;
border-radius: 4px;
border-radius: 15px;
cursor: pointer;
font-size: 14px;
font-family: var(--font-family);
transition: background-color 0.2s;
width: 100%;
}
.logout_button:hover {
background-color: var(--color-secondary-hover);
cursor: pointer;
}
.logout_button:active {
background-color: #b71c1c;
background-color: var(--color-red);
}

View file

@ -3,6 +3,7 @@
display: flex;
flex-direction: column;
gap: 20px;
font-family: var(--font-family);
}
.chatLogContainer {

View file

@ -5,17 +5,18 @@
flex-direction: column;
align-self: stretch;
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
border: 1px solid var(--color-gray-disabled);
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
max-height: calc(100vh - 100px);
overflow: hidden;
font-family: var(--font-family);
}
.horizontalLineLight {
width: calc(100% + 60px);
background-color: #F1F1F1;
background-color: var(--color-gray-disabled);
height: 1px;
margin-left: -30px;
margin-bottom: 0;
@ -34,8 +35,8 @@
.datei_hinzufügen_button {
border-radius: 30px;
background: #3a8080;
color: #fff;
background: var(--color-secondary);
color: var(--color-bg);
border: none;
outline: none;
text-align: left;
@ -48,11 +49,12 @@
align-items: center;
flex-shrink: 0;
transition: background-color 0.2s ease;
font-family: var(--font-family);
}
.datei_hinzufügen_button:hover {
cursor: pointer;
background-color: #34737b;
background-color: var(--color-secondary-hover);
}
.add_icon {
@ -87,19 +89,19 @@
transition: all 0.2s ease;
white-space: nowrap;
position: relative;
font-family: var(--font-family);
}
.tabButtonActive {
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
}
.tabButtonInactive {
color: #A0A0A0;
color: var(--color-gray);
}
.tabButtonInactive:hover {
background-color: var(--background-color-hover, #f5f5f5);
color: var(--text-color-primary, #333);
color: var(--color-text);
}
.tabUnderline {
@ -107,7 +109,7 @@
bottom: -2px;
left: 0;
height: 1px;
background-color: var(--Grayscale-Black, #24262B);
background-color: var(--color-text);
border-radius: 1px;
}

View file

@ -0,0 +1,168 @@
.einstellungenContainer {
margin: 51px 49px 0 36px;
display: flex;
flex-direction: column;
align-self: stretch;
max-height: calc(100vh - 100px);
overflow: hidden;
font-family: var(--font-family);
}
.contentWrapper {
flex: 1;
overflow-y: auto;
padding: 20px 0;
}
.settingsCard {
display: flex;
padding: 30px;
flex-direction: column;
align-self: stretch;
border-radius: 30px;
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
max-width: 800px;
margin: 0 auto;
gap: 30px;
}
.title {
font-size: 2rem;
font-weight: 600;
color: var(--color-text);
margin: 0 0 20px 0;
font-family: var(--font-family);
}
.settingsSection {
display: flex;
flex-direction: column;
gap: 20px;
}
.sectionTitle {
font-size: 1.25rem;
font-weight: 500;
color: var(--color-text);
margin: 0;
padding-bottom: 10px;
border-bottom: 1px solid var(--color-gray-disabled);
font-family: var(--font-family);
}
.settingItem {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background: var(--color-surface);
border-radius: 20px;
gap: 20px;
}
.settingInfo {
display: flex;
flex-direction: column;
gap: 5px;
flex: 1;
}
.settingLabel {
font-size: 1rem;
font-weight: 500;
color: var(--color-text);
font-family: var(--font-family);
}
.settingDescription {
font-size: 0.875rem;
color: var(--color-gray);
font-family: var(--font-family);
}
.themeToggle {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 20px;
border-radius: 25px;
border: 2px solid var(--color-gray-disabled);
background: var(--color-bg);
color: var(--color-text);
cursor: pointer;
transition: all 0.3s ease;
font-family: var(--font-family);
font-size: 0.875rem;
font-weight: 500;
min-width: 120px;
}
.themeToggle:hover {
border-color: var(--color-secondary);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(63, 81, 181, 0.15);
}
.themeToggle.light {
background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-surface) 100%);
}
.themeToggle.dark {
background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-bg) 100%);
border-color: var(--color-primary);
}
.themeToggle.dark:hover {
border-color: var(--color-primary-hover);
box-shadow: 0 4px 12px rgba(178, 102, 255, 0.15);
}
.toggleSlider {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--color-secondary);
transition: all 0.3s ease;
}
.dark .toggleSlider {
background: var(--color-primary);
}
.toggleIcon {
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.toggleLabel {
color: var(--color-text);
font-weight: 500;
}
/* Responsive design */
@media (max-width: 768px) {
.einstellungenContainer {
margin: 20px;
}
.settingsCard {
padding: 20px;
}
.settingItem {
flex-direction: column;
align-items: flex-start;
gap: 15px;
}
.themeToggle {
align-self: flex-end;
}
}

View file

@ -0,0 +1,82 @@
import React, { useState, useEffect } from 'react';
import styles from './Einstellungen.module.css';
function Einstellungen() {
const [isDarkMode, setIsDarkMode] = useState(false);
// Load saved theme preference on component mount
useEffect(() => {
const savedTheme = localStorage.getItem('theme');
const prefersDark = savedTheme === 'dark' || (!savedTheme && window.matchMedia('(prefers-color-scheme: dark)').matches);
setIsDarkMode(prefersDark);
applyTheme(prefersDark);
}, []);
const applyTheme = (isDark: boolean) => {
if (isDark) {
document.documentElement.classList.add('dark-theme');
document.documentElement.classList.remove('light-theme');
} else {
document.documentElement.classList.add('light-theme');
document.documentElement.classList.remove('dark-theme');
}
document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light');
};
const toggleTheme = () => {
const newIsDarkMode = !isDarkMode;
setIsDarkMode(newIsDarkMode);
applyTheme(newIsDarkMode);
localStorage.setItem('theme', newIsDarkMode ? 'dark' : 'light');
};
return (
<div className={styles.einstellungenContainer}>
<div className={styles.contentWrapper}>
<div className={styles.settingsCard}>
<h1 className={styles.title}>Einstellungen</h1>
<div className={styles.settingsSection}>
<h2 className={styles.sectionTitle}>Darstellung</h2>
<div className={styles.settingItem}>
<div className={styles.settingInfo}>
<span className={styles.settingLabel}>Theme</span>
<span className={styles.settingDescription}>
Wechseln Sie zwischen hellem und dunklem Modus
</span>
</div>
<button
className={`${styles.themeToggle} ${isDarkMode ? styles.dark : styles.light}`}
onClick={toggleTheme}
aria-label={isDarkMode ? 'Zu hellem Modus wechseln' : 'Zu dunklem Modus wechseln'}
>
<div className={styles.toggleSlider}>
<div className={styles.toggleIcon}>
{isDarkMode ? '🌙' : '☀️'}
</div>
</div>
<span className={styles.toggleLabel}>
{isDarkMode ? 'Dunkel' : 'Hell'}
</span>
</button>
</div>
</div>
<div className={styles.settingsSection}>
<h2 className={styles.sectionTitle}>Über</h2>
<div className={styles.settingItem}>
<div className={styles.settingInfo}>
<span className={styles.settingLabel}>Version</span>
<span className={styles.settingDescription}>1.0.0</span>
</div>
</div>
</div>
</div>
</div>
</div>
);
}
export default Einstellungen;

View file

@ -1,10 +1,10 @@
.homeContainer {
position: relative;
background-color: #F7F7F7;
background-color: var(--color-surface);
min-height: calc(100vh - 15px);
max-height: calc(100vh - 15px);
width: 100%;
font-family: Arial, Helvetica, sans-serif;
font-family: var(--font-family);
z-index: 0;
overflow: hidden;
padding: 0 49px 0 36px;
@ -16,10 +16,9 @@
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background-image: url('../../assets/background.png');
background-repeat: repeat;
background-size: 50px;
opacity: 0.2; /* Adjust this to your liking */
background-image: radial-gradient(circle, var(--color-gray-disabled) 1px, transparent 1px);
background-size: 8px 8px;
opacity: 0.4;
z-index: -1;
pointer-events: none;
}

View file

@ -1,7 +1,7 @@
.container {
display: flex;
min-height: 100vh;
background-color: #ffffff;
background-color: var(--color-bg);
}
.leftPanel {
@ -9,12 +9,12 @@
display: flex;
flex-direction: column;
padding: 3rem;
background-color: #ffffff;
background-color: var(--color-bg);
}
.rightPanel {
flex: 1;
background-color: #ffffff;
background-color: var(--color-bg);
display: flex;
align-items: center;
justify-content: center;
@ -38,7 +38,8 @@
font-size: 2rem;
font-weight: 600;
margin-bottom: 2rem;
color: #1a1a1a;
color: var(--color-text);
font-family: var(--font-family);
}
.loginForm {
@ -50,21 +51,23 @@
.input {
width: 100%;
padding: 12px 16px;
border: 1px solid #e0e0e0;
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
font-size: 1rem;
transition: all 0.2s ease;
background-color: #ffffff;
background-color: var(--color-bg);
color: var(--color-text);
font-family: var(--font-family);
}
.input:focus {
outline: none;
border-color: #0078d4;
box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.1);
border-color: var(--color-secondary);
box-shadow: 0 0 0 2px rgba(63, 81, 181, 0.1);
}
.input::placeholder {
color: #757575;
color: var(--color-gray);
}
.button {
@ -77,24 +80,25 @@
transition: all 0.2s ease;
border: none;
text-align: center;
font-family: var(--font-family);
}
.primaryButton {
background-color: #0078d4;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
}
.primaryButton:hover {
background-color: #006cbd;
background-color: var(--color-secondary-hover);
}
.microsoftButton {
background-color: #2f2f2f;
color: white;
background-color: var(--color-text);
color: var(--color-bg);
}
.microsoftButton:hover {
background-color: #1f1f1f;
background-color: var(--color-gray);
}
.divider {
@ -108,13 +112,14 @@
.divider::after {
content: '';
flex: 1;
border-bottom: 1px solid #e0e0e0;
border-bottom: 1px solid var(--color-gray-disabled);
}
.divider span {
padding: 0 1rem;
color: #757575;
color: var(--color-gray);
font-size: 0.9rem;
font-family: var(--font-family);
}
.registerLink {
@ -126,18 +131,20 @@
}
.registerLink span {
color: #757575;
color: var(--color-gray);
font-size: 0.9rem;
font-family: var(--font-family);
}
.textButton {
background: none;
border: none;
color: #0078d4;
color: var(--color-secondary);
font-weight: 500;
cursor: pointer;
padding: 0;
font-size: 0.9rem;
font-family: var(--font-family);
}
.textButton:hover {
@ -161,12 +168,13 @@ button:disabled {
}
.error {
color: #dc3545;
background-color: #f8d7da;
border: 1px solid #f5c6cb;
color: var(--color-red);
background-color: var(--color-red-disabled);
border: 1px solid var(--color-red);
border-radius: 8px;
padding: 12px;
margin-bottom: 1rem;
font-size: 0.9rem;
text-align: center;
font-family: var(--font-family);
}

View file

@ -3,8 +3,8 @@ import { loginRequest } from '../auth/authConfig';
import { useNavigate, useLocation } from 'react-router-dom';
import { useState, useEffect } from 'react';
import styles from './Login.module.css';
import agentDiagram from '../assets/Frame 43.png';
import logo from '../assets/LogoPowerOn.png';
import agentDiagram from '../assets/logos/Frame 43.png';
import logo from '../assets/logos/PowerOn.png';
import { useAuth, useMsalAuth } from '../hooks/useAuthentication';
function Login() {

View file

@ -5,17 +5,18 @@
flex-direction: column;
align-self: stretch;
border-radius: 30px;
border: 1px solid var(--f-1-f-1-f-1, #F1F1F1);
background: var(--Grayscale-True-White, #FFF);
border: 1px solid var(--color-gray-disabled);
background: var(--color-bg);
position: relative;
box-shadow: 0px 2px 6px 0px rgba(194, 194, 194, 0.10);
max-height: calc(100vh - 100px);
overflow: hidden;
font-family: var(--font-family);
}
.horizontalLineLight {
width: 100%;
background-color: #F1F1F1;
background-color: var(--color-gray-disabled);
height: 1px;
margin-top: 90px;
margin-left: -30px;
@ -27,16 +28,17 @@
gap: 30px;
align-items: flex-start;
height: 62px;
color: var(--Grayscale-Black, #24262B);
color: var(--color-text);
padding-top: 30px;
padding-bottom: 30px;
font-family: var(--font-family);
}
.mitglieder_hinzufügen_button {
border-radius: 30px;
background: var(--Grayscale-Gray, #E9E9E9);
background: var(--color-gray-disabled);
color: var(--color-text);
border: none;
outline: none;
text-align: left;
@ -48,10 +50,13 @@
display: flex;
gap: 10px;
align-items: center;
font-family: var(--font-family);
transition: background-color 0.2s ease;
}
.mitglieder_hinzufügen_button:hover {
cursor: pointer;
background-color: var(--color-gray);
}
.add_icon {
@ -72,9 +77,11 @@
align-items: center;
height: 60px; /* Specific height for each item */
padding: 0 16px;
border-bottom: 1px solid #F1F1F1;
border-bottom: 1px solid var(--color-gray-disabled);
font-size: 16px;
transition: background-color 0.2s ease;
color: var(--color-text);
font-family: var(--font-family);
}
.actions {

View file

@ -1,7 +1,7 @@
.container {
display: flex;
min-height: 100vh;
background-color: #ffffff;
background-color: var(--color-bg);
}
.leftPanel {
@ -9,12 +9,12 @@
display: flex;
flex-direction: column;
padding: 3rem;
background-color: #ffffff;
background-color: var(--color-bg);
}
.rightPanel {
flex: 1;
background-color: #ffffff;
background-color: var(--color-bg);
display: flex;
align-items: center;
justify-content: center;
@ -38,7 +38,8 @@
font-size: 2rem;
font-weight: 600;
margin-bottom: 2rem;
color: #1a1a1a;
color: var(--color-text);
font-family: var(--font-family);
}
.registerForm {
@ -56,27 +57,30 @@
.inputGroup label {
font-size: 0.9rem;
font-weight: 500;
color: #1a1a1a;
color: var(--color-text);
font-family: var(--font-family);
}
.input {
width: 100%;
padding: 12px 16px;
border: 1px solid #e0e0e0;
border: 1px solid var(--color-gray-disabled);
border-radius: 8px;
font-size: 1rem;
transition: all 0.2s ease;
background-color: #ffffff;
background-color: var(--color-bg);
color: var(--color-text);
font-family: var(--font-family);
}
.input:focus {
outline: none;
border-color: #0078d4;
box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.1);
border-color: var(--color-secondary);
box-shadow: 0 0 0 2px rgba(63, 81, 181, 0.1);
}
.input::placeholder {
color: #757575;
color: var(--color-gray);
}
.button {
@ -90,30 +94,32 @@
border: none;
text-align: center;
margin-top: 1rem;
font-family: var(--font-family);
}
.primaryButton {
background-color: #0078d4;
color: white;
background-color: var(--color-secondary);
color: var(--color-bg);
}
.primaryButton:hover {
background-color: #006cbd;
background-color: var(--color-secondary-hover);
}
.primaryButton:disabled {
background-color: #cccccc;
background-color: var(--color-gray-disabled);
cursor: not-allowed;
}
.error {
color: #dc3545;
background-color: #f8d7da;
border: 1px solid #f5c6cb;
color: var(--color-red);
background-color: var(--color-red-disabled);
border: 1px solid var(--color-red);
border-radius: 8px;
padding: 12px;
font-size: 0.9rem;
text-align: center;
font-family: var(--font-family);
}
.loginLink {
@ -123,22 +129,24 @@
gap: 0.5rem;
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid #e0e0e0;
border-top: 1px solid var(--color-gray-disabled);
}
.loginLink span {
color: #757575;
color: var(--color-gray);
font-size: 0.9rem;
font-family: var(--font-family);
}
.textButton {
background: none;
border: none;
color: #0078d4;
color: var(--color-secondary);
font-weight: 500;
cursor: pointer;
padding: 0;
font-size: 0.9rem;
font-family: var(--font-family);
}
.textButton:hover {
@ -159,7 +167,7 @@
/* Required field indicator */
label[htmlFor]::after {
content: ' *';
color: #dc3545;
color: var(--color-red);
}
.msalButton {
@ -169,21 +177,23 @@ label[htmlFor]::after {
gap: 10px;
width: 100%;
padding: 10px;
background-color: #fff;
border: 1px solid #ccc;
background-color: var(--color-bg);
border: 1px solid var(--color-gray-disabled);
border-radius: 4px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.2s;
margin-bottom: 20px;
color: var(--color-text);
font-family: var(--font-family);
}
.msalButton:hover {
background-color: #f5f5f5;
background-color: var(--color-surface);
}
.msalButton:disabled {
background-color: #f5f5f5;
background-color: var(--color-surface);
cursor: not-allowed;
}
@ -203,11 +213,12 @@ label[htmlFor]::after {
.divider::after {
content: '';
flex: 1;
border-bottom: 1px solid #ccc;
border-bottom: 1px solid var(--color-gray-disabled);
}
.divider span {
padding: 0 10px;
color: #666;
font-size: 14px;
padding: 0 1rem;
color: var(--color-gray);
font-size: 0.9rem;
font-family: var(--font-family);
}

View file

@ -1,8 +1,8 @@
import { useState } from 'react';
import { useNavigate } from 'react-router-dom';
import styles from './Register.module.css';
import logo from '../assets/LogoPowerOn.png';
import agentDiagram from '../assets/Frame 43.png';
import logo from '../assets/logos/PowerOn.png';
import agentDiagram from '../assets/logos/Frame 43.png';
import { useRegister, useMsalRegister } from '../hooks/useAuthentication';
interface RegisterFormData {