Stanislav N. aka pztrn e3b9c9ae40
Some checks failed
Linting and tests / Linting (push) Failing after 5s
Linting and tests / Tests (push) Failing after 4s
The very basic client app, not adapted for mobiles.
2025-09-10 19:34:49 +05:00

29 lines
691 B
Go

package options
import (
"errors"
"fmt"
"bunker/client/internal/services/core"
"bunker/client/internal/services/core/options/dto"
"bunker/client/internal/services/core/options/models"
)
var errWidgetPaneAlreadyRegistered = errors.New("widget pane already registered")
func (o *options) RegisterOptionsWidget(widgetData *dto.OptionPane) error {
if _, found := o.widgets[widgetData.Name]; found {
return fmt.Errorf(
"%w: RegisterOptionsWidget: '%s': %w",
core.ErrOptions,
widgetData.Name,
errWidgetPaneAlreadyRegistered,
)
}
o.widgets[widgetData.Name] = models.OptionPaneFromDTO(widgetData)
o.widgetsItems = append(o.widgetsItems, widgetData.Name)
return nil
}