diff --git a/aoc-client/src/lib.rs b/aoc-client/src/lib.rs
index 87384c2..21434d4 100644
--- a/aoc-client/src/lib.rs
+++ b/aoc-client/src/lib.rs
@@ -368,9 +368,10 @@ impl AocClient {
// Remove 2019 shadows
r#"|(]*>\.)"#,
- // Remove 2019 "sunbeam"
- r#"|(]*>"#,
- r#"]*>"#,
+ r#"(]*style="[^>]*animation-delay[^>]*>[^>]*)+"#,
+ r#")"#,
))
.unwrap()
.replace_all(&main, "")
@@ -384,28 +385,28 @@ impl AocClient {
))
.unwrap();
- let all_stars = main.contains("calendar calendar-perfect");
-
// Remove stars that have not been collected
+ let mut star_state = "";
+
let calendar = cleaned_up
.lines()
.map(|line| {
let class = class_regex
.captures(line)
.and_then(|c| c.name("class"))
- .map(|c| c.as_str())
- .unwrap_or("");
+ .map(|c| c.as_str());
- let stars =
- if class.contains("calendar-verycomplete") || all_stars {
+ if let Some(class) = class {
+ star_state = if class.contains("calendar-verycomplete") {
"**"
} else if class.contains("calendar-complete") {
"*"
} else {
""
};
+ }
- star_regex.replace(line, stars)
+ star_regex.replace(line, star_state)
})
.collect::>()
.join("\n");