File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -688,18 +688,20 @@ where
688688#[ include = "*.css" ]
689689pub struct ThemeAssets ;
690690
691+ static AVAILABLE_THEMES : LazyLock < Vec < String > > = LazyLock :: new ( || {
692+ let mut themes = vec ! [ "system" . to_string( ) ] ;
693+ for file in ThemeAssets :: iter ( ) {
694+ let chunks: Vec < & str > = file. as_ref ( ) . split ( ".css" ) . collect ( ) ;
695+ themes. push ( chunks[ 0 ] . to_owned ( ) ) ;
696+ }
697+ themes
698+ } ) ;
699+
691700impl Preferences {
692701 /// Build preferences from cookies
693702 pub fn new ( req : & Request < Body > ) -> Self {
694- // Read available theme names from embedded css files.
695- // Always make the default "system" theme available.
696- let mut themes = vec ! [ "system" . to_string( ) ] ;
697- for file in ThemeAssets :: iter ( ) {
698- let chunks: Vec < & str > = file. as_ref ( ) . split ( ".css" ) . collect ( ) ;
699- themes. push ( chunks[ 0 ] . to_owned ( ) ) ;
700- }
701703 Self {
702- available_themes : themes ,
704+ available_themes : AVAILABLE_THEMES . clone ( ) ,
703705 theme : setting ( req, "theme" ) ,
704706 front_page : setting ( req, "front_page" ) ,
705707 layout : setting ( req, "layout" ) ,
You can’t perform that action at this time.
0 commit comments