Skip to main content

teksilo_widgets/common/datetime/
weekday_names.rs

1// SPDX-License-Identifier: MPL-2.0
2// SPDX-FileCopyrightText: 2026 FernTech
3
4//! Localized weekday names — `tr_widget!` keys grouped by width.
5
6use jiff::civil::Weekday;
7
8/// Long weekday name key (e.g. "Monday"). Used by AccessKit labels on
9/// calendar column headers and by long-form display strings.
10pub fn weekday_long_key(w: Weekday) -> &'static str {
11    match w {
12        Weekday::Monday => "calendar-weekday-long-monday",
13        Weekday::Tuesday => "calendar-weekday-long-tuesday",
14        Weekday::Wednesday => "calendar-weekday-long-wednesday",
15        Weekday::Thursday => "calendar-weekday-long-thursday",
16        Weekday::Friday => "calendar-weekday-long-friday",
17        Weekday::Saturday => "calendar-weekday-long-saturday",
18        Weekday::Sunday => "calendar-weekday-long-sunday",
19    }
20}
21
22/// Short (3-letter convention) weekday name key (e.g. "Mon"). Used for
23/// the weekday header row inside Calendar.
24pub fn weekday_short_key(w: Weekday) -> &'static str {
25    match w {
26        Weekday::Monday => "calendar-weekday-short-monday",
27        Weekday::Tuesday => "calendar-weekday-short-tuesday",
28        Weekday::Wednesday => "calendar-weekday-short-wednesday",
29        Weekday::Thursday => "calendar-weekday-short-thursday",
30        Weekday::Friday => "calendar-weekday-short-friday",
31        Weekday::Saturday => "calendar-weekday-short-saturday",
32        Weekday::Sunday => "calendar-weekday-short-sunday",
33    }
34}
35
36/// Narrow (1-letter) weekday name key — used in tight layouts.
37pub fn weekday_narrow_key(w: Weekday) -> &'static str {
38    match w {
39        Weekday::Monday => "calendar-weekday-narrow-monday",
40        Weekday::Tuesday => "calendar-weekday-narrow-tuesday",
41        Weekday::Wednesday => "calendar-weekday-narrow-wednesday",
42        Weekday::Thursday => "calendar-weekday-narrow-thursday",
43        Weekday::Friday => "calendar-weekday-narrow-friday",
44        Weekday::Saturday => "calendar-weekday-narrow-saturday",
45        Weekday::Sunday => "calendar-weekday-narrow-sunday",
46    }
47}