refactor: use one global static collator
This commit is contained in:
parent
ecf27baaf0
commit
e981775494
@ -1,12 +1,17 @@
|
||||
use std::ops::Deref;
|
||||
use std::str::FromStr;
|
||||
use std::sync::Mutex;
|
||||
use chrono::Locale;
|
||||
use dioxus::fullstack::once_cell::sync::Lazy;
|
||||
use dioxus_sdk::i18n::Language;
|
||||
use feruca::Collator;
|
||||
use unic_langid_impl::LanguageIdentifier;
|
||||
|
||||
const EN_US: &str = include_str!("en_us.json");
|
||||
const CS_CZ: &str = include_str!("cs_cz.json");
|
||||
|
||||
pub(crate) static COLLATOR: Lazy<Mutex<Collator>> = Lazy::new(|| Mutex::new(Collator::default()));
|
||||
|
||||
pub(crate) fn get_languages() -> Vec<Language> {
|
||||
Vec::from([EN_US, CS_CZ]).into_iter().map(|texts| Language::from_str(texts).unwrap()).collect()
|
||||
}
|
||||
|
@ -2,9 +2,9 @@ use std::cmp::Ordering;
|
||||
use chrono::NaiveDateTime;
|
||||
use crate::schema::projects;
|
||||
use diesel::prelude::*;
|
||||
use feruca::Collator;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use validator::Validate;
|
||||
use crate::internationalization::COLLATOR;
|
||||
|
||||
const TITLE_LENGTH_MIN: u64 = 1;
|
||||
const TITLE_LENGTH_MAX: u64 = 255;
|
||||
@ -47,7 +47,7 @@ impl PartialOrd<Self> for Project {
|
||||
|
||||
impl Ord for Project {
|
||||
fn cmp(&self, other: &Self) -> Ordering {
|
||||
Collator::default().collate(self.title(), other.title())
|
||||
COLLATOR.lock().unwrap().collate(self.title(), other.title())
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user