11<template >
22 <div class =" flex gap-2" >
3-
4- <div class =" btn-sm btn mb-4 p-2" @click =" showConverter" ><i class =" mdi mdi-import" ></i >Import from KLE</div >
5- <div class =" btn-sm btn mb-4 p-2" @click =" showRawPogOutput" ><i class =" mdi mdi-export" ></i >export from pog</div >
6-
3+ <div class =" btn-sm btn mb-4 p-2" @click =" showConverter" >
4+ <i class =" mdi mdi-import" ></i >Import from KLE
5+ </div >
6+ <div class =" btn-sm btn mb-4 p-2" @click =" showRawPogOutput" >
7+ <i class =" mdi mdi-export" ></i >export from pog
8+ </div >
79 </div >
810 <div v-if =" converterVisible" >
911 <div class =" flex gap-2" >
3133 style =" line-height : 1rem "
3234 rows =" 8"
3335 ></textarea >
34-
3536 </div >
3637 <div class =" mt-2 flex flex-col gap-2" >
3738 <span class =" text-warning" >this will overwrite your existing layout</span >
3839 <button class =" btn-primary btn-sm btn my-4" @click =" convert" >convert to pog.json</button >
3940 </div >
4041 <hr />
4142 </div >
42- <div v-if =" showRawPogLayout" >
43- <textarea class =" textarea textarea -bordered w-full" v-model = " pogOutput " ></textarea >
44- </div >
43+ <div v-if =" showRawPogLayout" >
44+ <textarea v-model = " pogOutput " class =" textarea-bordered textarea w-full" ></textarea >
45+ </div >
4546 <div >
4647 <div class =" flex justify-between" >
4748 <div class =" flex gap-1" >
48- <button class =" btn-sm btn btn-primary" @click =" addKey" ><i class =" mdi mdi-plus" ></i >add key</button >
49- <button class =" btn-sm btn btn-primary" @click =" removeKey" :disabled =" selectedKeys.size === 0" ><i class =" mdi mdi-trash-can" ></i >remove key</button >
49+ <button class =" btn-primary btn-sm btn" @click =" addKey" >
50+ <i class =" mdi mdi-plus" ></i >add key
51+ </button >
52+ <button
53+ class =" btn-primary btn-sm btn"
54+ :disabled =" selectedKeys.size === 0"
55+ @click =" removeKey"
56+ >
57+ <i class =" mdi mdi-trash-can" ></i >remove key
58+ </button >
5059 </div >
5160 </div >
5261
53- <keyboard-layout :key-layout =" keyboardStore.keys" mode =" layout" />
62+ <keyboard-layout
63+ :key-layout =" keyboardStore.keys"
64+ :keymap =" keyboardStore.keymap"
65+ :matrix-width =" keyboardStore.cols"
66+ mode =" layout"
67+ />
5468 <div class =" flex" >
5569 <div class =" w-1/2 border-r" >
5670 <variant-switcher ></variant-switcher >
6680<script lang="ts" setup>
6781import { cleanupKeymap , KleToPog , selectNextKey , selectPrevKey } from ' ../helpers'
6882import { onMounted , ref } from ' vue'
69- import { selectedKeys , keyboardStore , Key , keyboardHistory } from ' ../store'
83+ import { selectedKeys , keyboardStore , Key , keyboardHistory , addToHistory } from ' ../store'
7084import KeyboardLayout from ' ./KeyboardLayout.vue'
7185import { isNumber , onKeyStroke } from ' @vueuse/core'
7286import KeyLayoutInfo from ' ./KeyLayoutInfo.vue'
@@ -76,7 +90,7 @@ import VariantSwitcher from './VariantSwitcher.vue'
7690// const router = useRouter()
7791const kleInput = ref (' ' )
7892const showRawPogLayout = ref (false )
79- const pogOutput = ref (" " )
93+ const pogOutput = ref (' ' )
8094selectedKeys .value .clear ()
8195const emit = defineEmits ([' next' ])
8296const props = defineProps ([' initialSetup' ])
@@ -85,7 +99,7 @@ const showConverter = () => {
8599 converterVisible .value = ! converterVisible .value
86100}
87101const showRawPogOutput = () => {
88- showRawPogLayout .value = ! showRawPogLayout .value
102+ showRawPogLayout .value = ! showRawPogLayout .value
89103 // export
90104 pogOutput .value = JSON .stringify (keyboardStore .getKeys (), null , 4 )
91105}
@@ -130,13 +144,8 @@ const setupDone = () => {
130144 JSON .stringify ({ pogConfig: keyboardStore .serialize (), writeFirmware: false })
131145 )
132146 // save config to localstorage
133- keyboardHistory .value .push ({
134- id: keyboardStore .id ,
135- path: keyboardStore .path ,
136- name: keyboardStore .name ,
137- tags: keyboardStore .tags ,
138- description: keyboardStore .description
139- })
147+ addToHistory (keyboardStore )
148+
140149 emit (' next' )
141150}
142151
@@ -183,8 +192,8 @@ const addKey = () => {
183192}
184193
185194const removeKey = () => {
186- const keys = [... selectedKeys .value ].map (key => keyboardStore .keys [key ].id )
187- keyboardStore .removeKeys ({ids:keys })
195+ const keys = [... selectedKeys .value ].map (( key ) => keyboardStore .keys [key ].id )
196+ keyboardStore .removeKeys ({ ids: keys })
188197 selectedKeys .value .clear ()
189198}
190199
0 commit comments