diff --git a/app/components/Models.tsx b/app/components/Models.tsx index ee6739b..9d1bf92 100644 --- a/app/components/Models.tsx +++ b/app/components/Models.tsx @@ -1,85 +1,103 @@ -// Models.tsx -import React from 'react'; +import React, { useState } from 'react'; const Models: React.FC = () => { + const [selectedModel, setSelectedModel] = useState('Offline Fast'); + + const modelOptions = [ + 'Offline Fast', + 'Offline Fast (FOSS)', + 'Offline Slow', + 'Offline Slow (FOSS)', + 'Online (La Plateforme)', + 'Online (FOSS) (La Plateforme)', + 'Online Cheap (OpenAI)', + 'Online Expensive (OpenAI)', + 'Online Cheap (Anthropic)', + 'Online Expensive (Anthropic)', + 'Online Cheap (Google)', + 'Online Expensive (Google)', + ]; + + const handleModelChange = (event: React.ChangeEvent) => { + setSelectedModel(event.target.value); + }; + + const isOfflineModel = (model: string) => { + return model.includes('Offline'); + }; + return (

Different AI models

-
-
- - - - - {/* Example Models */} - - - - - - - - - -
-
+
+ + +
+
+ + + + + + + + + +
); diff --git a/app/styles/models.css b/app/styles/models.css index c53d14b..2c2d91e 100644 --- a/app/styles/models.css +++ b/app/styles/models.css @@ -1,7 +1,7 @@ .model-background { grid-column: 1 / 2; grid-row: 2 / 5; - overflow-y: auto; + overflow-y: scroll; background-color: var(--models-background-color); /* Ensure this variable is defined */ border-radius: 2em; padding: 1em; @@ -11,24 +11,9 @@ } .models { - grid-column: 1 / 2; - grid-row: 2 / 5; - overflow-y: auto; - background-color: var(--models-background-color); /* Ensure this variable is defined */ - 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; + flex-direction: column; + height: 100%; } .models .titel { @@ -39,15 +24,21 @@ font-size: 0.7em; } +.model-dropdown { + display: flex; + justify-content: center; + margin-bottom: 1em; /* Space between dropdown and models */ +} + +.model-dropdown label { + margin-right: 0.5em; /* Space between label and dropdown */ +} + .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5vh; - width: fit-content; -} - -.grid h3 { - font-size: large; + width: 100%; /* Ensure grid takes full width */ } .model-box { @@ -60,6 +51,7 @@ position: relative; height: 18vh; width: 18vh; + margin: auto; /* Center each model box in the grid cell */ } .overlay { @@ -73,11 +65,10 @@ display: flex; justify-content: center; align-items: center; - font-size: 300%; + font-size: x-large; transition: opacity 0.5s ease; pointer-events: none; opacity: 0; - font-size: xx-large; } .overlay img { @@ -94,6 +85,7 @@ opacity: 1; } +/* Model background styles */ .code-model { background-image: url(/img/code.jpg); background-repeat: no-repeat; @@ -102,7 +94,7 @@ .math-model { background-image: url(/img/math.jpg); - background-color: var(--background-color); /* Use variable for background color */ + background-color: var(--background-color); background-position: center; background-repeat: no-repeat; background-size: contain; @@ -110,7 +102,47 @@ .language-model { background-image: url(/img/language.jpg); - background-color: #72cce4; /* Use variable for background color */ + background-color: #72cce4; + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.character-model { + background-image: url(/img/character.jpg); + background-color: #72cce4; + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.financial-model { + background-image: url(/img/financial.jpg); + background-color: #72cce4; + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.weather-model { + background-image: url(/img/weather.jpg); + background-color: #72cce4; + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.time-planner-model { + background-image: url(/img/time.jpg); + background-color: #72cce4; + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} + +.image-model { + background-image: url(/img/image.jpg); + background-color: #72cce4; background-repeat: no-repeat; background-size: contain; background-position: center; @@ -122,3 +154,33 @@ background-size: cover; background-position: center; } + +.model-dropdown { + display: flex; + flex-direction: column; /* Stack label and dropdown */ + align-items: center; /* Center the content */ + margin-bottom: 1em; /* Space between dropdown and models */ +} + +.model-dropdown label { + margin-bottom: 0.5em; /* Space between label and dropdown */ + font-size: large; /* Increase font size for visibility */ + color: var(--text-color); /* Use variable for text color */ +} + +#model-select { + padding: 0.5em; /* Padding for better touch targets */ + border-radius: 5px; /* Rounded corners */ + border: 1px solid var(--input-border-color); /* Border color */ + background-color: var(--input-background-color); /* Background color */ + color: var(--text-color); /* Text color */ + font-size: medium; /* Font size for dropdown */ + cursor: pointer; /* Cursor change on hover */ + transition: background-color 0.3s ease, border 0.3s ease; /* Smooth transition */ +} + +#model-select:hover { + background-color: var(--button-hover-background-color); /* Change background on hover */ + border-color: var(--button-background-color); /* Change border color on hover */ +} + diff --git a/public/img/character.jpg b/public/img/character.jpg new file mode 100644 index 0000000..b9363db Binary files /dev/null and b/public/img/character.jpg differ diff --git a/public/img/financial.jpg b/public/img/financial.jpg new file mode 100644 index 0000000..f6513d7 Binary files /dev/null and b/public/img/financial.jpg differ diff --git a/public/img/image.jpg b/public/img/image.jpg new file mode 100644 index 0000000..6cbc53d Binary files /dev/null and b/public/img/image.jpg differ diff --git a/public/img/time.jpg b/public/img/time.jpg new file mode 100644 index 0000000..6db57ad Binary files /dev/null and b/public/img/time.jpg differ diff --git a/public/img/weather.jpg b/public/img/weather.jpg new file mode 100644 index 0000000..c921471 Binary files /dev/null and b/public/img/weather.jpg differ