diff --git a/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml b/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml
index d4aef58..e4f4d74 100644
--- a/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml
+++ b/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml
@@ -9,28 +9,7 @@
-
+
@RenderBody()
diff --git a/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml.css b/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml.css
index c187c02..106f9a3 100644
--- a/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml.css
+++ b/AnimeAnnouncer.Web/Pages/Shared/_Layout.cshtml.css
@@ -8,7 +8,7 @@ a.navbar-brand {
}
a {
- color: #0077cc;
+ color: #4dabf7;
}
.btn-primary {
@@ -24,14 +24,14 @@ a {
}
.border-top {
- border-top: 1px solid #e5e5e5;
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.border-bottom {
- border-bottom: 1px solid #e5e5e5;
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.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 {
@@ -45,4 +45,6 @@ button.accept-policy {
width: 100%;
white-space: nowrap;
line-height: 60px;
+ background-color: #121212;
+ color: #adb5bd;
}
diff --git a/AnimeAnnouncer.Web/wwwroot/css/site.css b/AnimeAnnouncer.Web/wwwroot/css/site.css
index 2453a17..dcc1e0c 100644
--- a/AnimeAnnouncer.Web/wwwroot/css/site.css
+++ b/AnimeAnnouncer.Web/wwwroot/css/site.css
@@ -19,7 +19,26 @@ html {
body {
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 --- */
@@ -27,20 +46,20 @@ body {
border-radius: 0.75rem;
overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease;
- background-color: #fff;
- border: 1px solid rgba(0, 0, 0, 0.08);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
+ background-color: #1e1e1e;
+ border: 1px solid rgba(255, 255, 255, 0.08);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.anime-card:hover {
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 {
position: relative;
height: 320px;
- background-color: #e9ecef;
+ background-color: #2a2a2a;
overflow: hidden;
}
diff --git a/AnimeAnnouncer.sln b/AnimeAnnouncer.sln
index c5c040e..01b2177 100644
--- a/AnimeAnnouncer.sln
+++ b/AnimeAnnouncer.sln
@@ -7,20 +7,54 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AnimeAnnouncer", "AnimeAnno
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassTorrentAdd", "MassTorrentAdd\MassTorrentAdd.csproj", "{AE94FFAE-8D5B-46EF-BC7C-48510F0F7F04}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimeAnnouncer.Web", "AnimeAnnouncer.Web\AnimeAnnouncer.Web.csproj", "{DD4F134D-B455-4A8C-8DDE-AA0ED735DA42}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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|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.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.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.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
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/AnimeAnnouncer/Program.cs b/AnimeAnnouncer/Program.cs
index 7873e66..a5526d0 100644
--- a/AnimeAnnouncer/Program.cs
+++ b/AnimeAnnouncer/Program.cs
@@ -49,6 +49,8 @@ namespace AnimeAnnouncer
Console.WriteLine("Using cache");
}
+ tmdbCache.CacheExpiration = TimeSpan.FromDays(7);
+
String mastodonInstance = config["MastodonInstance"];
if(!String.IsNullOrEmpty(mastodonInstance))
@@ -368,7 +370,7 @@ namespace AnimeAnnouncer
Console.WriteLine($"{title} has been previously announced, so avoiding announcing it again.");
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.");
//Remove from cache so subsequent releases cause a fresh lookup