package main

import (
	"io/fs"
	"net/http"

	"git.dev.alexdunmow.com/block/core/blocks"
	"git.dev.alexdunmow.com/block/core/templates"
	"git.dev.alexdunmow.com/block/core/plugin"
)

// Registration is the compile-time plugin registration for the Gotham template.
var Registration = plugin.PluginRegistration{
	Name:    "gotham",
	Version: plugin.ParseModVersion(pluginModBytes),
	Register: func(tr templates.TemplateRegistry, br blocks.BlockRegistry) error {
		return Register(tr, br)
	},
	Assets:       func() http.Handler { return AssetsHandler() },
	Schemas:      func() fs.FS { return Schemas() },
	ThemePresets: func() []byte { return ThemePresets() },
	BundledFonts: func() []byte { return BundledFonts() },
	MasterPages:  func() []plugin.MasterPageDefinition { return DefaultMasterPages() },
}
