max / makenotwork
7 files changed,
+18 insertions,
-18 deletions
| @@ -43,7 +43,7 @@ pub(crate) fn spawn_backup_tasks( | |||
| 43 | 43 | backup_config.max_age_hours, | |
| 44 | 44 | ); | |
| 45 | 45 | info!( | |
| 46 | - | "{}: backup {} — {} (age: {}h)", | |
| 46 | + | "{}: backup {}, {} (age: {}h)", | |
| 47 | 47 | name, | |
| 48 | 48 | database, | |
| 49 | 49 | result.status, |
| @@ -39,7 +39,7 @@ pub(crate) fn spawn_tls_tasks( | |||
| 39 | 39 | let previous = db::get_latest_tls_check(&pool, &name).await.ok().flatten(); | |
| 40 | 40 | let status = tls::check_tls(&name, &tls_config).await; | |
| 41 | 41 | info!( | |
| 42 | - | "{}: TLS {} — {}d remaining", | |
| 42 | + | "{}: TLS {}, {}d remaining", | |
| 43 | 43 | name, | |
| 44 | 44 | if status.valid { "valid" } else { "invalid" }, | |
| 45 | 45 | status.days_remaining |
| @@ -40,7 +40,7 @@ pub(crate) fn spawn_whois_tasks( | |||
| 40 | 40 | while ticks.next().await { | |
| 41 | 41 | let result = whois::check_whois(&name, &whois_config).await; | |
| 42 | 42 | info!( | |
| 43 | - | "{}: WHOIS {} — {:?} days remaining", | |
| 43 | + | "{}: WHOIS {}, {:?} days remaining", | |
| 44 | 44 | name, whois_config.domain, result.days_remaining | |
| 45 | 45 | ); | |
| 46 | 46 |
| @@ -184,7 +184,7 @@ pub async fn create_default_lists( | |||
| 184 | 184 | pool, | |
| 185 | 185 | project_id, | |
| 186 | 186 | MailingListType::Content, | |
| 187 | - | &format!("{project_title} — Content"), | |
| 187 | + | &format!("{project_title}: Content"), | |
| 188 | 188 | Some("New releases and content updates"), | |
| 189 | 189 | ) | |
| 190 | 190 | .await?; | |
| @@ -193,7 +193,7 @@ pub async fn create_default_lists( | |||
| 193 | 193 | pool, | |
| 194 | 194 | project_id, | |
| 195 | 195 | MailingListType::Devlog, | |
| 196 | - | &format!("{project_title} — Devlog"), | |
| 196 | + | &format!("{project_title}: Devlog"), | |
| 197 | 197 | Some("Development updates and behind-the-scenes"), | |
| 198 | 198 | ) | |
| 199 | 199 | .await?; | |
| @@ -299,21 +299,21 @@ mod tests { | |||
| 299 | 299 | ||
| 300 | 300 | #[test] | |
| 301 | 301 | fn default_list_name_format_content() { | |
| 302 | - | let name = format!("{} — Content", "My Project"); | |
| 303 | - | assert_eq!(name, "My Project — Content"); | |
| 302 | + | let name = format!("{}: Content", "My Project"); | |
| 303 | + | assert_eq!(name, "My Project: Content"); | |
| 304 | 304 | } | |
| 305 | 305 | ||
| 306 | 306 | #[test] | |
| 307 | 307 | fn default_list_name_format_devlog() { | |
| 308 | - | let name = format!("{} — Devlog", "My Project"); | |
| 309 | - | assert_eq!(name, "My Project — Devlog"); | |
| 308 | + | let name = format!("{}: Devlog", "My Project"); | |
| 309 | + | assert_eq!(name, "My Project: Devlog"); | |
| 310 | 310 | } | |
| 311 | 311 | ||
| 312 | 312 | #[test] | |
| 313 | 313 | fn default_list_names_with_special_chars() { | |
| 314 | 314 | let title = "Héllo & World <3>"; | |
| 315 | - | assert_eq!(format!("{title} — Content"), "Héllo & World <3> — Content"); | |
| 316 | - | assert_eq!(format!("{title} — Devlog"), "Héllo & World <3> — Devlog"); | |
| 315 | + | assert_eq!(format!("{title}: Content"), "Héllo & World <3>: Content"); | |
| 316 | + | assert_eq!(format!("{title}: Devlog"), "Héllo & World <3>: Devlog"); | |
| 317 | 317 | } | |
| 318 | 318 | ||
| 319 | 319 | #[test] |
| @@ -124,7 +124,7 @@ use utoipa::OpenApi; | |||
| 124 | 124 | crate::routes::synckit::CompleteRotationRequest, | |
| 125 | 125 | )), | |
| 126 | 126 | tags( | |
| 127 | - | (name = "License Keys", description = "Public license key validation, activation, and deactivation. Stable API — response shapes are frozen."), | |
| 127 | + | (name = "License Keys", description = "Public license key validation, activation, and deactivation. Stable API: response shapes are frozen."), | |
| 128 | 128 | (name = "SyncKit", description = "E2E encrypted cloud sync for indie apps. JWT auth via /api/v1/sync/auth, then Bearer token on all other endpoints."), | |
| 129 | 129 | ), | |
| 130 | 130 | security( |
| @@ -104,17 +104,17 @@ pub(super) async fn index( | |||
| 104 | 104 | "/static/images/shots/placeholder-storefront.svg", | |
| 105 | 105 | "A creator's storefront on Makenotwork showing their listed items with prices and cover art", | |
| 106 | 106 | ) | |
| 107 | - | .with_caption("Your storefront — sell anything digital"), | |
| 107 | + | .with_caption("Your storefront: sell anything digital"), | |
| 108 | 108 | CarouselFrame::new( | |
| 109 | 109 | "/static/images/shots/placeholder-item.svg", | |
| 110 | 110 | "An item page with its price, buy button, and download details", | |
| 111 | 111 | ) | |
| 112 | - | .with_caption("Every sale is yours — 0% platform fee"), | |
| 112 | + | .with_caption("Every sale is yours. 0% platform fee"), | |
| 113 | 113 | CarouselFrame::new( | |
| 114 | 114 | "/static/images/shots/placeholder-library.svg", | |
| 115 | 115 | "A buyer's library listing the files they have purchased, ready to download", | |
| 116 | 116 | ) | |
| 117 | - | .with_caption("Buyers keep what they bought — one-click export"), | |
| 117 | + | .with_caption("Buyers keep what they bought. One-click export"), | |
| 118 | 118 | ]; | |
| 119 | 119 | ||
| 120 | 120 | Ok(IndexTemplate { |
| @@ -11247,9 +11247,9 @@ button.saved { border-color: var(--action); color: var(--action); } | |||
| 11247 | 11247 | .synckit-gauge-fill--danger { background: var(--danger); } | |
| 11248 | 11248 | ||
| 11249 | 11249 | /* ============================================================================ | |
| 11250 | - | Carousel -- composable click-through widget (partials/carousel.html). | |
| 11250 | + | Carousel: composable click-through widget (partials/carousel.html). | |
| 11251 | 11251 | One frame visible at a time; viewer-driven (prev/next, dots, arrow keys). | |
| 11252 | - | No autoplay, no slide animation -- frames swap instantly. | |
| 11252 | + | No autoplay, no slide animation; frames swap instantly. | |
| 11253 | 11253 | ========================================================================= */ | |
| 11254 | 11254 | ||
| 11255 | 11255 | /* Public gallery carousel sections (item + project pages). */ | |
| @@ -11364,7 +11364,7 @@ mnw-carousel { | |||
| 11364 | 11364 | text-align: center; | |
| 11365 | 11365 | } | |
| 11366 | 11366 | ||
| 11367 | - | /* Prev / next -- brutalist offset buttons, vertically centered over the frame. */ | |
| 11367 | + | /* Prev / next: brutalist offset buttons, vertically centered over the frame. */ | |
| 11368 | 11368 | .carousel-nav { | |
| 11369 | 11369 | position: absolute; | |
| 11370 | 11370 | top: 50%; |