| 1 | <html> |
| 2 | |
| 3 | <head> |
| 4 | <title>Project LLM</title> |
| 5 | <script type="module"> |
| 6 | import { store } from "/components/projects/projects-store.js"; |
| 7 | </script> |
| 8 | </head> |
| 9 | |
| 10 | <body> |
| 11 | <div x-data> |
| 12 | <template x-if="$store.projects && $store.projects.selectedProject && $store.projects.selectedProject.llm"> |
| 13 | <div class="project-llm-preset-row"> |
| 14 | <div class="projects-form-group project-llm-preset-field"> |
| 15 | <label class="projects-form-label">Model preset</label> |
| 16 | <div class="projects-input-with-button-wrapper project-llm-preset-controls"> |
| 17 | <select class="projects-form-select" |
| 18 | x-model="$store.projects.selectedProject.llm.preset_key" |
| 19 | @change="$store.projects.applySelectedLlmPreset()"> |
| 20 | <template x-for="preset in $store.projects.selectedProject.llm.global_presets" :key="$store.projects.getLlmPresetKey(preset)"> |
| 21 | <option :value="$store.projects.getLlmPresetKey(preset)" x-text="preset.name"></option> |
| 22 | </template> |
| 23 | </select> |
| 24 | <button type="button" class="button icon-button project-llm-edit-presets" |
| 25 | @click="$store.projects.editSelectedProjectPresets()"> |
| 26 | <x-icon class="icon" name="tune"></x-icon> |
| 27 | <span>Edit Presets</span> |
| 28 | </button> |
| 29 | </div> |
| 30 | </div> |
| 31 | </div> |
| 32 | </template> |
| 33 | </div> |
| 34 | </body> |
| 35 | <style> |
| 36 | .project-llm-preset-row { |
| 37 | max-width: 100%; |
| 38 | } |
| 39 | |
| 40 | .project-llm-preset-field { |
| 41 | margin-bottom: 0; |
| 42 | } |
| 43 | |
| 44 | .project-llm-preset-controls { |
| 45 | align-items: stretch; |
| 46 | } |
| 47 | |
| 48 | .project-llm-preset-controls select { |
| 49 | min-width: 0; |
| 50 | } |
| 51 | |
| 52 | .project-llm-edit-presets { |
| 53 | flex: 0 0 auto; |
| 54 | } |
| 55 | </style> |
| 56 | |
| 57 | </html> |