|
|
@@ -1,13 +1,21 @@
|
|
|
-import React, { ChangeEvent } from "react";
|
|
|
+import React, { ChangeEvent, useEffect, useState } from "react";
|
|
|
import {
|
|
|
AGENTS,
|
|
|
- MODELS,
|
|
|
+ INITIAL_MODELS,
|
|
|
changeAgent,
|
|
|
changeModel,
|
|
|
+ fetchModels,
|
|
|
} from "../services/settingsService";
|
|
|
import "./BannerSettings.css";
|
|
|
|
|
|
function ModelSelect(): JSX.Element {
|
|
|
+ const [models, setModels] = useState<string[]>(INITIAL_MODELS);
|
|
|
+ useEffect(() => {
|
|
|
+ fetchModels().then((fetchedModels) => {
|
|
|
+ setModels(fetchedModels);
|
|
|
+ });
|
|
|
+ }, []);
|
|
|
+
|
|
|
return (
|
|
|
<select
|
|
|
onChange={(e: ChangeEvent<HTMLSelectElement>) =>
|
|
|
@@ -15,8 +23,8 @@ function ModelSelect(): JSX.Element {
|
|
|
}
|
|
|
className="select max-w-xs bg-base-300 xl:w-full w-1/3"
|
|
|
>
|
|
|
- {MODELS.map((model) => (
|
|
|
- <option>{model}</option>
|
|
|
+ {models.map((model) => (
|
|
|
+ <option key={model}>{model}</option>
|
|
|
))}
|
|
|
</select>
|
|
|
);
|