sample("Medium off", slug: "medium-off") do
render NitroKit::Switch.new(
label: "Weekly digest",
description: "One summary every Monday morning.",
id: "gallery-switch-medium-control",
name: "preferences[weekly_digest]",
size: :md,
html: { id: "gallery-switch-medium" }
)
end
sample("Large on", slug: "large-on") do
render NitroKit::Switch.new(
label: "Deployment alerts",
description: "Notify the operations channel after production deploys.",
id: "gallery-switch-large-control",
name: "preferences[deployment_alerts]",
checked: true,
size: :lg,
html: { id: "gallery-switch-large" }
)
end
sample("Invalid", slug: "invalid") do
render NitroKit::Switch.new(
label: "Accept the processing agreement",
description: "Required before data exports can run.",
id: "gallery-switch-invalid-control",
name: "preferences[processing_agreement]",
invalid: true,
required: true,
html: { id: "gallery-switch-invalid" }
)
end
sample("Required", slug: "required") do
render NitroKit::Switch.new(
label: "Security notices",
id: "gallery-switch-required-control",
name: "preferences[security_notices]",
checked: true,
required: true,
html: { id: "gallery-switch-required" }
)
end
sample("Disabled", slug: "disabled") do
render NitroKit::Switch.new(
label: "Legacy synchronization",
description: "Locked while migration is in progress.",
id: "gallery-switch-disabled-control",
name: "preferences[legacy_sync]",
checked: true,
disabled: true,
html: { id: "gallery-switch-disabled" }
)
end