Increased redis cache time to 7 days; tweaked finale announce event (checking anilist); minor visual tweaks to web

This commit is contained in:
2026-09-18 16:21:31 -04:00
parent 943aef2f7b
commit 8831d0ce2f
5 changed files with 69 additions and 33 deletions
+1 -22
View File
@@ -9,28 +9,7 @@
<link rel="stylesheet" href="~/AnimeAnnouncer.Web.styles.css" asp-append-version="true" /> <link rel="stylesheet" href="~/AnimeAnnouncer.Web.styles.css" asp-append-version="true" />
</head> </head>
<body> <body>
<header> <div class="container pt-3">
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<a class="navbar-brand" asp-area="" asp-page="/Index">AnimeAnnouncer.Web</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container">
<main role="main" class="pb-3"> <main role="main" class="pb-3">
@RenderBody() @RenderBody()
</main> </main>
@@ -8,7 +8,7 @@ a.navbar-brand {
} }
a { a {
color: #0077cc; color: #4dabf7;
} }
.btn-primary { .btn-primary {
@@ -24,14 +24,14 @@ a {
} }
.border-top { .border-top {
border-top: 1px solid #e5e5e5; border-top: 1px solid rgba(255, 255, 255, 0.1);
} }
.border-bottom { .border-bottom {
border-bottom: 1px solid #e5e5e5; border-bottom: 1px solid rgba(255, 255, 255, 0.1);
} }
.box-shadow { .box-shadow {
box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2);
} }
button.accept-policy { button.accept-policy {
@@ -45,4 +45,6 @@ button.accept-policy {
width: 100%; width: 100%;
white-space: nowrap; white-space: nowrap;
line-height: 60px; line-height: 60px;
background-color: #121212;
color: #adb5bd;
} }
+25 -6
View File
@@ -19,7 +19,26 @@ html {
body { body {
margin-bottom: 60px; margin-bottom: 60px;
background-color: #f8f9fa; background-color: #121212;
color: #e9ecef;
}
a {
color: #4dabf7;
}
a:hover {
color: #74c0fc;
}
.text-secondary,
.text-muted {
color: #adb5bd !important;
}
.card {
background-color: #1e1e1e;
color: #e9ecef;
} }
/* --- Anime airing-soon cards --- */ /* --- Anime airing-soon cards --- */
@@ -27,20 +46,20 @@ body {
border-radius: 0.75rem; border-radius: 0.75rem;
overflow: hidden; overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease; transition: transform 0.2s ease, box-shadow 0.2s ease;
background-color: #fff; background-color: #1e1e1e;
border: 1px solid rgba(0, 0, 0, 0.08); border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
} }
.anime-card:hover { .anime-card:hover {
transform: translateY(-4px); transform: translateY(-4px);
box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.12); box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.45);
} }
.anime-poster-container { .anime-poster-container {
position: relative; position: relative;
height: 320px; height: 320px;
background-color: #e9ecef; background-color: #2a2a2a;
overflow: hidden; overflow: hidden;
} }
+34
View File
@@ -7,20 +7,54 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AnimeAnnouncer", "AnimeAnno
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassTorrentAdd", "MassTorrentAdd\MassTorrentAdd.csproj", "{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassTorrentAdd", "MassTorrentAdd\MassTorrentAdd.csproj", "{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimeAnnouncer.Web", "AnimeAnnouncer.Web\AnimeAnnouncer.Web.csproj", "{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|Any CPU.Build.0 = Debug|Any CPU {B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|x64.ActiveCfg = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|x64.Build.0 = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|x86.ActiveCfg = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Debug|x86.Build.0 = Debug|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|Any CPU.ActiveCfg = Release|Any CPU {B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|Any CPU.Build.0 = Release|Any CPU {B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|Any CPU.Build.0 = Release|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|x64.ActiveCfg = Release|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|x64.Build.0 = Release|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|x86.ActiveCfg = Release|Any CPU
{B6D808BF-954E-48C8-A37E-62A8AA4E06C0}.Release|x86.Build.0 = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|x64.ActiveCfg = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|x64.Build.0 = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|x86.ActiveCfg = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Debug|x86.Build.0 = Debug|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|Any CPU.Build.0 = Release|Any CPU {AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|Any CPU.Build.0 = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|x64.ActiveCfg = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|x64.Build.0 = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|x86.ActiveCfg = Release|Any CPU
{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}.Release|x86.Build.0 = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|x64.ActiveCfg = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|x64.Build.0 = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|x86.ActiveCfg = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Debug|x86.Build.0 = Debug|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|Any CPU.Build.0 = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|x64.ActiveCfg = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|x64.Build.0 = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|x86.ActiveCfg = Release|Any CPU
{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
+3 -1
View File
@@ -49,6 +49,8 @@ namespace AnimeAnnouncer
Console.WriteLine("Using cache"); Console.WriteLine("Using cache");
} }
tmdbCache.CacheExpiration = TimeSpan.FromDays(7);
String mastodonInstance = config["MastodonInstance"]; String mastodonInstance = config["MastodonInstance"];
if(!String.IsNullOrEmpty(mastodonInstance)) if(!String.IsNullOrEmpty(mastodonInstance))
@@ -368,7 +370,7 @@ namespace AnimeAnnouncer
Console.WriteLine($"{title} has been previously announced, so avoiding announcing it again."); Console.WriteLine($"{title} has been previously announced, so avoiding announcing it again.");
return; return;
} }
else if (!finaleConfirmed) else if (!finaleConfirmed && (!cachedShow.AnilistPopulated.HasValue || !cachedShow.AnilistPopulated.Value))
{ {
Console.WriteLine($"Would have announced finale for {title}, on S{cachedShow.LatestSeasonNumber}E{cachedShow.LastEpisodeNumber} but the finale episode type was not found."); Console.WriteLine($"Would have announced finale for {title}, on S{cachedShow.LatestSeasonNumber}E{cachedShow.LastEpisodeNumber} but the finale episode type was not found.");
//Remove from cache so subsequent releases cause a fresh lookup //Remove from cache so subsequent releases cause a fresh lookup