package loading

import (
	"github.com/diamondburned/cchat-gtk/internal/ui/primitives"
	"github.com/gotk3/gotk3/gtk"
)

type Button struct {
	gtk.Button
	Spinner gtk.Spinner
}

func NewButton() *Button {
	s, _ := gtk.SpinnerNew()
	s.SetHAlign(gtk.ALIGN_CENTER)
	s.Start()
	s.Show()

	b, _ := gtk.ButtonNew()
	b.Add(s)
	b.SetSensitive(false) // unclickable
	b.Show()

	primitives.AddClass(b, "loading-button")

	return &Button{*b, *s}
}