{% extends "base.html" %} {% block title %}Settings - {{ app_name or 'Dune Weaver' }}{% endblock %} {% block additional_styles %} /* Dark mode styles for settings page */ .dark .bg-white { background-color: #262626; } .dark .text-slate-900 { color: #ffffff; } .dark .text-slate-800 { color: #f8fafc; } .dark .text-slate-700 { color: #f1f5f9; } .dark .text-slate-600 { color: #e2e8f0; } .dark .text-slate-500 { color: #e2e8f0; } /* Label overrides for better visibility */ .dark label { color: #f1f5f9; } .dark .border-slate-200 { border-color: #404040; } .dark .border-slate-300 { border-color: #404040; } .dark .divide-slate-100 { border-color: #404040; } .dark .bg-slate-50 { background-color: #262626; } .dark .hover\:bg-slate-50:hover { background-color: #404040; } .dark .bg-slate-100 { background-color: #404040; } .dark .form-input, .dark input[type="number"], .dark input[type="text"], .dark input[type="time"] { background-color: #1f1f1f; border-color: #404040; color: #e5e5e5; } .dark .form-input::placeholder { color: #9ca3af; } .dark .form-input:focus { border-color: #0c7ff2; ring-color: #0c7ff2; } .dark input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1); } .dark .form-select { background-color: #1f1f1f; border-color: #404040; color: #e5e5e5; } .dark .form-select:focus { border-color: #0c7ff2; ring-color: #0c7ff2; } .dark .focus\:ring-sky-500:focus { ring-color: #0c7ff2; } .dark .focus\:border-sky-500:focus { border-color: #0c7ff2; } .dark .hover\:text-gray-700:hover { color: #e5e5e5; } .dark .text-gray-400 { color: #9ca3af; } /* Autocomplete suggestions dark mode */ .dark #clearFromInSuggestions, .dark #clearFromOutSuggestions { background-color: #262626; border-color: #404040; } .dark .suggestion-item { color: #e5e5e5; } .dark .suggestion-item:hover { background-color: #404040; } .dark .suggestion-item.selected { background-color: #0c7ff2; color: white; } /* Light mode autocomplete styles */ .suggestion-item { padding: 8px 12px; cursor: pointer; color: #1f2937; transition: background-color 0.15s; } .suggestion-item:hover { background-color: #f3f4f6; } .suggestion-item.selected { background-color: #0c7ff2; color: white; } .suggestion-item mark { background-color: #fef3c7; font-weight: 600; } .dark .suggestion-item mark { background-color: #92400e; color: #fef3c7; } /* Toggle switch styles */ .switch { position: relative; display: inline-block; width: 60px; height: 34px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; } .slider:before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; transition: .4s; } input:checked + .slider { background-color: #0c7ff2; } input:focus + .slider { box-shadow: 0 0 1px #0c7ff2; } input:checked + .slider:before { transform: translateX(26px); } .slider.round { border-radius: 34px; } .slider.round:before { border-radius: 50%; } /* Dark mode for switches */ .dark .slider { background-color: #404040; } .dark input:checked + .slider { background-color: #0c7ff2; } /* Spin animation for loading states */ @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .animate-spin { animation: spin 1s linear infinite; } /* Time slot specific styles */ .time-slot-item { background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; transition: all 0.15s; } .dark .time-slot-item { background-color: #1e293b; border-color: #475569; } .time-slot-item:hover { border-color: #cbd5e1; } .dark .time-slot-item:hover { border-color: #64748b; } /* Info box dark mode - grey theme */ .dark .bg-blue-50 { background-color: #1f1f1f; } .dark .border-blue-200 { border-color: #404040; } .dark .text-blue-600 { color: #e2e8f0; } .dark .text-blue-800 { color: #f1f5f9; } .dark .text-blue-700 { color: #e2e8f0; } /* Amber box dark mode - grey theme */ .dark .bg-amber-50 { background-color: #1f1f1f; } .dark .border-amber-200 { border-color: #404040; } .dark .text-amber-600 { color: #f1f5f9; } {% endblock %} {% block content %}
Status
Disconnected
Set the angle (in degrees) where your radial arm to be offset by. You want to choose a value here so that the radial arm will point East.
Crash Homing Mode:
Customize the clearing behavior used when transitioning between patterns. Set custom patterns and speed to control how sand is distributed.
Set a custom speed for clearing patterns. Leave empty to use the default pattern speed. This allows clearing patterns to run at a different speed than regular patterns.
Choose specific patterns to use when clearing. Leave empty to use the default clearing behavior.
Pattern to use when clearing from the center outward.
Pattern to use when clearing from the perimeter inward.
Select your LED control system (settings are mutually exclusive)
Automatically start playing a selected playlist when the system boots up.
Automatically bring the sands to rest during specified time periods.
Current Version
Loading...
Latest Version
Checking...