ADD: Zero/One skin select

This commit is contained in:
Robert Kossessa
2024-02-07 21:23:38 +01:00
parent 05af3d91e2
commit f47f39a53a
9 changed files with 27 additions and 5 deletions

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 788 KiB

After

Width:  |  Height:  |  Size: 788 KiB

View File

Before

Width:  |  Height:  |  Size: 776 KiB

After

Width:  |  Height:  |  Size: 776 KiB

View File

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 374 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -2,7 +2,8 @@
<div class="aspect-[800/1100]"> <div class="aspect-[800/1100]">
<div <div
class="bg-contain bg-top bg-no-repeat h-full w-full relative" class="bg-contain bg-top bg-no-repeat h-full w-full relative"
:style="{backgroundImage: `linear-gradient(to bottom, black, rgba(0,0,0,0.2) 12%, rgba(0,0,0,0.3) 95%, black), url(${RenderNano})`}"> :style="{backgroundImage: `linear-gradient(to bottom, black, rgba(0,0,0,0.25) 12%, rgba(0,0,0,0.35) 95%, black), url(${previewDeviceImage})`,
backgroundBlendMode: 'multiply'}">
<Transition name="fade"> <Transition name="fade">
<div v-if="store.connected" class="px-10 h-12 flex justify-between items-center"> <div v-if="store.connected" class="px-10 h-12 flex justify-between items-center">
<h2> <h2>
@@ -56,7 +57,7 @@
<Transition name="fade-delayed"> <Transition name="fade-delayed">
<DeviceKeys <DeviceKeys
v-if="store.connected" v-if="store.connected"
class="absolute w-[72.7%] top-[77.2%] gap-[2.8%] left-0 right-0 mx-auto" class="absolute w-[72.7%] top-[77.5%] gap-[2.2%] left-0 right-0 mx-auto"
:selected="store.selectedFeature === 'key' ? store.selectedKey : ''" :selected="store.selectedFeature === 'key' ? store.selectedKey : ''"
@select="store.selectKey" /> @select="store.selectKey" />
</Transition> </Transition>
@@ -64,7 +65,8 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import RenderNano from '@/assets/images/renderNano.png' import RenderNanoOne from '@/assets/images/renderNanoOneTransparent.png'
import RenderNanoZero from '@/assets/images/renderNanoZeroTransparent.png'
import LogoMidi from '@/assets/logos/logoMidi.svg' import LogoMidi from '@/assets/logos/logoMidi.svg'
import DeviceBar from '@/components/device/DeviceBar.vue' import DeviceBar from '@/components/device/DeviceBar.vue'
import { useStore } from '@/store' import { useStore } from '@/store'
@@ -80,6 +82,13 @@ const barValue = computed(() => value.value / 127 * 100)
const store = useStore() const store = useStore()
const previewDeviceImages = {
nanoOne: RenderNanoOne,
nanoZero: RenderNanoZero,
}
const previewDeviceImage = computed(() => previewDeviceImages[store.previewDeviceModel || 'nanoOne'])
const targetValue = ref(69) const targetValue = ref(69)
const animateValue = () => { const animateValue = () => {
targetValue.value = Math.floor(Math.random() * 127) targetValue.value = Math.floor(Math.random() * 127)

View File

@@ -43,6 +43,10 @@
<MenubarShortcut>N</MenubarShortcut> <MenubarShortcut>N</MenubarShortcut>
</MenubarItem> </MenubarItem>
<MenubarSeparator /> <MenubarSeparator />
<MenubarItem @click="store.switchPreviewDeviceModel">
Skin: {{ previewDeviceNames[store.previewDeviceModel || 'nanoOne'] }}
</MenubarItem>
<MenubarSeparator />
<MenubarItem>{{ $t('navbar.device.preferences') }} <MenubarItem>{{ $t('navbar.device.preferences') }}
<MenubarShortcut>,</MenubarShortcut> <MenubarShortcut>,</MenubarShortcut>
</MenubarItem> </MenubarItem>
@@ -136,6 +140,11 @@ const { electron } = window
const isMacOS = electron?.platform === 'darwin' const isMacOS = electron?.platform === 'darwin'
const zoomFactor = ref(1) const zoomFactor = ref(1)
const previewDeviceNames = ref({
nanoOne: 'One',
nanoZero: 'Zero',
})
onMounted(() => { onMounted(() => {
window.addEventListener('resize', () => { window.addEventListener('resize', () => {
zoomFactor.value = window.outerWidth / window.innerWidth zoomFactor.value = window.outerWidth / window.innerWidth

View File

@@ -8,7 +8,7 @@
<div class="flex justify-center"> <div class="flex justify-center">
<div <div
class="flex bg-cover mb-6 w-72 aspect-square" class="flex bg-cover mb-6 w-72 aspect-square"
style="background-image: url(../../assets/icons/xl-bg-ico.svg)"> style="background-image: url(../../assets/old/xl-bg-ico.svg)">
<div class="flex flex-col w-full justify-center m-9 rounded-full overflow-hidden"> <div class="flex flex-col w-full justify-center m-9 rounded-full overflow-hidden">
<div class="self-center w-8 mb-1 opacity-50"> <div class="self-center w-8 mb-1 opacity-50">
<img src="../../assets/logos/logoMidi.svg" alt="midi-logo"> <img src="../../assets/logos/logoMidi.svg" alt="midi-logo">
@@ -27,5 +27,5 @@
</template> </template>
<script setup> <script setup>
import DeviceBar from '@/components/device/DeviceBar.vue' import DeviceBar from '@/components/device/DeviceBar.vue'
import DeviceBackground from '@/assets/icons/xl-bg-ico.svg' import DeviceBackground from '@/assets/old/xl-bg-ico.svg'
</script> </script>

View File

@@ -39,6 +39,7 @@ export const useStore = defineStore('main', {
}, },
}, },
}, },
previewDeviceModel: 'nanoOne',
} }
}, getters: { }, getters: {
profiles: (state) => state.profileCategories.flatMap(c => c.profiles), profiles: (state) => state.profileCategories.flatMap(c => c.profiles),
@@ -153,6 +154,9 @@ export const useStore = defineStore('main', {
setConnected(connected) { setConnected(connected) {
this.connected = connected this.connected = connected
}, },
switchPreviewDeviceModel() {
this.previewDeviceModel = this.previewDeviceModel === 'nanoOne' ? 'nanoZero' : 'nanoOne'
},
}, },
}) })