TypeDialog/examples/05-fragments/array-trackers.toml

103 lines
2.4 KiB
TOML
Raw Permalink Normal View History

name = "Tracker Configuration with Arrays"
description = "Example showing RepeatingGroup arrays for multiple trackers"
display_mode = "complete"
# Header
[[elements]]
name = "main_header"
type = "section_header"
title = "🎯 Tracker Configuration"
border_top = true
border_bottom = true
# Introduction
[[elements]]
name = "intro"
type = "section"
content = "Configure multiple UDP and HTTP tracker listeners. You can add, edit, or delete trackers as needed."
# Tracker mode selection
[[elements]]
name = "tracker_mode"
type = "select"
prompt = "Tracker Mode"
required = true
options = [
{ value = "public", label = "Public Tracker" },
{ value = "private", label = "Private Tracker" },
]
default = "public"
order = 1
# UDP Trackers array
# max_items loaded from constraints.toml via constraint interpolation
# See constraints.toml to change max_items (default: 4)
[[elements]]
name = "udp_trackers"
type = "repeatinggroup"
prompt = "UDP Tracker Listeners"
fragment = "fragments/tracker-udp-item.toml"
min_items = 0
max_items = "${constraint.tracker.udp.max_items}"
default_items = 1
unique = true
required = false
help = "Add UDP tracker listener addresses (must be unique). Standard BitTorrent port is 6969."
order = 2
# HTTP Trackers array
# max_items loaded from constraints.toml via constraint interpolation
# See constraints.toml to change max_items (default: 4)
[[elements]]
name = "http_trackers"
type = "repeatinggroup"
prompt = "HTTP Tracker Listeners"
fragment = "fragments/tracker-http-item.toml"
min_items = 0
max_items = "${constraint.tracker.http.max_items}"
default_items = 1
unique = true
required = false
help = "Add HTTP tracker listener addresses (must be unique). Standard HTTP port is 80, HTTPS is 443."
order = 3
# API Configuration section
[[elements]]
name = "api_header"
type = "section_header"
title = "📡 API Configuration"
border_top = true
border_bottom = true
# API Token
[[elements]]
name = "api_token"
type = "password"
prompt = "Admin API Token"
required = true
help = "Secure token for API authentication"
order = 4
# API Port
[[elements]]
name = "api_port"
type = "text"
prompt = "API Port"
placeholder = "1212"
default = "1212"
required = true
order = 5
# Summary
[[elements]]
name = "summary_header"
type = "section_header"
title = "✅ Configuration Summary"
border_top = true
[[elements]]
name = "summary"
type = "section"
content = "Review your tracker configuration above. Click submit to save settings."
order = 6