themes-magazine-bold/button_override.go
Alex Dunmow fe754f634b initial: theme plugin magazine-bold
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/magazine-bold.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 14:11:38 +08:00

34 lines
869 B
Go

package main
import (
"bytes"
"context"
)
// ButtonOverrideBlock renders the built-in button block with the Magazine Bold
// squared-ink treatment and accent hover.
//
// Built-in button content shape: {"label": "...", "url": "...", "variant": "primary|secondary|destructive"}
func ButtonOverrideBlock(ctx context.Context, content map[string]any) string {
label := getString(content, "label")
if label == "" {
// fall back to "text" — some older button blocks used that key.
label = getString(content, "text")
}
url := getString(content, "url")
if url == "" {
url = getString(content, "href")
}
variant := getString(content, "variant")
switch variant {
case "secondary", "destructive", "primary":
// ok
default:
variant = "primary"
}
var buf bytes.Buffer
_ = mbButtonComponent(label, url, variant).Render(ctx, &buf)
return buf.String()
}