@@ -4,13 +4,13 @@ class DeviceConfig {
44 this . ws = null ;
55 this . isConnected = false ;
66 this . deviceInfo = null ;
7- this . maxLogEntries = 200 ; // Максимальное количество записей в логе
7+ this . maxLogEntries = 32 ; // Максимальное количество записей в логе
88
99 this . initWebSocket ( ) ;
1010 this . initEventListeners ( ) ;
1111 this . updateUI ( ) ;
12-
1312 this . setDefaultFlags ( ) ;
13+ this . initLogToggle ( ) ;
1414 }
1515
1616 initWebSocket ( ) {
@@ -73,6 +73,48 @@ class DeviceConfig {
7373 }
7474 }
7575
76+ initLogToggle ( ) {
77+ const logPanel = document . querySelector ( '.log-panel' ) ;
78+ const logHeader = logPanel ? logPanel . querySelector ( 'h2' ) : null ;
79+ const logContainer = document . getElementById ( 'logContainer' ) ;
80+
81+ if ( ! logHeader || ! logContainer ) {
82+ console . warn ( 'Log elements not found' ) ;
83+ return ;
84+ }
85+
86+ // Делаем заголовок кликабельным
87+ logHeader . style . cursor = 'pointer' ;
88+ logHeader . style . userSelect = 'none' ;
89+
90+ // По умолчанию скрываем лог
91+ logContainer . style . display = 'none' ;
92+
93+ // Удаляем старый индикатор если есть
94+ const oldIcon = logHeader . querySelector ( '.log-toggle-icon' ) ;
95+ if ( oldIcon ) oldIcon . remove ( ) ;
96+
97+ // Добавляем индикатор состояния
98+ const toggleIcon = document . createElement ( 'span' ) ;
99+ toggleIcon . className = 'log-toggle-icon' ;
100+ toggleIcon . textContent = ' ▶' ;
101+ logHeader . appendChild ( toggleIcon ) ;
102+
103+ // Обработчик клика
104+ logHeader . addEventListener ( 'click' , ( ) => {
105+ const isHidden = logContainer . style . display === 'none' ;
106+
107+ if ( isHidden ) {
108+ logContainer . style . display = 'block' ;
109+ toggleIcon . textContent = ' ▼' ;
110+ logContainer . scrollTop = logContainer . scrollHeight ;
111+ } else {
112+ logContainer . style . display = 'none' ;
113+ toggleIcon . textContent = ' ▶' ;
114+ }
115+ } ) ;
116+ }
117+
76118 handleMessage ( message ) {
77119 switch ( message . type ) {
78120 case 'device_status' :
0 commit comments