Code/UI/SubPanels/SettingsPanel.razor
@using System
@using Sandbox.UI
@using Sandbox.Audio

@namespace VNBase.UI

@inherits SubPanel

@* ReSharper disable CSharpWarnings::CS8974 *@
<root>
    <div class="header">
        <label class="title">Settings</label>
    </div>

    <div class="container">
        <div class="setting">
            <label class="setting-title">Master Volume</label>
            <SliderControl Value:bind="@Mixer.Master.Volume" Min="@( 0 )" Max="@( 1 )" Step="@( 0.1f )"></SliderControl>
        </div>

        @foreach ( var mixer in Mixers )
        {
            <div class="setting">
                <label class="setting-title">@( mixer.Name ) Volume</label>
                <SliderControl Value:bind="@mixer.Volume" Min="@( 0 )" Max="@( 1 )" Step="@( 0.1f )"></SliderControl>
            </div>
        }

        @if ( Settings?.TextEffectEnabled ?? false )
        {
            <div class="setting">
                <label class="setting-title">Text Speed</label>
                <select value="Normal" @onchange="@OnFilterChanged" @ref="_speedDropdown">
                    @foreach ( var speedChoice in Enum.GetNames<Settings.TextSpeed>() )
                    {
                        <option class="option">@(speedChoice)</option>
                    }
                </select>
            </div>
        }
    </div>

    <div class="footer">
        <button icon="refresh" class="@( IsDirty() ? "" : "disabled" )" @onclick="@Reset">Reset</button>
        <button icon="close" @onclick="@Hide">Close</button>
    </div>
</root>