@velor/remote-mouse 6.4.8
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/.artifacts/screenshots/remote-mobile-config.png +0 -0
- package/.artifacts/screenshots/remote-mobile-home.png +0 -0
- package/.artifacts/screenshots/remote-mobile-preferences.png +0 -0
- package/.artifacts/screenshots/remote-mobile-server-info.png +0 -0
- package/.artifacts/screenshots/remote-mobile-vlc.png +0 -0
- package/.env.example +93 -0
- package/README.md +370 -0
- package/bin/remote-mouse.js +19 -0
- package/client/core/dom.js +148 -0
- package/client/core/init-socket-io.js +117 -0
- package/client/core/socket-emit.js +6 -0
- package/client/core/window-events.js +23 -0
- package/client/i18n/apply-page-translations.js +18 -0
- package/client/i18n/constants.js +3 -0
- package/client/i18n/core.js +40 -0
- package/client/i18n/locale-registry.js +77 -0
- package/client/i18n/locales/de.js +227 -0
- package/client/i18n/locales/en.js +389 -0
- package/client/i18n/locales/es.js +228 -0
- package/client/i18n/locales/fr.js +389 -0
- package/client/i18n/locales/it.js +227 -0
- package/client/i18n/locales/ja.js +227 -0
- package/client/i18n/locales/pt.js +227 -0
- package/client/i18n/locales/ru.js +240 -0
- package/client/i18n/locales/zh.js +227 -0
- package/client/preferences/constants.js +15 -0
- package/client/preferences/effects.js +24 -0
- package/client/preferences/load.js +19 -0
- package/client/preferences/render.js +26 -0
- package/client/preferences/rows.js +78 -0
- package/client/preferences/state.js +29 -0
- package/client/preview/create-preview-frame-receiver.js +13 -0
- package/client/preview/draw.js +77 -0
- package/client/preview/parse-preview-frame.js +39 -0
- package/client/preview/preview-stream.js +152 -0
- package/client/services/app-state/appStateKeys.js +30 -0
- package/client/services/app-state/createAppStateService.js +216 -0
- package/client/services/app-state/createPersistStoreService.js +122 -0
- package/client/services/app-state/createStateStoreService.js +64 -0
- package/client/services/app-state/localStorageBinding.js +26 -0
- package/client/services/app-state/normalizers.js +74 -0
- package/client/services/app-state/resolveEffectiveStateValue.js +58 -0
- package/client/services/app-state/stateDefinitions.js +107 -0
- package/client/services/backend/createBackendService.js +55 -0
- package/client/services/config/ConfigView.js +45 -0
- package/client/services/config/createClientConfigService.js +122 -0
- package/client/services/config/defaultClientConfig.js +22 -0
- package/client/services/createServicesContainer.js +48 -0
- package/client/services/createServicesRegistry.js +26 -0
- package/client/services/i18n/createI18nService.js +86 -0
- package/client/services/notifications/createNotificationService.js +56 -0
- package/client/services/pubsub/createPubSubService.js +20 -0
- package/client/services/remotes/createRemotesService.js +20 -0
- package/client/services/transport/createSocketIoTransportService.js +50 -0
- package/client/touch/bindTouchPassthrough.js +94 -0
- package/client/touch/createTouchList.js +18 -0
- package/client/touch/dispatchSyntheticTouch.js +20 -0
- package/client/touch/gesture-zone.js +28 -0
- package/client/touch/throttle.js +46 -0
- package/client/touch/touch-handlers.js +193 -0
- package/client/touch/touchpad.js +231 -0
- package/client/ui/config/page.js +840 -0
- package/client/ui/main/applyRemoteVisibilityState.js +60 -0
- package/client/ui/main/bind-client-notifications.js +3 -0
- package/client/ui/main/bindings/bindAccordion.js +121 -0
- package/client/ui/main/bindings/bindActionButtons.js +13 -0
- package/client/ui/main/bindings/bindAdminDrawer.js +137 -0
- package/client/ui/main/bindings/bindAdminRemoteButtons.js +77 -0
- package/client/ui/main/bindings/bindAdminVersion.js +27 -0
- package/client/ui/main/bindings/bindBrowserRemoteButtons.js +119 -0
- package/client/ui/main/bindings/bindRemoteAccordion.js +23 -0
- package/client/ui/main/bindings/bindSamsungRemoteButtons.js +320 -0
- package/client/ui/main/bindings/bindSystemRemoteButtons.js +41 -0
- package/client/ui/main/bindings/bindVlcRemoteButtons.js +64 -0
- package/client/ui/main/canvas-ui.js +33 -0
- package/client/ui/main/connection-overlay.js +57 -0
- package/client/ui/main/init-ui.js +54 -0
- package/client/ui/main/keyboard-panel.js +271 -0
- package/client/ui/main/mouse-buttons.js +94 -0
- package/client/ui/main/page.js +21 -0
- package/client/ui/notifications/show-toast.js +48 -0
- package/client/ui/preferences/bindPreferenceSwitchers.js +49 -0
- package/client/ui/preferences/page.js +61 -0
- package/client/ui/preferences/switchers.js +200 -0
- package/index.js +9 -0
- package/package.json +41 -0
- package/public/admin-config.css +447 -0
- package/public/admin-config.html +63 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/brave-icon.svg +13 -0
- package/public/favicon.svg +30 -0
- package/public/icon-192.png +0 -0
- package/public/icon-512.png +0 -0
- package/public/index.html +246 -0
- package/public/manifest.webmanifest +45 -0
- package/public/preferences.html +55 -0
- package/public/server-info.html +574 -0
- package/public/styles.css +1042 -0
- package/public/sw.js +103 -0
- package/scripts/codex-commit.sh +112 -0
- package/scripts/generate-mobile-screenshots.mjs +244 -0
- package/scripts/install-linux.sh +633 -0
- package/scripts/install-windows.ps1 +369 -0
- package/server/application/createApplicationLifecycle.js +15 -0
- package/server/application/logger.js +216 -0
- package/server/application/shutdown.js +81 -0
- package/server/application/start.js +95 -0
- package/server/application/state.js +19 -0
- package/server/connection/api/admin-actions.router.js +65 -0
- package/server/connection/api/admin-configs.router.js +165 -0
- package/server/connection/api/admin-remotes.router.js +61 -0
- package/server/connection/api/admin-subs.router.js +49 -0
- package/server/connection/api/client.router.js +15 -0
- package/server/connection/api/configs.js +96 -0
- package/server/connection/api/qr-page.handler.js +17 -0
- package/server/connection/api/remotes.router.js +30 -0
- package/server/connection/api/server-info.router.js +149 -0
- package/server/connection/api/session.middleware.js +93 -0
- package/server/connection/api/unauthorized-response.js +73 -0
- package/server/connection/socket/createConnectionRegistrar.js +23 -0
- package/server/connection/socket/createSocketSessionAuthMiddleware.js +49 -0
- package/server/connection/socket/socket-action-responder.js +12 -0
- package/server/connection/socket/socket.timestamp-middleware.js +51 -0
- package/server/index.js +12 -0
- package/server/init/bootstrapApi.js +87 -0
- package/server/init/bootstrapSocket.js +79 -0
- package/server/init/createAdminApiRouter.js +22 -0
- package/server/init/createAdminUiRouter.js +21 -0
- package/server/init/createSocketActionRegistrars.js +52 -0
- package/server/init/observers/startConfigObserver.js +51 -0
- package/server/init/observers/startDisplaySizeObserver.js +55 -0
- package/server/init/observers/startNotificationObserver.js +49 -0
- package/server/init/observers/startQrOverlayHoverObserver.js +89 -0
- package/server/init/observers/startQrOverlayRefreshObserver.js +53 -0
- package/server/os/darwin/app.js +45 -0
- package/server/os/darwin/applescript.js +51 -0
- package/server/os/darwin/cliSocket.js +53 -0
- package/server/os/darwin/url.js +9 -0
- package/server/os/darwin/window.js +10 -0
- package/server/os/linux/app.js +120 -0
- package/server/os/linux/cliSocket.js +53 -0
- package/server/os/linux/process.js +69 -0
- package/server/os/linux/screen.js +58 -0
- package/server/os/linux/systemd.js +139 -0
- package/server/os/linux/url.js +17 -0
- package/server/os/linux/windows.js +144 -0
- package/server/os/win32/app.js +66 -0
- package/server/os/win32/cliSocket.js +15 -0
- package/server/os/win32/powershell.js +70 -0
- package/server/os/win32/process.js +20 -0
- package/server/os/win32/service.js +95 -0
- package/server/os/win32/url.js +9 -0
- package/server/os/win32/window.js +10 -0
- package/server/remotes/admin/createAdminEventGuardMiddleware.js +29 -0
- package/server/remotes/admin/createForceUpdateCheckAction.js +39 -0
- package/server/remotes/admin/createInstallUpdateAction.js +64 -0
- package/server/remotes/admin/createOpenQrBrowserAction.js +63 -0
- package/server/remotes/admin/createOpenServerInfoBrowserAction.js +58 -0
- package/server/remotes/admin/createRestartServiceAction.js +20 -0
- package/server/remotes/admin/createRotateEntryTokenAction.js +43 -0
- package/server/remotes/admin/createToggleQrOverlayAction.js +38 -0
- package/server/remotes/admin/index.js +32 -0
- package/server/remotes/admin/notifyIfRestarted.js +102 -0
- package/server/remotes/admin/registrar.js +94 -0
- package/server/remotes/browser/actions/createFocusOrLaunchBrowserAction.js +22 -0
- package/server/remotes/browser/actions/openUrlOnHost.js +3 -0
- package/server/remotes/browser/browserCatalog.js +70 -0
- package/server/remotes/browser/index.js +15 -0
- package/server/remotes/browser/listBrowsersOnHost.js +23 -0
- package/server/remotes/browser/registrar.js +29 -0
- package/server/remotes/browser/spec.js +18 -0
- package/server/remotes/browser/state.js +5 -0
- package/server/remotes/input/registrar.js +39 -0
- package/server/remotes/preview/bgraToRgbaBuffer.js +20 -0
- package/server/remotes/preview/captureAroundCursor.js +19 -0
- package/server/remotes/preview/createPreviewStreamer.js +85 -0
- package/server/remotes/preview/registrar.js +34 -0
- package/server/remotes/samsung/createSamsungCommandService.js +203 -0
- package/server/remotes/samsung/createSamsungRemote.js +26 -0
- package/server/remotes/samsung/createSamsungRemoteGetter.js +46 -0
- package/server/remotes/samsung/createSamsungTvGetter.js +102 -0
- package/server/remotes/samsung/device-config.js +122 -0
- package/server/remotes/samsung/registrar.js +59 -0
- package/server/remotes/samsung/utils.js +56 -0
- package/server/remotes/vlc/index.js +39 -0
- package/server/remotes/vlc/registrar.js +94 -0
- package/server/remotes/vlc/spec.js +15 -0
- package/server/remotes/vlc/state.js +5 -0
- package/server/remotes/window/index.js +6 -0
- package/server/remotes/window/registrar.js +28 -0
- package/server/services/application/createApplicationDaemonService.js +144 -0
- package/server/services/application/getDaemonServiceAdapter.js +56 -0
- package/server/services/application/utils.js +29 -0
- package/server/services/config/bootstrapConfig.js +38 -0
- package/server/services/config/configPaths.js +42 -0
- package/server/services/config/configSchema.js +297 -0
- package/server/services/config/configService.js +89 -0
- package/server/services/config/defaultConfig.js +137 -0
- package/server/services/config/envConfig.js +49 -0
- package/server/services/config/index.js +9 -0
- package/server/services/config/logConfig.js +54 -0
- package/server/services/config/system-config.js +44 -0
- package/server/services/createServicesContainer.js +94 -0
- package/server/services/createServicesRegistry.js +48 -0
- package/server/services/input/createInputController.js +17 -0
- package/server/services/input/createKeyboardController.js +146 -0
- package/server/services/input/createMouseController.js +182 -0
- package/server/services/notifier/createClientNotifier.js +23 -0
- package/server/services/notifier/createHostNotifier.js +41 -0
- package/server/services/notifier/createNotifier.js +13 -0
- package/server/services/notifier/createNotifierComposite.js +122 -0
- package/server/services/notifier/handleOpenQrBrowserEvent.js +40 -0
- package/server/services/notifier/handleOpenServerInfoBrowserEvent.js +40 -0
- package/server/services/notifier/handleRestartServiceEvent.js +37 -0
- package/server/services/notifier/handleRotateEntryTokenEvent.js +42 -0
- package/server/services/notifier/handleSessionEvent.js +24 -0
- package/server/services/notifier/handleToggleQrOverlayEvent.js +21 -0
- package/server/services/notifier/host-notifier/createLinuxHostNotifier.js +23 -0
- package/server/services/notifier/host-notifier/createNodeNotifierHostNotifier.js +24 -0
- package/server/services/notifier/host-notifier/index.js +11 -0
- package/server/services/notifier/mapper/handleForceUpdateCheckEvent.js +24 -0
- package/server/services/notifier/mapper/handleInstallUpdateEvent.js +53 -0
- package/server/services/notifier/mapper/handleSocketEvent.js +40 -0
- package/server/services/notifier/mapper/handleUpdateManagerEvent.js +24 -0
- package/server/services/notifier/mapper/notify.js +7 -0
- package/server/services/os/index.js +23 -0
- package/server/services/os/platforms/createFallbackAdapter.js +31 -0
- package/server/services/os/platforms/darwin/app.js +6 -0
- package/server/services/os/platforms/darwin/index.js +21 -0
- package/server/services/os/platforms/darwin/scripts.js +4 -0
- package/server/services/os/platforms/darwin/url.js +1 -0
- package/server/services/os/platforms/darwin/window.js +4 -0
- package/server/services/os/platforms/linux/app.js +6 -0
- package/server/services/os/platforms/linux/index.js +33 -0
- package/server/services/os/platforms/linux/url.js +1 -0
- package/server/services/os/platforms/linux/windows.js +11 -0
- package/server/services/os/platforms/win32/app.js +6 -0
- package/server/services/os/platforms/win32/index.js +21 -0
- package/server/services/os/platforms/win32/overlay.js +6 -0
- package/server/services/os/platforms/win32/powershell.js +4 -0
- package/server/services/os/platforms/win32/url.js +1 -0
- package/server/services/os/platforms/win32/window.js +4 -0
- package/server/services/os/shared.js +2 -0
- package/server/services/overlay/createNoopOverlay.js +13 -0
- package/server/services/overlay/createQrOverlay.js +27 -0
- package/server/services/overlay/createQrOverlayWin32.js +158 -0
- package/server/services/overlay/createQrOverlayYad.js +178 -0
- package/server/services/overlay/renderQrPage.js +82 -0
- package/server/services/persistence/createConfigDao.js +106 -0
- package/server/services/persistence/createDatabaseProvider.js +23 -0
- package/server/services/persistence/createEntryTokenDao.js +140 -0
- package/server/services/persistence/createRestartLogDao.js +210 -0
- package/server/services/persistence/index.js +19 -0
- package/server/services/pubsub/createEventStore.js +54 -0
- package/server/services/pubsub/createPubSub.js +89 -0
- package/server/services/pubsub/createServiceEvents.js +29 -0
- package/server/services/pubsub/serviceEventConstants.js +39 -0
- package/server/services/remotes/createRemotes.js +25 -0
- package/server/services/server/createHttpsServer.js +12 -0
- package/server/services/server/createServer.js +66 -0
- package/server/services/sse/createSseService.js +96 -0
- package/server/services/sse/utils.js +7 -0
- package/server/services/system/createSystemService.js +170 -0
- package/server/services/system/getNetworkInfo.js +18 -0
- package/server/services/system/getScreenInfo.js +32 -0
- package/server/services/system/listNetworkInterfaces.js +27 -0
- package/server/services/task-manager/createTaskManager.js +68 -0
- package/server/services/task-runner/createTaskRunner.js +114 -0
- package/server/services/token-manager/createTokenManager.js +244 -0
- package/server/services/token-manager/token-format.js +7 -0
- package/server/services/token-manager/token-store-utils.js +8 -0
- package/server/services/update-manager/CommandUpdateSource.js +70 -0
- package/server/services/update-manager/NpmUpdateSource.js +34 -0
- package/server/services/update-manager/buildNpmGlobalUpdateCommand.js +15 -0
- package/server/services/update-manager/chooseUpdateCheckSource.js +20 -0
- package/server/services/update-manager/chooseUpdateInstallSource.js +5 -0
- package/server/services/update-manager/createUpdateManager.js +109 -0
- package/server/services/update-manager/resolveInstallUpdateCommand.js +42 -0
- package/server/term/cli/executeLocalServiceCommand.js +42 -0
- package/server/term/cli/getCliSocketPath.js +5 -0
- package/server/term/cli/parseCliArgs.js +110 -0
- package/server/term/cli/printCliResult.js +18 -0
- package/server/term/cli/runCliCmd.js +50 -0
- package/server/term/cli/sendCliCommand.js +76 -0
- package/server/term/cliSocket.js +29 -0
- package/server/term/srv/commands/configCommand.js +84 -0
- package/server/term/srv/commands/helpCommand.js +6 -0
- package/server/term/srv/commands/infoCommand.js +7 -0
- package/server/term/srv/commands/openQrCommand.js +7 -0
- package/server/term/srv/commands/samsungDetectCommand.js +52 -0
- package/server/term/srv/commands/serviceCommand.js +25 -0
- package/server/term/srv/commands/systemConfigCommand.js +7 -0
- package/server/term/srv/commands/tasksCommand.js +24 -0
- package/server/term/srv/commands/tokensCommand.js +15 -0
- package/server/term/srv/executeCliCommand.js +44 -0
- package/server/term/srv/executeCliRequest.js +38 -0
- package/server/term/srv/startCliServer.js +140 -0
- package/server/utils/createRandomToken.js +11 -0
- package/server/utils/env.js +155 -0
- package/server/utils/git.js +13 -0
- package/server/utils/http.js +7 -0
- package/server/utils/network.js +45 -0
- package/server/utils/paths.js +10 -0
- package/server/utils/process.js +57 -0
- package/server/utils/robot.js +11 -0
- package/server/utils/semver.js +33 -0
- package/server/utils/truncateText.js +7 -0
- package/utils/createLazy.js +13 -0
- package/utils/functional.js +48 -0
- package/utils/math.js +26 -0
- package/utils/notificationSettings.js +61 -0
- package/utils/object.utils.js +79 -0
- package/utils/predicates.js +17 -0
- package/utils/remoteCommands.js +40 -0
- package/utils/sync.js +3 -0
- package/velor-remote-mouse-6.4.8.tgz +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html data-i18n-page-title="adminConfig.pageTitle">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
6
|
+
<title>Remote Mouse Config</title>
|
|
7
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
8
|
+
<link rel="stylesheet" href="/admin-config.css?v=20260330a" />
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<main class="config-page">
|
|
12
|
+
<header class="config-hero">
|
|
13
|
+
<div>
|
|
14
|
+
<p class="eyebrow" data-i18n="adminConfig.eyebrow">Administration</p>
|
|
15
|
+
<h1 data-i18n="adminConfig.title">Configuration persistante</h1>
|
|
16
|
+
<p class="hero-copy" data-i18n="adminConfig.copy">Les champs ci-dessous sont stockes en base de donnees et regroupes selon la structure de l'objet de configuration.</p>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="hero-actions">
|
|
19
|
+
<a class="secondary-link" href="/" data-i18n="adminConfig.back">Retour remote</a>
|
|
20
|
+
<button id="reload-config" type="button" data-i18n="adminConfig.reload">Recharger</button>
|
|
21
|
+
<button id="restart-service" type="button" data-i18n="adminConfig.restart">Redemarrer le service</button>
|
|
22
|
+
</div>
|
|
23
|
+
</header>
|
|
24
|
+
|
|
25
|
+
<section class="status-bar" aria-live="polite">
|
|
26
|
+
<p id="config-status" data-i18n="adminConfig.loading">Chargement de la configuration...</p>
|
|
27
|
+
</section>
|
|
28
|
+
|
|
29
|
+
<form id="config-form" class="config-grid"></form>
|
|
30
|
+
</main>
|
|
31
|
+
|
|
32
|
+
<template id="section-template">
|
|
33
|
+
<section class="config-section">
|
|
34
|
+
<div class="section-header">
|
|
35
|
+
<div class="section-heading">
|
|
36
|
+
<div class="section-heading-copy">
|
|
37
|
+
<p class="section-key"></p>
|
|
38
|
+
<h2></h2>
|
|
39
|
+
<p class="section-description"></p>
|
|
40
|
+
</div>
|
|
41
|
+
<button class="section-toggle" type="button" aria-expanded="false" data-i18n="adminConfig.showSection" data-i18n-aria-label="adminConfig.showSectionLabel" data-i18n-title="adminConfig.showSectionLabel">Afficher</button>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="section-fields"></div>
|
|
45
|
+
</section>
|
|
46
|
+
</template>
|
|
47
|
+
|
|
48
|
+
<template id="field-template">
|
|
49
|
+
<div class="field-card">
|
|
50
|
+
<span class="field-header">
|
|
51
|
+
<span class="field-label"></span>
|
|
52
|
+
<span class="field-path"></span>
|
|
53
|
+
</span>
|
|
54
|
+
<span class="field-body">
|
|
55
|
+
<span class="field-control"></span>
|
|
56
|
+
<button class="field-reset" type="button" data-i18n="adminConfig.defaultButton">Defaut</button>
|
|
57
|
+
</span>
|
|
58
|
+
</div>
|
|
59
|
+
</template>
|
|
60
|
+
|
|
61
|
+
<script type="module" src="/client/ui/config/page.js?v=20260330a"></script>
|
|
62
|
+
</body>
|
|
63
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Brave">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="g" x1="0" x2="1" y1="0" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#ff7a1a"/>
|
|
5
|
+
<stop offset="1" stop-color="#ff4f1a"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<path fill="url(#g)" d="M32 4l10 4 8-1 5 8-2 9 3 8-6 8-8 16H22L14 40 8 32l3-8-2-9 5-8 8 1z"/>
|
|
9
|
+
<path fill="#fff" d="M19 29l5-9h16l5 9-2 11-6 7H27l-6-7z"/>
|
|
10
|
+
<path fill="#ff5a1f" d="M26 27l3 4h6l3-4-1 7-4 4h-2l-4-4z"/>
|
|
11
|
+
<circle cx="26" cy="26" r="1.5" fill="#ff5a1f"/>
|
|
12
|
+
<circle cx="38" cy="26" r="1.5" fill="#ff5a1f"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Remote Mouse">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#1b2a35"/>
|
|
5
|
+
<stop offset="1" stop-color="#0c151d"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="remote" x1="0" y1="0" x2="0" y2="1">
|
|
8
|
+
<stop offset="0" stop-color="#78e6ff"/>
|
|
9
|
+
<stop offset="0.48" stop-color="#47bbff"/>
|
|
10
|
+
<stop offset="1" stop-color="#227bff"/>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
<linearGradient id="shine" x1="0" y1="0" x2="1" y2="1">
|
|
13
|
+
<stop offset="0" stop-color="#ffffff" stop-opacity="0.45"/>
|
|
14
|
+
<stop offset="1" stop-color="#ffffff" stop-opacity="0"/>
|
|
15
|
+
</linearGradient>
|
|
16
|
+
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
|
|
17
|
+
<feDropShadow dx="0" dy="2" stdDeviation="2.4" flood-color="#000000" flood-opacity="0.28"/>
|
|
18
|
+
</filter>
|
|
19
|
+
</defs>
|
|
20
|
+
<rect x="2" y="2" width="60" height="60" rx="17" fill="url(#bg)"/>
|
|
21
|
+
<g filter="url(#shadow)">
|
|
22
|
+
<rect x="12" y="8" width="40" height="48" rx="15" fill="url(#remote)"/>
|
|
23
|
+
<path d="M16 12c6-3 26-3 32 0v10c-4-5-10-7-16-7s-12 2-16 7z" fill="url(#shine)" opacity="0.55"/>
|
|
24
|
+
<rect x="30.7" y="11" width="2.6" height="42" rx="1.3" fill="#dff7ff" opacity="0.96"/>
|
|
25
|
+
<circle cx="24.5" cy="26" r="3.2" fill="#eefcff"/>
|
|
26
|
+
<circle cx="39.5" cy="26" r="3.2" fill="#eefcff"/>
|
|
27
|
+
<path d="M19 45c3.7-2.5 8-3.7 13-3.7S41.3 42.5 45 45" stroke="#eefcff" stroke-width="2.8" fill="none" stroke-linecap="round"/>
|
|
28
|
+
<path d="M17.5 44.8c4.4-5 24.6-5 29 0" stroke="#7fdcff" stroke-opacity="0.36" stroke-width="1.2" fill="none" stroke-linecap="round"/>
|
|
29
|
+
</g>
|
|
30
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html data-i18n-page-title="main.pageTitle">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, viewport-fit=cover" />
|
|
6
|
+
<title>Remote Mouse</title>
|
|
7
|
+
<meta name="theme-color" content="#101417" />
|
|
8
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
9
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
10
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
11
|
+
<meta name="apple-mobile-web-app-title" content="Remote Mouse" />
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
13
|
+
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
|
|
14
|
+
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png" />
|
|
15
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
16
|
+
<link rel="manifest" href="/manifest.webmanifest" />
|
|
17
|
+
<link rel="stylesheet" href="./styles.css?v=20260404a" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<main id="app">
|
|
21
|
+
<section id="workspace" data-i18n-aria-label="main.workspaceAria">
|
|
22
|
+
<aside id="left-menu" data-i18n-aria-label="main.serverActionsAria">
|
|
23
|
+
<div class="admin-group admin-group-updates" data-i18n-aria-label="main.updatesAria">
|
|
24
|
+
<button id="btn-force-update-check" type="button" data-i18n="main.updateCheckButton" data-i18n-title="main.updateCheckButtonTitle" data-i18n-aria-label="main.updateCheckButtonTitle">Verifier MAJ</button>
|
|
25
|
+
<button id="btn-install-update" type="button" data-i18n="main.installUpdateButton" data-i18n-title="main.installUpdateButtonTitle" data-i18n-aria-label="main.installUpdateButtonTitle">Installer MAJ</button>
|
|
26
|
+
<button id="btn-restart-service" type="button" data-i18n="main.restartServiceButton" data-i18n-title="main.restartServiceButtonTitle" data-i18n-aria-label="main.restartServiceButtonTitle">Redemarrer service</button>
|
|
27
|
+
</div>
|
|
28
|
+
<hr class="admin-separator" aria-hidden="true" />
|
|
29
|
+
<div class="admin-group admin-group-display" data-i18n-aria-label="main.displayInfoAria">
|
|
30
|
+
<div class="admin-split-row">
|
|
31
|
+
<button id="btn-open-qr-browser-server" type="button" data-i18n="main.openQrServer" data-i18n-title="main.openQrServerTitle" data-i18n-aria-label="main.openQrServerTitle">QR serveur</button>
|
|
32
|
+
<button id="btn-open-qr-browser-client" type="button" data-i18n="main.openQrClient" data-i18n-title="main.openQrClientTitle" data-i18n-aria-label="main.openQrClientTitle">QR client</button>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="admin-split-row">
|
|
35
|
+
<button id="btn-open-server-info-browser-server" type="button" data-i18n="main.openServerInfoServer" data-i18n-title="main.openServerInfoServerTitle" data-i18n-aria-label="main.openServerInfoServerTitle">Info serveur</button>
|
|
36
|
+
<button id="btn-open-server-info-browser-client" type="button" data-i18n="main.openServerInfoClient" data-i18n-title="main.openServerInfoClientTitle" data-i18n-aria-label="main.openServerInfoClientTitle">Info client</button>
|
|
37
|
+
</div>
|
|
38
|
+
<button id="btn-open-config-page" type="button" data-i18n="main.openConfig" data-i18n-title="main.openConfigTitle" data-i18n-aria-label="main.openConfigTitle">Configuration</button>
|
|
39
|
+
</div>
|
|
40
|
+
<hr class="admin-separator" aria-hidden="true" />
|
|
41
|
+
<div class="admin-group admin-group-access" data-i18n-aria-label="main.accessAria">
|
|
42
|
+
<button id="btn-toggle-qr-overlay" type="button" data-i18n="main.toggleQrOverlay" data-i18n-title="main.toggleQrOverlayTitle" data-i18n-aria-label="main.toggleQrOverlayTitle">Afficher QR</button>
|
|
43
|
+
<button id="btn-rotate-entry-token" type="button" data-i18n="main.rotateEntryToken" data-i18n-title="main.rotateEntryTokenTitle" data-i18n-aria-label="main.rotateEntryTokenTitle">Changer le jeton d'entree</button>
|
|
44
|
+
</div>
|
|
45
|
+
<hr class="admin-separator" aria-hidden="true" />
|
|
46
|
+
<button id="btn-open-preferences-page" type="button" data-i18n="main.openPreferences" data-i18n-title="main.openPreferencesTitle" data-i18n-aria-label="main.openPreferencesTitle">Preferences</button>
|
|
47
|
+
<div class="admin-drawer-footer">
|
|
48
|
+
<p id="admin-actions-disabled-message" class="admin-drawer-message hidden" data-i18n="main.adminActionsDisabledMessage">Les actions admin sont desactivees sur ce serveur.</p>
|
|
49
|
+
<div class="admin-version-row">
|
|
50
|
+
<img class="admin-version-icon" src="/icon-192.png" alt="" aria-hidden="true" width="18" height="18" />
|
|
51
|
+
<p id="admin-app-version" data-i18n-aria-label="common.version" data-i18n="main.adminAppVersion">Version: --</p>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</aside>
|
|
55
|
+
|
|
56
|
+
<section id="touch-area">
|
|
57
|
+
<div id="admin-drawer-scrim" aria-hidden="true"></div>
|
|
58
|
+
<img id="client-watermark" src="/icon-192.png" alt="" aria-hidden="true" width="34" height="34" />
|
|
59
|
+
<div id="touch-chrome">
|
|
60
|
+
<div id="remote-stack">
|
|
61
|
+
<section id="browser-shortcuts" class="remote-panel remote-panel-collapsible" data-i18n-aria-label="main.browserShortcutsAria">
|
|
62
|
+
<button class="remote-panel-toggle" type="button" aria-expanded="true">
|
|
63
|
+
<span class="remote-panel-title" data-i18n="main.browserShortcutsLabel">Navigateur</span>
|
|
64
|
+
<span class="remote-panel-chevron" aria-hidden="true"></span>
|
|
65
|
+
</button>
|
|
66
|
+
<div class="remote-panel-content">
|
|
67
|
+
<div class="remote-panel-content-inner">
|
|
68
|
+
<div class="browser-actions">
|
|
69
|
+
<div id="browser-launchers" class="remote-grid-row remote-browser-launchers"></div>
|
|
70
|
+
<div class="remote-grid-row">
|
|
71
|
+
<button id="btn-close-tab" type="button" data-i18n-aria-label="main.closeTab" data-i18n-title="main.shortcut.closeTab">✕</button>
|
|
72
|
+
<button id="btn-new-tab" type="button" data-i18n-aria-label="main.newTab" data-i18n-title="main.shortcut.newTab">+</button>
|
|
73
|
+
<button id="btn-fullscreen" type="button" data-i18n-aria-label="main.fullscreen" data-i18n-title="main.shortcut.fullscreen">⛶</button>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="remote-grid-row">
|
|
76
|
+
<button id="btn-prev-tab" type="button" data-i18n-aria-label="main.prevTab" data-i18n-title="main.shortcut.prevTab">◀</button>
|
|
77
|
+
<button id="btn-next-tab" type="button" data-i18n-aria-label="main.nextTab" data-i18n-title="main.shortcut.nextTab">▶</button>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="remote-grid-row">
|
|
80
|
+
<button id="btn-browser-back" type="button" data-i18n-aria-label="main.browserBack" data-i18n-title="main.shortcut.browserBack">⟵</button>
|
|
81
|
+
<button id="btn-browser-forward" type="button" data-i18n-aria-label="main.browserForward" data-i18n-title="main.shortcut.browserForward">⟶</button>
|
|
82
|
+
<button id="btn-address-bar" type="button" data-i18n-aria-label="main.addressBar" data-i18n-title="main.shortcut.addressBar">⌕</button>
|
|
83
|
+
<button id="btn-hard-reload" type="button" data-i18n-aria-label="main.reload" data-i18n-title="main.shortcut.reload">↻</button>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="remote-grid-row">
|
|
86
|
+
<button id="btn-video-play-pause" type="button" data-i18n-aria-label="main.videoPlayPause" data-i18n-title="main.shortcut.videoPlayPause">⏯</button>
|
|
87
|
+
<button id="btn-video-mute" type="button" data-i18n-aria-label="main.videoMute" data-i18n-title="main.shortcut.videoMute">🔇︎</button>
|
|
88
|
+
<button id="btn-video-fullscreen" type="button" data-i18n-aria-label="main.videoFullscreen" data-i18n-title="main.shortcut.videoFullscreen">⤢</button>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</section>
|
|
94
|
+
<section id="tv-controls" class="remote-panel remote-panel-collapsible" data-i18n-aria-label="main.tvControlsAria">
|
|
95
|
+
<button class="remote-panel-toggle" type="button" aria-expanded="false">
|
|
96
|
+
<span class="remote-panel-title" data-i18n="main.tvSectionLabel">Samsung TV</span>
|
|
97
|
+
<span class="remote-panel-chevron" aria-hidden="true"></span>
|
|
98
|
+
</button>
|
|
99
|
+
<div class="remote-panel-content is-collapsed">
|
|
100
|
+
<div class="remote-panel-content-inner">
|
|
101
|
+
<div class="tv-actions">
|
|
102
|
+
<div class="remote-grid-row">
|
|
103
|
+
<button id="btn-samsung-on" type="button" data-i18n-aria-label="main.samsungOn">On</button>
|
|
104
|
+
<button id="btn-samsung-off" type="button" data-i18n-aria-label="main.samsungOff" data-samsung-requires-on="true">Off</button>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="remote-grid-row">
|
|
107
|
+
<button id="btn-samsung-input" type="button" data-i18n-aria-label="main.samsungInput" data-samsung-requires-on="true">Source</button>
|
|
108
|
+
<button id="btn-samsung-enter" type="button" data-i18n-aria-label="main.samsungEnter" data-samsung-requires-on="true">Enter</button>
|
|
109
|
+
<button id="btn-samsung-pc-input" type="button" data-i18n-aria-label="main.samsungPcInput" data-samsung-requires-on="true">PC</button>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="remote-grid-row">
|
|
112
|
+
<button id="btn-samsung-volup" type="button" data-i18n-aria-label="main.samsungVolUp" data-samsung-requires-on="true">Vol+</button>
|
|
113
|
+
<button id="btn-samsung-voldown" type="button" data-i18n-aria-label="main.samsungVolDown" data-samsung-requires-on="true">Vol-</button>
|
|
114
|
+
<button id="btn-samsung-mute" type="button" data-i18n-aria-label="main.samsungMute" data-samsung-requires-on="true">Mute</button>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</section>
|
|
120
|
+
<section id="vlc-controls" class="remote-panel remote-panel-collapsible" data-i18n-aria-label="main.vlcControlsAria">
|
|
121
|
+
<button class="remote-panel-toggle" type="button" aria-expanded="false">
|
|
122
|
+
<span class="remote-panel-title" data-i18n="main.vlcSectionLabel">VLC</span>
|
|
123
|
+
<span class="remote-panel-chevron" aria-hidden="true"></span>
|
|
124
|
+
</button>
|
|
125
|
+
<div class="remote-panel-content is-collapsed">
|
|
126
|
+
<div class="remote-panel-content-inner">
|
|
127
|
+
<div class="tv-actions">
|
|
128
|
+
<div class="remote-grid-row">
|
|
129
|
+
<button id="btn-vlc-open" type="button" data-i18n="main.vlcOpen" data-i18n-title="main.vlcOpenTitle" data-i18n-aria-label="main.vlcOpenTitle">Ouvrir VLC</button>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="remote-grid-row">
|
|
132
|
+
<button id="btn-vlc-window-toggle" type="button" data-i18n-title="main.windowToggleTitle" data-i18n-aria-label="main.windowToggleTitle">▣</button>
|
|
133
|
+
<button id="btn-vlc-window-close" type="button" data-i18n-title="main.windowCloseTitle" data-i18n-aria-label="main.windowCloseTitle">✕</button>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="remote-grid-row">
|
|
136
|
+
<button id="btn-vlc-previous" type="button" data-i18n-aria-label="main.vlcPrevious" data-i18n-title="main.shortcut.vlcPrevious">⏮</button>
|
|
137
|
+
<button id="btn-vlc-play-pause" type="button" data-i18n-aria-label="main.vlcPlayPause" data-i18n-title="main.shortcut.vlcPlayPause">⏯</button>
|
|
138
|
+
<button id="btn-vlc-next" type="button" data-i18n-aria-label="main.vlcNext" data-i18n-title="main.shortcut.vlcNext">⏭</button>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="remote-grid-row">
|
|
141
|
+
<button id="btn-vlc-seek-backward" type="button" data-i18n-aria-label="main.vlcSeekBackward" data-i18n-title="main.shortcut.vlcSeekBackward">↺10</button>
|
|
142
|
+
<button id="btn-vlc-stop" type="button" data-i18n-aria-label="main.vlcStop" data-i18n-title="main.shortcut.vlcStop">⏹</button>
|
|
143
|
+
<button id="btn-vlc-seek-forward" type="button" data-i18n-aria-label="main.vlcSeekForward" data-i18n-title="main.shortcut.vlcSeekForward">10↻</button>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="remote-grid-row">
|
|
146
|
+
<button id="btn-vlc-volume-down" type="button" data-i18n-aria-label="main.vlcVolumeDown" data-i18n-title="main.shortcut.vlcVolumeDown">−</button>
|
|
147
|
+
<button id="btn-vlc-mute" type="button" data-i18n-aria-label="main.vlcMute" data-i18n-title="main.shortcut.vlcMute">🔇</button>
|
|
148
|
+
<button id="btn-vlc-volume-up" type="button" data-i18n-aria-label="main.vlcVolumeUp" data-i18n-title="main.shortcut.vlcVolumeUp">+</button>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="remote-grid-row">
|
|
151
|
+
<button id="btn-vlc-fullscreen" type="button" data-i18n-aria-label="main.vlcFullscreen" data-i18n-title="main.shortcut.vlcFullscreen">⤢</button>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
</section>
|
|
157
|
+
<section id="system-controls" class="remote-panel remote-panel-collapsible" data-i18n-aria-label="main.systemControlsAria">
|
|
158
|
+
<button class="remote-panel-toggle" type="button" aria-expanded="false">
|
|
159
|
+
<span class="remote-panel-title" data-i18n="main.systemSectionLabel">Systeme</span>
|
|
160
|
+
<span class="remote-panel-chevron" aria-hidden="true"></span>
|
|
161
|
+
</button>
|
|
162
|
+
<div class="remote-panel-content is-collapsed">
|
|
163
|
+
<div class="remote-panel-content-inner">
|
|
164
|
+
<div class="tv-actions">
|
|
165
|
+
<div class="remote-grid-row">
|
|
166
|
+
<button id="btn-system-show-desktop" type="button" data-i18n-aria-label="main.systemShowDesktop">Bureau</button>
|
|
167
|
+
<button id="btn-system-start-menu" type="button" data-i18n-aria-label="main.systemStartMenu">Start</button>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="remote-grid-row">
|
|
170
|
+
<button id="btn-system-window-toggle" type="button" data-i18n-title="main.windowToggleTitle" data-i18n-aria-label="main.windowToggleTitle">▣</button>
|
|
171
|
+
<button id="btn-system-window-close" type="button" data-i18n-title="main.windowCloseTitle" data-i18n-aria-label="main.windowCloseTitle">✕</button>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="remote-grid-row">
|
|
174
|
+
<button id="btn-system-window-left" type="button" data-i18n-aria-label="main.systemWindowLeft">◀</button>
|
|
175
|
+
<button id="btn-system-window-right" type="button" data-i18n-aria-label="main.systemWindowRight">▶</button>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</section>
|
|
181
|
+
<div id="touchpad-hint" aria-hidden="true">
|
|
182
|
+
<p id="touchpad-hint-title" data-i18n="main.canvas.dragMouse">Glisser : souris</p>
|
|
183
|
+
<p id="touchpad-hint-subtitle" data-i18n="main.canvas.touchHelp">Touchez pour cliquer, maintenez pour glisser</p>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
<div id="scroll-zone-indicator" aria-hidden="true">
|
|
187
|
+
<span id="scroll-zone-label" data-i18n="main.canvas.oneFingerScroll">SCROLL 1 DOIGT</span>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
<canvas id="touchpad"></canvas>
|
|
191
|
+
<section id="cursor-preview" data-i18n-aria-label="main.cursorPreviewAria">
|
|
192
|
+
<canvas id="preview-canvas" width="128" height="84"></canvas>
|
|
193
|
+
</section>
|
|
194
|
+
</section>
|
|
195
|
+
</section>
|
|
196
|
+
|
|
197
|
+
<section id="keyboard-panel" class="hidden" data-i18n-aria-label="main.touchEntryPanelAria">
|
|
198
|
+
<div id="keyboard-panel-preview" class="is-empty" aria-hidden="true"></div>
|
|
199
|
+
<div id="keyboard-text-mode" class="keyboard-mode">
|
|
200
|
+
<div class="keyboard-text-entry-row">
|
|
201
|
+
<textarea id="text-input" data-i18n-placeholder="main.textInputPlaceholder" placeholder="Saisir du texte a envoyer"></textarea>
|
|
202
|
+
<button id="send-text" type="button" data-i18n="main.sendText">Envoyer</button>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
<div id="keyboard-live-mode" class="keyboard-mode hidden">
|
|
206
|
+
<input id="live-text-input" type="text" enterkeyhint="done" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-i18n-placeholder="main.liveKeyboardPlaceholder" placeholder="Tapez ici" />
|
|
207
|
+
</div>
|
|
208
|
+
</section>
|
|
209
|
+
|
|
210
|
+
<section id="keyboard-shortcuts-bar" data-i18n-aria-label="main.touchEntryPanelAria">
|
|
211
|
+
<div class="keyboard-controls">
|
|
212
|
+
<button id="keyboard-esc" type="button" data-i18n="main.escape">Esc</button>
|
|
213
|
+
<button id="keyboard-tab" type="button" data-i18n="main.tab">Tab</button>
|
|
214
|
+
<button id="keyboard-enter" type="button" data-i18n="main.enter">Entree</button>
|
|
215
|
+
<button id="keyboard-shift" type="button" data-i18n="main.shift">Shift</button>
|
|
216
|
+
<button id="keyboard-alt" type="button" data-i18n="main.alt">Alt</button>
|
|
217
|
+
<button id="keyboard-ctrl" type="button" data-i18n="main.ctrl">Ctrl</button>
|
|
218
|
+
</div>
|
|
219
|
+
</section>
|
|
220
|
+
|
|
221
|
+
<nav id="menu" data-i18n-aria-label="main.menuAria">
|
|
222
|
+
<button id="btn-text-entry" type="button" data-i18n="main.textEntry">Saisie texte</button>
|
|
223
|
+
<button id="btn-live-keyboard" type="button" data-i18n="main.touchEntry">Saisie touches</button>
|
|
224
|
+
</nav>
|
|
225
|
+
|
|
226
|
+
<section id="connection-overlay" aria-live="polite">
|
|
227
|
+
<div class="connection-card">
|
|
228
|
+
<h2 data-connection-title data-i18n="main.connectionUnavailableTitle">Serveur inaccessible</h2>
|
|
229
|
+
<p data-connection-message data-i18n="main.connectionWaiting">En attente de connexion...</p>
|
|
230
|
+
</div>
|
|
231
|
+
</section>
|
|
232
|
+
|
|
233
|
+
<section id="client-notifications" aria-live="polite" data-i18n-aria-label="main.notificationsAria"></section>
|
|
234
|
+
</main>
|
|
235
|
+
|
|
236
|
+
<section id="orientation-lock-overlay" aria-live="polite">
|
|
237
|
+
<div class="connection-card">
|
|
238
|
+
<h2 data-i18n="main.orientationLockTitle">Orientation non supportee</h2>
|
|
239
|
+
<p data-i18n="main.orientationLockMessage">Repassez l'appareil en portrait pour utiliser la remote.</p>
|
|
240
|
+
</div>
|
|
241
|
+
</section>
|
|
242
|
+
|
|
243
|
+
<script src="/socket.io/socket.io.js"></script>
|
|
244
|
+
<script type="module" src="./client/ui/main/page.js?v=20260404a"></script>
|
|
245
|
+
</body>
|
|
246
|
+
</html>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "/",
|
|
3
|
+
"name": "Remote Mouse",
|
|
4
|
+
"short_name": "Remote Mouse",
|
|
5
|
+
"start_url": "/",
|
|
6
|
+
"scope": "/",
|
|
7
|
+
"display": "standalone",
|
|
8
|
+
"display_override": ["fullscreen", "standalone", "minimal-ui"],
|
|
9
|
+
"orientation": "portrait",
|
|
10
|
+
"background_color": "#101417",
|
|
11
|
+
"theme_color": "#101417",
|
|
12
|
+
"description": "Controle souris/clavier a distance depuis mobile.",
|
|
13
|
+
"icons": [
|
|
14
|
+
{
|
|
15
|
+
"src": "/icon-192.png",
|
|
16
|
+
"sizes": "192x192",
|
|
17
|
+
"type": "image/png",
|
|
18
|
+
"purpose": "any"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"src": "/icon-192.png",
|
|
22
|
+
"sizes": "192x192",
|
|
23
|
+
"type": "image/png",
|
|
24
|
+
"purpose": "maskable"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"src": "/apple-touch-icon.png",
|
|
28
|
+
"sizes": "180x180",
|
|
29
|
+
"type": "image/png",
|
|
30
|
+
"purpose": "any"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"src": "/icon-512.png",
|
|
34
|
+
"sizes": "512x512",
|
|
35
|
+
"type": "image/png",
|
|
36
|
+
"purpose": "any"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"src": "/icon-512.png",
|
|
40
|
+
"sizes": "512x512",
|
|
41
|
+
"type": "image/png",
|
|
42
|
+
"purpose": "maskable"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html data-i18n-page-title="preferences.pageTitle">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
6
|
+
<title>Remote Mouse Preferences</title>
|
|
7
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
8
|
+
<link rel="stylesheet" href="/admin-config.css?v=20260405a" />
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<main class="config-page">
|
|
12
|
+
<header class="config-hero">
|
|
13
|
+
<div>
|
|
14
|
+
<p class="eyebrow" data-i18n="preferences.eyebrow">Preferences</p>
|
|
15
|
+
<h1 data-i18n="preferences.title">Preferences locales</h1>
|
|
16
|
+
<p class="hero-copy" data-i18n="preferences.copy">Ces reglages sont stockes localement dans ce navigateur et ne modifient pas la configuration serveur.</p>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="hero-actions">
|
|
19
|
+
<a class="secondary-link" href="/" data-i18n="preferences.back">Retour remote</a>
|
|
20
|
+
</div>
|
|
21
|
+
</header>
|
|
22
|
+
|
|
23
|
+
<section class="config-section">
|
|
24
|
+
<div class="section-heading-copy">
|
|
25
|
+
<p class="section-key" data-i18n="preferences.section.local.key">Local</p>
|
|
26
|
+
<h2 data-i18n="preferences.section.local.title">Preferences du navigateur</h2>
|
|
27
|
+
<p class="section-description" data-i18n="preferences.section.local.description">Choisissez la langue, le theme et la main dominante utilises sur cet appareil.</p>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="page-toolbar-actions" data-client-prefs-host></div>
|
|
30
|
+
</section>
|
|
31
|
+
|
|
32
|
+
<section class="config-section">
|
|
33
|
+
<div class="section-heading-copy">
|
|
34
|
+
<p class="section-key" data-i18n="preferences.section.remotes.key">Remotes</p>
|
|
35
|
+
<h2 data-i18n="preferences.section.remotes.title">Affichage des remotes</h2>
|
|
36
|
+
<p class="section-description" data-i18n="preferences.section.remotes.description">Choisissez quelles remotes locales doivent etre affichees dans l’interface principale.</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="page-toolbar-actions preferences-remotes-settings" data-remote-auto-hide-host></div>
|
|
39
|
+
<hr class="preferences-section-separator" aria-hidden="true" />
|
|
40
|
+
<div id="preferences-remotes" class="page-toolbar-actions preferences-remotes-list" aria-live="polite"></div>
|
|
41
|
+
</section>
|
|
42
|
+
|
|
43
|
+
<section class="config-section">
|
|
44
|
+
<div class="section-heading-copy">
|
|
45
|
+
<p class="section-key" data-i18n="preferences.section.browsers.key">Navigateurs</p>
|
|
46
|
+
<h2 data-i18n="preferences.section.browsers.title">Launchers navigateur</h2>
|
|
47
|
+
<p class="section-description" data-i18n="preferences.section.browsers.description">Choisissez quels navigateurs locaux peuvent etre affiches dans la remote navigateur.</p>
|
|
48
|
+
</div>
|
|
49
|
+
<div id="preferences-browsers" class="page-toolbar-actions preferences-remotes-list" aria-live="polite"></div>
|
|
50
|
+
</section>
|
|
51
|
+
</main>
|
|
52
|
+
|
|
53
|
+
<script type="module" src="/client/ui/preferences/page.js?v=20260405a"></script>
|
|
54
|
+
</body>
|
|
55
|
+
</html>
|