SYMBOL INDEX (119 symbols across 20 files) FILE: extensions/chrome/background.js constant STORAGE_KEY (line 1) | const STORAGE_KEY = "deadlines"; constant MS_PER_DAY (line 2) | const MS_PER_DAY = 24 * 60 * 60 * 1000; constant BRAND_COLOR (line 3) | const BRAND_COLOR = "#334155"; constant ICON_STROKE (line 4) | const ICON_STROKE = "#1f2937"; function createIconImageData (line 6) | function createIconImageData(size) { function ensureActionIcon (line 33) | function ensureActionIcon() { function toTimestamp (line 48) | function toTimestamp(value) { function getSoonestDays (line 53) | function getSoonestDays(deadlines) { function updateBadge (line 68) | function updateBadge() { FILE: extensions/chrome/popup.js constant STORAGE_KEY (line 1) | const STORAGE_KEY = "deadlines"; constant MS_PER_DAY (line 2) | const MS_PER_DAY = 24 * 60 * 60 * 1000; constant REFRESH_INTERVAL_MS (line 3) | const REFRESH_INTERVAL_MS = 60 * 1000; constant LANG_STORAGE_KEY (line 21) | const LANG_STORAGE_KEY = "language"; function t (line 81) | function t(key, fallback = "") { function applyTranslations (line 87) | function applyTranslations() { function setLanguage (line 109) | function setLanguage(lang) { function normalizeText (line 117) | function normalizeText(value) { function toTimestamp (line 124) | function toTimestamp(value) { function daysLeft (line 129) | function daysLeft(datetime) { function formatDate (line 136) | function formatDate(datetime) { function parseIcsDate (line 149) | function parseIcsDate(value) { function parseIcs (line 176) | function parseIcs(text) { function parseTimezoneOffset (line 221) | function parseTimezoneOffset(timezone) { function parseDeadlineWithTimezone (line 230) | function parseDeadlineWithTimezone(deadline, timezone) { function parseAllConfYaml (line 244) | function parseAllConfYaml(text) { function renderCcfddlList (line 316) | function renderCcfddlList(items) { function filterCcfddlList (line 352) | function filterCcfddlList() { function addImportedDeadline (line 369) | function addImportedDeadline(item) { function mergeCcfddlItems (line 381) | function mergeCcfddlItems(items) { function loadCcfddlData (line 391) | async function loadCcfddlData() { function render (line 431) | function render(deadlines) { function loadDeadlines (line 486) | function loadDeadlines() { function startAutoRefresh (line 492) | function startAutoRefresh() { function saveDeadlines (line 505) | function saveDeadlines(deadlines) { function removeDeadline (line 511) | function removeDeadline(index) { FILE: extensions/cli/ccfddl/__main__.py function parse_tz (line 12) | def parse_tz(tz): function parse_args (line 23) | def parse_args(): function format_duraton (line 40) | def format_duraton(ddl_time: datetime, now: datetime) -> str: function main (line 60) | def main(): FILE: extensions/cli/ccfddl/convert_to_ical.py function load_mapping (line 11) | def load_mapping(path: str = "conference/types.yml"): function get_timezone (line 20) | def get_timezone(tz_str: str) -> timezone: function create_vtimezone (line 34) | def create_vtimezone(tz: timezone) -> Timezone: function convert_to_ical (line 53) | def convert_to_ical( function add_index_entry (line 212) | def add_index_entry(index, key: str, file_path: str): function reverse_index (line 216) | def reverse_index(file_paths: list[str], subs: list[str]): FILE: extensions/cli/ccfddl/convert_to_rss.py function convert_to_rss (line 10) | def convert_to_rss( FILE: scripts/merge.py function find_yml_files (line 13) | def find_yml_files(base_path, exclude_pattern="types.yml"): function main (line 38) | def main(): FILE: scripts/validate.py function load_conference_yaml_schema (line 28) | def load_conference_yaml_schema(): class ConferenceTest (line 34) | class ConferenceTest(TestCase): method test_conference_yaml_schema (line 35) | def test_conference_yaml_schema(self): function run_test (line 58) | def run_test(testcase, msg): function usage (line 69) | def usage(): FILE: src/components/calendar_popover.rs function CalendarPopover (line 5) | pub fn CalendarPopover( FILE: src/components/checkbox_button.rs constant NON_RANK_VALUE (line 4) | const NON_RANK_VALUE: &str = "N"; type FilterDropdownOption (line 7) | pub struct FilterDropdownOption { function normalize_rank_filter_selection (line 13) | pub fn normalize_rank_filter_selection(selected_values: &mut HashSet Vec { function core_filter_options (line 44) | pub fn core_filter_options() -> Vec { function thcpl_filter_options (line 74) | pub fn thcpl_filter_options() -> Vec { function MultiSelectDropdown (line 95) | pub fn MultiSelectDropdown( FILE: src/components/conf.rs type Conference (line 5) | pub struct Conference { type Rank (line 15) | pub struct Rank { type ConferenceYear (line 22) | pub struct ConferenceYear { type ConfAccRate (line 33) | pub struct ConfAccRate { type AccYear (line 39) | pub struct AccYear { type Timeline (line 49) | pub struct Timeline { type Category (line 56) | pub struct Category { type TimePoint (line 63) | pub struct TimePoint { type ConfItem (line 69) | pub struct ConfItem { function fetch_all_conf (line 100) | pub async fn fetch_all_conf( function fetch_all_acc (line 111) | pub async fn fetch_all_acc( function get_categories (line 122) | pub fn get_categories() -> Vec { function fetch_all_category (line 178) | pub async fn fetch_all_category() -> Result, Box(interval_millis: T, f: F) FILE: src/components/gitbutton.rs function GitButton (line 4) | pub fn GitButton() -> impl IntoView { FILE: src/components/header.rs type CommitData (line 8) | struct CommitData { type CommitInfo (line 13) | struct CommitInfo { function Header (line 18) | pub fn Header() -> impl IntoView { function fetch_latest_commit (line 88) | async fn fetch_latest_commit() -> Result<(bool, String), Box impl IntoView { function load_utc_map (line 1045) | fn load_utc_map() -> HashMap { function get_browser_time_and_timezone (line 1066) | fn get_browser_time_and_timezone() -> (DateTime, FixedOffse... function get_browser_time_and_timezone (line 1080) | fn get_browser_time_and_timezone() -> (DateTime, FixedOffse... function user_agent (line 1090) | fn user_agent() -> String; function is_client_device (line 1093) | fn is_client_device() -> bool { function is_mobile_device (line 1097) | fn is_mobile_device() -> bool { function get_from_local_storage (line 1136) | fn get_from_local_storage(key: &str) -> Option { function set_in_local_storage (line 1142) | fn set_in_local_storage(key: &str, value: &str) { FILE: src/components/subscription_modal.rs type SubscriptionLink (line 9) | pub struct SubscriptionLink { type IcsSubscription (line 14) | pub type IcsSubscription = SubscriptionLink; function sanitize_filter_value (line 16) | fn sanitize_filter_value(value: &str) -> String { function format_rank_label (line 20) | fn format_rank_label(system: &str, rank: &str) -> String { function format_rank_summary_value (line 29) | fn format_rank_summary_value(system: &str, rank: &str) -> String { function sorted_values (line 38) | fn sorted_values(values: &HashSet) -> Vec { function build_subscription_urls (line 44) | fn build_subscription_urls( function generate_ics_urls (line 154) | pub fn generate_ics_urls( function generate_rss_urls (line 172) | pub fn generate_rss_urls( function copy_text_to_clipboard (line 190) | fn copy_text_to_clipboard(text: &str) { function get_platform_instruction (line 206) | fn get_platform_instruction(use_english: bool) -> String { function render_filter_summary (line 246) | fn render_filter_summary( function render_link_limit_message (line 306) | fn render_link_limit_message(link_count: usize, use_english: bool) -> St... function SubscriptionModal (line 321) | pub fn SubscriptionModal( FILE: src/components/timeline.rs function TimeLine (line 6) | pub fn TimeLine(time_points: Vec) -> impl IntoView { function calculate_position_percent (line 369) | fn calculate_position_percent(time: &DateTime, start: f64, ... function get_browser_time_and_timezone (line 375) | fn get_browser_time_and_timezone() -> (DateTime, FixedOffse... function get_browser_time_and_timezone (line 389) | fn get_browser_time_and_timezone() -> (DateTime, FixedOffse... function timestamp_to_datetime (line 396) | fn timestamp_to_datetime(timestamp: f64, timezone: FixedOffset) -> DateT... function initialize_timeline (line 402) | fn initialize_timeline( function update_selected_dot (line 498) | fn update_selected_dot( FILE: src/components/timezone.rs function get_timezone_name (line 6) | pub fn get_timezone_name() -> Option { function get_timezone_name (line 13) | pub fn get_timezone_name() -> Option { function get_timezone_name_or_utc (line 19) | pub fn get_timezone_name_or_utc() -> String { function get_supported_timezone (line 25) | pub fn get_supported_timezone() -> Option { function get_timezone_or_utc (line 31) | pub fn get_timezone_or_utc() -> Tz { FILE: src/lib.rs function App (line 14) | pub fn App() -> impl IntoView { FILE: src/main.rs function main (line 4) | fn main() { FILE: src/pages/home.rs function Home (line 9) | pub fn Home() -> impl IntoView {