ADD: Multi device mocks
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
<div v-if="isMacOS" :style="{width: 80 / zoomFactor + 'px'}" />
|
<div v-if="isMacOS" :style="{width: 80 / zoomFactor + 'px'}" />
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<h1
|
<h1
|
||||||
class="text-2xl min-w-32 app-titlebar-button text-zinc-100"
|
class="text-2xl min-w-32 app-titlebar-button text-zinc-100 text-nowrap"
|
||||||
@click="$refs.zerooneTitle.scramble(1,100,0); $refs.zerooneSubtitle.scramble(1,75,30)">
|
@click="$refs.zerooneTitle.scramble(1,100,0); $refs.zerooneSubtitle.scramble(1,75,30)">
|
||||||
<ScrambleText
|
<ScrambleText
|
||||||
ref="zerooneTitle"
|
ref="zerooneTitle"
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
:replace-interval="100"
|
:replace-interval="100"
|
||||||
/>
|
/>
|
||||||
</h1>
|
</h1>
|
||||||
<h2 class="text-sm min-w-[188px] text-muted-foreground font-mono">
|
<h2 class="text-sm min-w-[188px] text-muted-foreground font-mono text-nowrap">
|
||||||
::
|
::
|
||||||
<ScrambleText
|
<ScrambleText
|
||||||
ref="zerooneSubtitle"
|
ref="zerooneSubtitle"
|
||||||
@@ -25,16 +25,27 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<MenubarMenu>
|
<MenubarMenu>
|
||||||
<MenubarTrigger v-t="'navbar.device.title'" class="app-titlebar-button" />
|
<MenubarTrigger class="app-titlebar-button">
|
||||||
|
<template v-if="store.multipleDevicesConnected">
|
||||||
|
Devices<span class="text-zinc-600"> (2)</span>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
Device
|
||||||
|
</template>
|
||||||
|
</MenubarTrigger>
|
||||||
<MenubarContent>
|
<MenubarContent>
|
||||||
<!-- TODO: Switch keyboard shortcut icons based on platform -->
|
<!-- TODO: Switch keyboard shortcut icons based on platform -->
|
||||||
<MenubarItem>
|
<MenubarItem>
|
||||||
{{ $t('navbar.device.disconnect') }}
|
{{ store.connected ? $t('navbar.device.disconnect') : $t('navbar.device.connect') }}
|
||||||
<MenubarShortcut>⌘D</MenubarShortcut>
|
<MenubarShortcut>⌘D</MenubarShortcut>
|
||||||
</MenubarItem>
|
</MenubarItem>
|
||||||
<MenubarItem>{{ $t('navbar.device.about') }}</MenubarItem>
|
<MenubarItem v-if="store.multipleDevicesConnected">Next Device
|
||||||
|
<MenubarShortcut>⌘N</MenubarShortcut>
|
||||||
|
</MenubarItem>
|
||||||
<MenubarSeparator />
|
<MenubarSeparator />
|
||||||
<MenubarItem>{{ $t('navbar.device.preferences') }}</MenubarItem>
|
<MenubarItem>{{ $t('navbar.device.preferences') }}
|
||||||
|
<MenubarShortcut>⌘,</MenubarShortcut>
|
||||||
|
</MenubarItem>
|
||||||
<MenubarSeparator />
|
<MenubarSeparator />
|
||||||
<MenubarItem>{{ $t('navbar.device.export') }}
|
<MenubarItem>{{ $t('navbar.device.export') }}
|
||||||
<MenubarShortcut>⌘E</MenubarShortcut>
|
<MenubarShortcut>⌘E</MenubarShortcut>
|
||||||
@@ -54,25 +65,16 @@
|
|||||||
<MenubarMenu>
|
<MenubarMenu>
|
||||||
<MenubarTrigger class="app-titlebar-button">Help</MenubarTrigger>
|
<MenubarTrigger class="app-titlebar-button">Help</MenubarTrigger>
|
||||||
<MenubarContent>
|
<MenubarContent>
|
||||||
<!-- TODO: Switch keyboard shortcut icons based on platform -->
|
<MenubarItem>Help?</MenubarItem>
|
||||||
<MenubarItem>
|
<MenubarItem>HELP!</MenubarItem>
|
||||||
{{ $t('navbar.device.disconnect') }}
|
<MenubarItem>HEEEELLLP!!!</MenubarItem>
|
||||||
<MenubarShortcut>⌘D</MenubarShortcut>
|
|
||||||
</MenubarItem>
|
|
||||||
<MenubarItem>{{ $t('navbar.device.about') }}</MenubarItem>
|
|
||||||
<MenubarSeparator />
|
<MenubarSeparator />
|
||||||
<MenubarItem>{{ $t('navbar.device.preferences') }}</MenubarItem>
|
<MenubarItem>Aaah!!!</MenubarItem>
|
||||||
|
<MenubarItem>AAAAAaaaaaahh!!!</MenubarItem>
|
||||||
|
<MenubarItem>AAAAAAAAAAAAAaaaaaargh!!!</MenubarItem>
|
||||||
<MenubarSeparator />
|
<MenubarSeparator />
|
||||||
<MenubarItem>{{ $t('navbar.device.export') }}
|
<MenubarItem>Contact Support</MenubarItem>
|
||||||
<MenubarShortcut>⌘E</MenubarShortcut>
|
<MenubarItem>Report a Bug</MenubarItem>
|
||||||
</MenubarItem>
|
|
||||||
<MenubarItem>{{ $t('navbar.device.import') }}
|
|
||||||
<MenubarShortcut>⌘I</MenubarShortcut>
|
|
||||||
</MenubarItem>
|
|
||||||
<MenubarSeparator />
|
|
||||||
<MenubarItem>{{ $t('navbar.device.quit') }}
|
|
||||||
<MenubarShortcut>⌘Q</MenubarShortcut>
|
|
||||||
</MenubarItem>
|
|
||||||
</MenubarContent>
|
</MenubarContent>
|
||||||
</MenubarMenu>
|
</MenubarMenu>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<Transition name="fade">
|
<Transition name="fade">
|
||||||
<button
|
<button
|
||||||
v-if="!showProfileConfig"
|
v-if="!showProfileConfig"
|
||||||
class="bg-zinc-200 text-black hover:bg-zinc-100 rounded-full aspect-square h-7 flex justify-center items-center"
|
class="bg-zinc-200 text-black hover:bg-zinc-100 rounded-lg h-8 aspect-square flex justify-center items-center"
|
||||||
@click="store.addProfile">
|
@click="store.addProfile">
|
||||||
<Plus class="h-4" />
|
<Plus class="h-4" />
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -90,8 +90,8 @@
|
|||||||
"about": "About Device",
|
"about": "About Device",
|
||||||
"connect": "Connect",
|
"connect": "Connect",
|
||||||
"disconnect": "Disconnect",
|
"disconnect": "Disconnect",
|
||||||
"export": "Export JSON",
|
"export": "Export Profiles",
|
||||||
"import": "Import JSON",
|
"import": "Import Profiles",
|
||||||
"preferences": "Preferences",
|
"preferences": "Preferences",
|
||||||
"quit": "Quit",
|
"quit": "Quit",
|
||||||
"title": "Device"
|
"title": "Device"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export const useStore = defineStore('main', {
|
|||||||
profileCategories: [],
|
profileCategories: [],
|
||||||
selectedProfileId: null,
|
selectedProfileId: null,
|
||||||
connected: false,
|
connected: false,
|
||||||
|
connectedDevices: ['test1', 'test2'],
|
||||||
selectedFeature: 'knob',
|
selectedFeature: 'knob',
|
||||||
selectedKey: 'a',
|
selectedKey: 'a',
|
||||||
currentConfigPage: 'mapping',
|
currentConfigPage: 'mapping',
|
||||||
@@ -46,6 +47,7 @@ export const useStore = defineStore('main', {
|
|||||||
selectedProfile: (state) => state.profiles.find(p => p.id === state.selectedProfileId),
|
selectedProfile: (state) => state.profiles.find(p => p.id === state.selectedProfileId),
|
||||||
currentConfigComponent: (state) => state.configPages[state.selectedFeature][state.currentConfigPage]?.component || WIP,
|
currentConfigComponent: (state) => state.configPages[state.selectedFeature][state.currentConfigPage]?.component || WIP,
|
||||||
currentConfigPages: (state) => state.configPages[state.selectedFeature] || {},
|
currentConfigPages: (state) => state.configPages[state.selectedFeature] || {},
|
||||||
|
multipleDevicesConnected: (state) => state.connectedDevices.length > 1,
|
||||||
}, actions: {
|
}, actions: {
|
||||||
selectProfile(id) {
|
selectProfile(id) {
|
||||||
if (!this.profileIds.includes(id)) return false
|
if (!this.profileIds.includes(id)) return false
|
||||||
|
|||||||
Reference in New Issue
Block a user