diff --git a/src/components/device/DeviceKeys.vue b/src/components/device/DeviceKeys.vue
index 5395f17..26ee387 100644
--- a/src/components/device/DeviceKeys.vue
+++ b/src/components/device/DeviceKeys.vue
@@ -1,23 +1,38 @@
-
{{ key}}
+ v-for="(color, key) in keys"
+ :key="key" :class="{'outline outline-white ' : key === selected,
+ 'hover:outline outline-zinc-400' : key !== selected}"
+ class="aspect-square flex-1 rounded-[2px] flex items-center justify-center"
+ :style="`box-shadow: 0 0 20px 0 ${color.hex()}`"
+ @click="$emit('select', key)">
+
{{ key }}
+
\ No newline at end of file
diff --git a/src/components/device/DeviceLEDRing.vue b/src/components/device/DeviceLEDRing.vue
index b576d11..8983c21 100644
--- a/src/components/device/DeviceLEDRing.vue
+++ b/src/components/device/DeviceLEDRing.vue
@@ -28,7 +28,7 @@ const props = defineProps({
},
})
-const leds = ref(new Array(60).fill(Color()))
+const leds = ref(Array(60).fill(Color()))
const radius = ref(100)
const ledRadius = ref(3)
diff --git a/src/components/device/DevicePreview.vue b/src/components/device/DevicePreview.vue
index 3e94a7c..28b3ac9 100644
--- a/src/components/device/DevicePreview.vue
+++ b/src/components/device/DevicePreview.vue
@@ -24,7 +24,14 @@
-
+
+ selected=args" />
@@ -34,11 +41,13 @@ import LogoMidi from '@/assets/logos/logoMidi.svg'
import DeviceBar from '@/components/device/DeviceBar.vue'
import { useStore } from '@/store'
import ScrambleText from '@/components/effects/ScrambleText.vue'
-import { computed, onMounted, onUnmounted, ref } from 'vue'
+import { computed, onMounted, ref } from 'vue'
import DeviceLEDRing from '@/components/device/DeviceLEDRing.vue'
import gsap from 'gsap'
import DeviceKeys from '@/components/device/DeviceKeys.vue'
+const selected = ref('a')
+
const value = ref(69)
const barValue = computed(() => value.value / 127 * 100)