package app

// GetTheme returns the current theme setting
func (a *Application) GetTheme() (string, error) {
	return a.config.GetTheme(a.ctx)
}

// SetTheme updates the theme setting
func (a *Application) SetTheme(theme string) error {
	return a.config.SetTheme(a.ctx, theme)
}

// GetWindowSize returns the configured window size
func (a *Application) GetWindowSize() (map[string]int, error) {
	width, height, err := a.config.GetWindowSize(a.ctx)
	if err != nil {
		return nil, err
	}
	return map[string]int{
		"width":  width,
		"height": height,
	}, nil
}

// SetWindowSize updates the window size configuration
func (a *Application) SetWindowSize(width, height int) error {
	return a.config.SetWindowSize(a.ctx, width, height)
}

// GetCloudProviderAddress returns the backend API URL
func (a *Application) GetCloudProviderAddress() (string, error) {
	return a.config.GetCloudProviderAddress(a.ctx)
}

// SetCloudProviderAddress updates the backend API URL
func (a *Application) SetCloudProviderAddress(address string) error {
	return a.config.SetCloudProviderAddress(a.ctx, address)
}
