feat(KAN-53): add Android app and platform integration
CI/CD / preconditions (pull_request) Successful in 2s
CI/CD / test_and_check_app (pull_request) Successful in 6m22s
CI/CD / Publish immutable image (pull_request) Skipped

This commit is contained in:
2026-09-26 20:45:58 +02:00
parent 39d0887180
commit 32dac91620
35 changed files with 1829 additions and 460 deletions
+2
View File
@@ -16,6 +16,8 @@ export const en = {
connecting: 'Connecting to your server…',
connected:
'Your workspace is open. Use KanbanGit → Server settings to change servers.',
connectedMobile:
'Your workspace is open. Use Server settings to change servers.',
connectionError:
'The server did not finish loading. Check your connection, server address and HTTPS certificate, then try again. An already open workspace and its inputs are kept.',
invalidServer:
+15 -2
View File
@@ -20,7 +20,11 @@ function action(name, server) {
if (server) {
url.searchParams.set('server', server);
}
location.href = url.href;
if (window.nativeLauncher) {
window.nativeLauncher.postMessage(url.href);
} else {
location.href = url.href;
}
}
window.updateLauncher = (query) => {
@@ -34,7 +38,12 @@ window.updateLauncher = (query) => {
if (phase === 'connecting' || phase === 'connected') {
activeServer = server;
}
status.textContent = en[phase] ?? '';
status.textContent =
en[
phase === 'connected' && state.get('platform') === 'android'
? 'connectedMobile'
: phase
] ?? '';
status.dataset.state = phase;
open.disabled = phase === 'connecting';
open.textContent =
@@ -85,3 +94,7 @@ resume.addEventListener('click', () => action('resume'));
document.querySelector('#appearance').addEventListener('change', (event) => {
document.documentElement.dataset.appearance = event.target.value;
});
if (window.nativeLauncher) {
action('ready');
}