package models

import (
	"github.com/titansys/appy-builder/internal/models"
	sharedModels "github.com/titansys/appy-builder/internal/platform/shared/models"
)

// AndroidTemplateData contains Android-specific template data.
// It embeds BaseTemplateData for common fields and adds Android-specific fields.
// This type is provided for future use when platform-specific builds need
// custom data structures. Currently, the shared TemplateData is used for
// backward compatibility.
type AndroidTemplateData struct {
	// Embed base template data for common fields
	sharedModels.BaseTemplateData

	// Android-specific: Package/Theme
	PackagePath string // e.g., "com/sample/appbar/kotlin" (filesystem path)
	PackageName string // e.g., "com.sample.appbar.kotlin" (package declaration)
	ThemeName   string // e.g., "AppBarAppTheme"

	// Android-specific: WebView Settings
	EnableJavaScript bool
	EnableDOMStorage bool
	EnableZoom       bool
	EnableCache      bool

	// Android-specific: Versioning
	VersionCode        int
	AndroidVersionName string

	// Original Config (for fallback)
	Config models.BuildConfig
}

// NewAndroidTemplateData creates a new AndroidTemplateData with the given base data
func NewAndroidTemplateData(base sharedModels.BaseTemplateData) *AndroidTemplateData {
	return &AndroidTemplateData{
		BaseTemplateData: base,
	}
}
