ADD: Multi device mocks

This commit is contained in:
Robert Kossessa
2024-02-07 15:49:33 +01:00
parent 8868fd3d25
commit b957c11526
4 changed files with 30 additions and 26 deletions

View File

@@ -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">&nbsp;(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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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