@@ -52,25 +52,21 @@ fn main() {
5252
5353 // Check if repos are configured
5454 let has_repos = {
55- if let Some ( state) = app. try_state :: < AppState > ( ) {
56- let config = state. config . lock ( ) . unwrap ( ) ;
57- !config. selected_repos . is_empty ( )
58- } else {
59- false
60- }
55+ let state = app. state :: < AppState > ( ) ;
56+ let config = state. config . lock ( ) . unwrap ( ) ;
57+ !config. selected_repos . is_empty ( )
6158 } ;
6259
6360 let icon_data = generate_tray_icon ( None , has_repos) ;
6461 let icon = Image :: from_bytes ( & icon_data) ?;
6562
6663 // Check if user is authenticated
6764 let is_authenticated = {
68- if let Some ( state) = app. try_state :: < AppState > ( ) {
69- let config = state. config . lock ( ) . unwrap ( ) ;
70- config. access_token . is_some ( )
71- } else {
72- false
73- }
65+ let state = app. state :: < AppState > ( ) ;
66+ let config = state. config . lock ( ) . unwrap ( ) ;
67+ config. access_token . as_ref ( )
68+ . map ( |t| !t. trim ( ) . is_empty ( ) )
69+ . unwrap_or ( false )
7470 } ;
7571
7672 // Show window if not authenticated, hide if already logged in
@@ -79,12 +75,14 @@ fn main() {
7975 let _ = window. hide ( ) ;
8076 } else {
8177 // First time - show window for login
78+ handle_window_show ( app. handle ( ) ) ;
8279 position_window_near_tray ( & window) ;
8380 let _ = window. show ( ) ;
8481 let _ = window. set_focus ( ) ;
8582 }
8683 }
8784
85+
8886 let _tray = TrayIconBuilder :: with_id ( "main-tray" )
8987 . icon ( icon)
9088 . menu ( & menu)
0 commit comments