* rebuild playouts when items are removed from collections * rebuild playouts when items are added to collections * simplify logic
100 lines
4.2 KiB
Plaintext
100 lines
4.2 KiB
Plaintext
@using System.Reflection
|
|
@using System.Web
|
|
@inherits LayoutComponentBase
|
|
@inject NavigationManager NavigationManager
|
|
|
|
<MudThemeProvider Theme="_ersatzTvTheme"/>
|
|
<MudDialogProvider DisableBackdropClick="true"/>
|
|
<MudSnackbarProvider/>
|
|
|
|
<MudLayout>
|
|
<MudAppBar Elevation="1">
|
|
<MudTextField T="string"
|
|
@ref="_textField"
|
|
Placeholder="Search"
|
|
Variant="Variant.Outlined"
|
|
Class="search-bar"
|
|
OnKeyDown="@OnSearchKeyDown"
|
|
Immediate="true">
|
|
</MudTextField>
|
|
<MudAppBarSpacer/>
|
|
<MudLink Style="@($"color:{Colors.Shades.White}")" Color="Color.Inherit" Href="/iptv/channels.m3u" Target="_blank" Underline="Underline.None">M3U</MudLink>
|
|
<MudLink Style="@($"color:{Colors.Shades.White}")" Color="Color.Inherit" Href="/iptv/xmltv.xml" Target="_blank" Class="mx-4" Underline="Underline.None">XMLTV</MudLink>
|
|
<MudLink Style="@($"color:{Colors.Shades.White}")" Color="Color.Inherit" Href="/swagger" Target="_blank" Class="mr-4" Underline="Underline.None">API</MudLink>
|
|
<MudDivider Vertical="true" FlexItem="true" DividerType="DividerType.Middle" Class="mx-4 my-5"/>
|
|
<MudTooltip Text="Discord">
|
|
<MudIconButton Icon="fab fa-discord" Color="Color.Inherit" Link="https://discord.gg/hHaJm3yGy6" Target="_blank"/>
|
|
</MudTooltip>
|
|
<MudTooltip Text="GitHub">
|
|
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Inherit" Link="https://github.com/jasongdove/ErsatzTV" Target="_blank"/>
|
|
</MudTooltip>
|
|
</MudAppBar>
|
|
<MudDrawer Open="true" Elevation="2">
|
|
<MudDrawerHeader>
|
|
<MudText Typo="Typo.h6">ErsatzTV</MudText>
|
|
</MudDrawerHeader>
|
|
<MudNavMenu>
|
|
<MudNavLink Href="/" Match="NavLinkMatch.All">Home</MudNavLink>
|
|
<MudNavLink Href="/channels">Channels</MudNavLink>
|
|
<MudNavLink Href="/ffmpeg">FFmpeg</MudNavLink>
|
|
@* <MudNavGroup Title="Media Sources" Expanded="true"> *@
|
|
@* <MudNavLink Href="/media/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/collections">Collections</MudNavLink>
|
|
</MudNavGroup>
|
|
<MudNavLink Href="/schedules">Schedules</MudNavLink>
|
|
<MudNavLink Href="/playouts">Playouts</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>
|
|
<MudContainer MaxWidth="MaxWidth.ExtraLarge" Class="pt-8">
|
|
@Body
|
|
</MudContainer>
|
|
</MudMainContent>
|
|
</MudLayout>
|
|
|
|
@code {
|
|
private static readonly string InfoVersion = Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "unknown";
|
|
|
|
private MudTextField<string> _textField;
|
|
|
|
private MudTheme _ersatzTvTheme
|
|
{
|
|
get
|
|
{
|
|
var current = new MudTheme();
|
|
|
|
return new MudTheme
|
|
{
|
|
Palette = new Palette
|
|
{
|
|
DrawerBackground = current.Palette.Background,
|
|
Background = current.Palette.BackgroundGrey,
|
|
Tertiary = Colors.Shades.White
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
private void OnSearchKeyDown(KeyboardEventArgs args)
|
|
{
|
|
if (args.Code == "Enter")
|
|
{
|
|
string query = HttpUtility.UrlEncode(_textField.Value);
|
|
_textField.Reset();
|
|
NavigationManager.NavigateTo($"/search?query={query}", true);
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
|
|
} |