118 lines
5.0 KiB
Plaintext
118 lines
5.0 KiB
Plaintext
@using System.Reflection
|
|
@using ErsatzTV.Extensions
|
|
@inherits LayoutComponentBase
|
|
@inject NavigationManager _navigationManager
|
|
|
|
<MudThemeProvider Theme="_ersatzTvTheme"/>
|
|
<MudDialogProvider DisableBackdropClick="true"/>
|
|
<MudSnackbarProvider/>
|
|
|
|
<MudLayout>
|
|
<MudAppBar Elevation="1" Class="app-bar">
|
|
<div style="min-width: 240px">
|
|
<a href="/">
|
|
<img src="/images/ersatztv.png" alt="ErsatzTV"/>
|
|
</a>
|
|
</div>
|
|
<EditForm Model="@_dummyModel" OnSubmit="@(_ => PerformSearch())">
|
|
<MudTextField T="string"
|
|
@bind-Value="@_query"
|
|
AdornmentIcon="@Icons.Material.Filled.Search"
|
|
Adornment="Adornment.Start"
|
|
Variant="Variant.Outlined"
|
|
Class="search-bar">
|
|
</MudTextField>
|
|
</EditForm>
|
|
<MudSpacer/>
|
|
<MudLink Color="Color.Info" Href="/iptv/channels.m3u" Target="_blank" Underline="Underline.None">M3U</MudLink>
|
|
<MudLink Color="Color.Info" Href="/iptv/xmltv.xml" Target="_blank" Class="mx-4" Underline="Underline.None">XMLTV</MudLink>
|
|
@* <MudLink Color="Color.Info" Href="/swagger" Target="_blank" Class="mr-4" Underline="Underline.None">API</MudLink> *@
|
|
<MudTooltip Text="Documentation">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Help" Color="Color.Primary" Link="https://ersatztv.org" Target="_blank"/>
|
|
</MudTooltip>
|
|
<MudTooltip Text="Discord">
|
|
<MudIconButton Icon="fab fa-discord" Color="Color.Primary" Link="https://discord.gg/hHaJm3yGy6" Target="_blank"/>
|
|
</MudTooltip>
|
|
<MudTooltip Text="GitHub">
|
|
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Primary" Link="https://github.com/jasongdove/ErsatzTV" Target="_blank"/>
|
|
</MudTooltip>
|
|
</MudAppBar>
|
|
<MudDrawer Open="true" Elevation="2" ClipMode="DrawerClipMode.Always">
|
|
<MudNavMenu>
|
|
<MudNavLink Href="/channels">Channels</MudNavLink>
|
|
<MudNavLink Href="/ffmpeg">FFmpeg Profiles</MudNavLink>
|
|
<MudNavLink Href="/watermarks">Watermarks</MudNavLink>
|
|
<MudNavGroup Title="Media Sources" Expanded="true">
|
|
<MudNavLink Href="/media/sources/local">Local</MudNavLink>
|
|
<MudNavLink Href="/media/sources/emby">Emby</MudNavLink>
|
|
<MudNavLink Href="/media/sources/jellyfin">Jellyfin</MudNavLink>
|
|
<MudNavLink Href="/media/sources/plex">Plex</MudNavLink>
|
|
</MudNavGroup>
|
|
<MudNavGroup Title="Media" Expanded="true">
|
|
<MudNavLink Href="/media/libraries">Libraries</MudNavLink>
|
|
<MudNavLink Href="/media/tv/shows">TV Shows</MudNavLink>
|
|
<MudNavLink Href="/media/movies">Movies</MudNavLink>
|
|
<MudNavLink Href="/media/music/artists">Music</MudNavLink>
|
|
<MudNavLink Href="/media/collections">Collections</MudNavLink>
|
|
</MudNavGroup>
|
|
<MudNavLink Href="/schedules">Schedules</MudNavLink>
|
|
<MudNavLink Href="/playouts">Playouts</MudNavLink>
|
|
<MudNavLink Href="/settings">Settings</MudNavLink>
|
|
<MudNavLink Href="/system/logs">Logs</MudNavLink>
|
|
<MudDivider Class="my-6" DividerType="DividerType.Middle"/>
|
|
<MudContainer Style="text-align: right" Class="mr-6">
|
|
<MudText Typo="Typo.body2">ErsatzTV Version</MudText>
|
|
<MudText Typo="Typo.body2" Color="Color.Info">@InfoVersion</MudText>
|
|
</MudContainer>
|
|
</MudNavMenu>
|
|
</MudDrawer>
|
|
<MudMainContent>
|
|
@Body
|
|
</MudMainContent>
|
|
</MudLayout>
|
|
|
|
@code {
|
|
private static readonly string InfoVersion = Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "unknown";
|
|
|
|
private string _query;
|
|
|
|
private record SearchModel;
|
|
|
|
private readonly SearchModel _dummyModel = new();
|
|
|
|
private MudTheme _ersatzTvTheme => new()
|
|
{
|
|
Palette = new Palette
|
|
{
|
|
ActionDefault = "rgba(255,255,255, 0.80)",
|
|
Primary = "#009000",
|
|
Secondary = "#009090",
|
|
AppbarBackground = "#121212",
|
|
Background = "#272727",
|
|
DrawerBackground = "#1f1f1f",
|
|
Surface = "#1f1f1f",
|
|
DrawerText = "rgba(255,255,255, 0.80)",
|
|
TextPrimary = "rgba(255,255,255, 0.80)",
|
|
TextSecondary = "rgba(255,255,255, 0.80)",
|
|
TextDisabled = "rgba(255,255,255, 0.40)",
|
|
ActionDisabled = "rgba(255,255,255, 0.40)",
|
|
TableHover = "rgba(255,255,255, 0.10)",
|
|
Info = "#00c0c0",
|
|
Tertiary = "#00c000",
|
|
White = Colors.Shades.White
|
|
}
|
|
};
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
await base.OnParametersSetAsync();
|
|
_query = _navigationManager.Uri.GetSearchQuery();
|
|
}
|
|
|
|
private void PerformSearch()
|
|
{
|
|
_navigationManager.NavigateTo(_query.GetRelativeSearchQuery(), true);
|
|
StateHasChanged();
|
|
}
|
|
|
|
} |