@@ -11,7 +11,6 @@ import {
1111 ConfigPageMessage ,
1212} from '@/component-library' ;
1313import { configAPI , workspaceAPI } from '@/infrastructure/api' ;
14- import { systemAPI } from '@/infrastructure/api/service-api/SystemAPI' ;
1514import type { CloseBehavior } from '@/infrastructure/api/service-api/SystemAPI' ;
1615import {
1716 getTerminalService ,
@@ -38,103 +37,6 @@ import './BasicsConfig.scss';
3837
3938const log = createLogger ( 'BasicsConfig' ) ;
4039
41- function BasicsLaunchAtLoginSection ( ) {
42- const { t } = useTranslation ( 'settings/basics' ) ;
43- const isTauri = typeof window !== 'undefined' && '__TAURI__' in window ;
44- const [ enabled , setEnabled ] = useState ( false ) ;
45- const [ loading , setLoading ] = useState ( true ) ;
46- const [ saving , setSaving ] = useState ( false ) ;
47- const [ message , setMessage ] = useState < { type : 'success' | 'error' | 'info' ; text : string } | null > ( null ) ;
48-
49- const showMessage = useCallback ( ( type : 'success' | 'error' | 'info' , text : string ) => {
50- setMessage ( { type, text } ) ;
51- setTimeout ( ( ) => setMessage ( null ) , 3000 ) ;
52- } , [ ] ) ;
53-
54- useEffect ( ( ) => {
55- if ( ! isTauri ) {
56- setLoading ( false ) ;
57- return ;
58- }
59-
60- let cancelled = false ;
61- void ( async ( ) => {
62- try {
63- setLoading ( true ) ;
64- const v = await systemAPI . getLaunchAtLoginEnabled ( ) ;
65- if ( ! cancelled ) {
66- setEnabled ( v ) ;
67- }
68- } catch ( error ) {
69- log . error ( 'Failed to load launch-at-login state' , error ) ;
70- if ( ! cancelled ) {
71- showMessage ( 'error' , t ( 'launchAtLogin.messages.loadFailed' ) ) ;
72- }
73- } finally {
74- if ( ! cancelled ) {
75- setLoading ( false ) ;
76- }
77- }
78- } ) ( ) ;
79-
80- return ( ) => {
81- cancelled = true ;
82- } ;
83- } , [ isTauri , showMessage , t ] ) ;
84-
85- const handleToggle = useCallback (
86- async ( next : boolean ) => {
87- const previous = enabled ;
88- setEnabled ( next ) ;
89- setSaving ( true ) ;
90- try {
91- await systemAPI . setLaunchAtLoginEnabled ( next ) ;
92- } catch ( error ) {
93- setEnabled ( previous ) ;
94- log . error ( 'Failed to set launch-at-login' , { next, error } ) ;
95- showMessage ( 'error' , t ( 'launchAtLogin.messages.saveFailed' ) ) ;
96- } finally {
97- setSaving ( false ) ;
98- }
99- } ,
100- [ enabled , showMessage , t ]
101- ) ;
102-
103- if ( ! isTauri ) {
104- return null ;
105- }
106-
107- if ( loading ) {
108- return < ConfigPageLoading text = { t ( 'launchAtLogin.messages.loading' ) } /> ;
109- }
110-
111- return (
112- < div className = "bitfun-launch-at-login-config" >
113- < div className = "bitfun-launch-at-login-config__content" >
114- < ConfigPageMessage message = { message } />
115- < ConfigPageSection
116- title = { t ( 'launchAtLogin.sections.title' ) }
117- description = { t ( 'launchAtLogin.sections.hint' ) }
118- >
119- < ConfigPageRow
120- label = { t ( 'launchAtLogin.toggleLabel' ) }
121- description = { t ( 'launchAtLogin.toggleDescription' ) }
122- align = "center"
123- >
124- < Switch
125- checked = { enabled }
126- onChange = { ( e ) => {
127- void handleToggle ( e . target . checked ) ;
128- } }
129- disabled = { saving }
130- />
131- </ ConfigPageRow >
132- </ ConfigPageSection >
133- </ div >
134- </ div >
135- ) ;
136- }
137-
13840function BasicsAutoUpdateSection ( ) {
13941 const { t } = useTranslation ( 'settings/basics' ) ;
14042 const isTauri = typeof window !== 'undefined' && '__TAURI__' in window ;
@@ -813,7 +715,6 @@ const BasicsConfig: React.FC = () => {
813715 < ConfigPageLayout className = "bitfun-basics-config" >
814716 < ConfigPageHeader title = { t ( 'title' ) } subtitle = { t ( 'subtitle' ) } />
815717 < ConfigPageContent className = "bitfun-basics-config__content" >
816- < BasicsLaunchAtLoginSection />
817718 < BasicsAutoUpdateSection />
818719 < BasicsWindowBehaviorSection />
819720 < BasicsLoggingSection />
0 commit comments