<Application x:Class="Artemis.UI.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:s="https://github.com/canton7/Stylet"
             xmlns:local="clr-namespace:Artemis.UI"
             ShutdownMode="OnExplicitShutdown">

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <s:ApplicationLoader>
                    <s:ApplicationLoader.Bootstrapper>
                        <local:Bootstrapper />
                    </s:ApplicationLoader.Bootstrapper>
                </s:ApplicationLoader>
                <!-- Material Design -->
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Teal.xaml" />

                <!-- Custom accent based on logo colors -->
                <ResourceDictionary>
                    <ResourceDictionary.MergedDictionaries>
                        <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.DeepPurple.xaml" />
                    </ResourceDictionary.MergedDictionaries>

                    <!-- include a single secondary accent color (and the associated forecolour) -->
                    <SolidColorBrush x:Key="SecondaryHueMidBrush" Color="#854FF2"/>
                    <SolidColorBrush x:Key="SecondaryHueMidForegroundBrush" Color="White"/>
                </ResourceDictionary>

                <!-- Material design extensions -->
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignExtensions;component/Themes/Generic.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignExtensions;component/Themes/MaterialDesignLightTheme.xaml" />

                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Scrollbar.xaml" />
                
                <!-- Shared UI -->
                <ResourceDictionary Source="pack://application:,,,/Artemis.UI.Shared;component/Resources/ArtemisShared.xaml" />

                <ResourceDictionary Source="ResourceDictionaries/SideNavigation.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <!-- Some general convertes etc. -->
            <BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter" />
            
            <FontFamily x:Key="RobotoMono">pack://application:,,,/Resources/Fonts/#Roboto Mono</FontFamily>

            <!-- Disable tab stop/focusable on all content controls -->
            <Style TargetType="ContentControl">
                <Setter Property="IsTabStop" Value="False" />
                <Setter Property="Focusable" Value="False" />
            </Style>
            <Style TargetType="GridSplitter" BasedOn="{StaticResource MaterialDesignGridSplitter}">
                <Setter Property="IsTabStop" Value="False" />
                <Setter Property="Focusable" Value="False" />
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>