@hmduc16031996/claude-mb-bridge 2.3.5 → 2.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/public/app.js +43 -1
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const program = new Command();
|
|
|
6
6
|
program
|
|
7
7
|
.name('claude-mobile-bridge')
|
|
8
8
|
.description('Bridge Claude Code CLI to mobile via WebView')
|
|
9
|
-
.version('2.3.
|
|
9
|
+
.version('2.3.6')
|
|
10
10
|
.option('--token <token>', 'Pairing token from mobile app')
|
|
11
11
|
.option('--server <url>', 'Backend server URL', 'http://127.0.0.1:3110')
|
|
12
12
|
.option('--path <path>', 'Working directory', process.cwd())
|
package/package.json
CHANGED
package/public/app.js
CHANGED
|
@@ -127,6 +127,10 @@ class ClaudeBridge {
|
|
|
127
127
|
terminalContainer: document.getElementById('terminal-container'),
|
|
128
128
|
mobileKeys: document.getElementById('mobile-keys'),
|
|
129
129
|
header: document.getElementById('header'),
|
|
130
|
+
toggleHeaderBtn: document.getElementById('toggle-header-btn'),
|
|
131
|
+
toggleHeaderBtnDesktop: document.getElementById('toggle-header-btn-desktop'),
|
|
132
|
+
expandHeaderBtn: document.getElementById('expand-header-btn'),
|
|
133
|
+
scrollBottomBtn: document.getElementById('scroll-bottom-btn'),
|
|
130
134
|
};
|
|
131
135
|
}
|
|
132
136
|
|
|
@@ -172,7 +176,16 @@ class ClaudeBridge {
|
|
|
172
176
|
}
|
|
173
177
|
});
|
|
174
178
|
|
|
175
|
-
window.addEventListener('resize', () =>
|
|
179
|
+
window.addEventListener('resize', () => {
|
|
180
|
+
this.fitAddon.fit();
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
this.terminal.onScroll((e) => {
|
|
184
|
+
const buffer = this.terminal.buffer.active;
|
|
185
|
+
const isAtBottom = buffer.viewportY >= buffer.baseY;
|
|
186
|
+
this.elements.scrollBottomBtn.classList.toggle('hidden', isAtBottom);
|
|
187
|
+
});
|
|
188
|
+
|
|
176
189
|
new TouchScrollManager(this.terminal, this.elements.terminalContainer);
|
|
177
190
|
}
|
|
178
191
|
|
|
@@ -191,6 +204,35 @@ class ClaudeBridge {
|
|
|
191
204
|
}
|
|
192
205
|
});
|
|
193
206
|
});
|
|
207
|
+
|
|
208
|
+
// Header Toggle
|
|
209
|
+
const handleToggleHeader = () => {
|
|
210
|
+
const isCollapsed = this.elements.header.classList.toggle('collapsed');
|
|
211
|
+
this.elements.expandHeaderBtn.classList.toggle('hidden', !isCollapsed);
|
|
212
|
+
this.elements.toggleHeaderBtn.setAttribute('aria-expanded', !isCollapsed);
|
|
213
|
+
this.elements.toggleHeaderBtnDesktop.setAttribute('aria-expanded', !isCollapsed);
|
|
214
|
+
setTimeout(() => this.fitAddon.fit(), 200);
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
this.elements.toggleHeaderBtn.addEventListener('click', handleToggleHeader);
|
|
218
|
+
this.elements.toggleHeaderBtnDesktop.addEventListener('click', handleToggleHeader);
|
|
219
|
+
this.elements.expandHeaderBtn.addEventListener('click', handleToggleHeader);
|
|
220
|
+
|
|
221
|
+
// Scroll to Bottom
|
|
222
|
+
this.elements.scrollBottomBtn.addEventListener('click', () => {
|
|
223
|
+
this.terminal.scrollToBottom();
|
|
224
|
+
this.elements.scrollBottomBtn.classList.add('hidden');
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
// Stubs for other buttons
|
|
228
|
+
['new-session-btn', 'attach-btn', 'preview-btn', 'settings-btn'].forEach(id => {
|
|
229
|
+
const btn = document.getElementById(id);
|
|
230
|
+
if (btn) {
|
|
231
|
+
btn.addEventListener('click', () => {
|
|
232
|
+
console.log(`Button ${id} clicked (not implemented in bridge)`);
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
});
|
|
194
236
|
}
|
|
195
237
|
|
|
196
238
|
setCtrlActive(active) {
|