diff --git a/settings.html b/settings.html
index ede9fcf..bc8a733 100644
--- a/settings.html
+++ b/settings.html
@@ -124,6 +124,78 @@
};
cancel.addEventListener('click', rollback);
close.addEventListener('click', rollback);
+
+
+ const modelDiv = document.getElementById('ollama-model-selectors');
+ // Vorher: deine Standard-Settings holen
+
+ // 1. Modelle holen
+ const ollamaRes = await window.electronAPI.ollamaList();
+ if (ollamaRes.error) {
+ modelDiv.innerHTML = `
+
+ !! You need to install Ollama to use intelligent message & readme generation !!
+
+ `;
+ return;
+ }
+
+ // 2. qwen2.5-coder-Modelle filtern
+ const qwenModels = ollamaRes.models
+ .filter(m => /^qwen2\.5-coder(:[\w\d\-]+)?$/.test(m.name || m.model))
+ .map(m => m.name || m.model);
+
+ // 3. Kein Modell? Pull-Buttons zeigen!
+ if (!qwenModels.length) {
+ modelDiv.innerHTML = `
+
+
+ `;
+ document.getElementById('pullCommitModelBtn').onclick = async () => {
+ await window.electronAPI.ollamaPull('qwen2.5-coder:7b');
+ location.reload(); // Reload Settings-Dialog
+ };
+ document.getElementById('pullReadmeModelBtn').onclick = async () => {
+ await window.electronAPI.ollamaPull('qwen2.5-coder:32b');
+ location.reload();
+ };
+ return;
+ }
+
+ // 4. Dropdowns rendern
+ function makeOptions(models, preferred) {
+ return models.map(m => ``).join('');
+ }
+ // Defaults wählen
+ const commitDefault = qwenModels.find(m => m.includes('7b')) || qwenModels[0];
+ const readmeDefault = qwenModels.find(m => m.includes('32b')) || qwenModels[0];
+
+ // Werte ggf. aus dem Store holen!
+ const currentCommitModel = await window.settingsAPI.getCommitModel?.() || commitDefault;
+ const currentReadmeModel = await window.settingsAPI.getReadmeModel?.() || readmeDefault;
+
+ modelDiv.innerHTML = `
+
+
+
+
+
+ `;
+
+ // Werte speichern bei Auswahl
+ document.getElementById('commitModelSelect').onchange = e =>
+ window.settingsAPI.setCommitModel?.(e.target.value);
+ document.getElementById('readmeModelSelect').onchange = e =>
+ window.settingsAPI.setReadmeModel?.(e.target.value);
+ });
});