Modals display focused content that requires user attention or interaction. They support default and alert variants, with optional HTMX and JavaScript actions on buttons.

Goshtoso Component

Go + Templ

Default Modal

Alert Modals

Modal with HTMX Action

Modal with JavaScript Action

Usage Example
// Default Modal
@modal.Modal(modal.Config{
    ID:            "offer",
    Title:         "Special Offer",
    Body:          "Upgrade your account now to unlock premium features.",
    TriggerText:   "Open Modal",
    PrimaryText:   "Upgrade Now",
    SecondaryText: "Remind me later",
})

// Alert Modal (Success)
@modal.Modal(modal.Config{
    ID:          "txComplete",
    Title:       "Transaction Complete",
    Body:        "Your funds transfer was successful.",
    TriggerText: "Success Modal",
    PrimaryText: "Go to My Balance",
    Variant:     modal.Success,
    AlertMode:   true,
})

// Modal with HTMX action
@modal.Modal(modal.Config{
    ID:            "htmxDemo",
    Title:         "Confirm Action",
    Body:          "This will send a request to the server.",
    TriggerText:   "HTMX Modal",
    PrimaryText:   "Confirm",
    SecondaryText: "Cancel",
    PrimaryAction: &modal.ButtonAction{
        HxPost:   "/api/hello",
        HxTarget: "#result",
        HxSwap:   "innerHTML",
    },
})

// Modal with JS action
@modal.Modal(modal.Config{
    ID:            "jsDemo",
    Title:         "Confirm Delete",
    Body:          "Are you sure? This cannot be undone.",
    TriggerText:   "JS Action Modal",
    PrimaryText:   "Delete",
    SecondaryText: "Cancel",
    PrimaryAction: &modal.ButtonAction{
        OnClick: "alert('Deleted!')",
    },
})

This site uses localStorage to remember your theme preference. No tracking cookies.