summaryrefslogtreecommitdiff
path: root/internal/gui/app.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-08 09:55:02 +0300
committerPaul Buetow <paul@buetow.org>2026-04-08 09:55:02 +0300
commitf486e9c677c72a409df8696104661847354286df (patch)
tree8f1b9aef0a74d33a65f1f47f2bdf3c9705fc8474 /internal/gui/app.go
parentcd4265b8f87811db758c89bab5e62daa6c39337a (diff)
refactor: registry pattern for audio and image provider factories
Add internal/registry generic Registry[K,T] for keyed factory registration. Wire audio.NewProvider via registered per-provider constructors; GUI and processor newImageSearcher use registries of *Orchestrator/*Processor methods. Export image.ImageProviderOpenAI and ImageProviderNanoBanana from search.go and use them across gui to avoid duplicate string constants. Made-with: Cursor
Diffstat (limited to 'internal/gui/app.go')
-rw-r--r--internal/gui/app.go7
1 files changed, 1 insertions, 6 deletions
diff --git a/internal/gui/app.go b/internal/gui/app.go
index f7a7d51..6c1cf21 100644
--- a/internal/gui/app.go
+++ b/internal/gui/app.go
@@ -146,11 +146,6 @@ type Config struct {
Translator *translation.Translator
}
-const (
- imageProviderOpenAI = "openai"
- imageProviderNanoBanana = "nanobanana"
-)
-
// DefaultConfig returns default GUI configuration
func DefaultConfig() *Config {
homeDir, err := appconfig.HomeDir()
@@ -168,7 +163,7 @@ func DefaultConfig() *Config {
NanoBananaModel: image.DefaultNanoBananaModel,
NanoBananaTextModel: image.DefaultNanoBananaTextModel,
GeminiTTSModel: audioDefaults.GeminiTTSModel,
- ImageProvider: imageProviderNanoBanana,
+ ImageProvider: image.ImageProviderNanoBanana,
TranslationProvider: translation.ProviderGemini,
PhoneticProvider: phonetic.ProviderGemini,
AutoPlay: true, // Auto-play enabled by default