feat: multi-profile progress
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue';
|
||||
import Button from 'primevue/button';
|
||||
import ToggleSwitch from 'primevue/toggleswitch';
|
||||
import { open } from '@tauri-apps/plugin-shell';
|
||||
@ -14,9 +15,14 @@ const props = defineProps({
|
||||
pkg: Object as () => Package,
|
||||
});
|
||||
|
||||
const toggle = async (value: boolean) => {
|
||||
await prf.togglePkg(props.pkg, value);
|
||||
};
|
||||
const model = computed({
|
||||
get() {
|
||||
return prf.isPkgEnabled(props.pkg).value;
|
||||
},
|
||||
async set(value: boolean) {
|
||||
await prf.togglePkg(props.pkg, value);
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -28,8 +34,7 @@ const toggle = async (value: boolean) => {
|
||||
class="scale-[1.33] shrink-0"
|
||||
inputId="switch"
|
||||
:disabled="!pkg?.loc"
|
||||
:model-value="prf.isPkgEnabled(pkg)"
|
||||
v-on:value-change="toggle"
|
||||
v-model="model"
|
||||
/>
|
||||
<InstallButton :pkg="pkg" />
|
||||
<Button
|
||||
@ -43,6 +48,7 @@ const toggle = async (value: boolean) => {
|
||||
v-on:click="pkg?.loc && open(pkg.loc.path ?? '')"
|
||||
/>
|
||||
<Button
|
||||
v-if="pkg?.rmt"
|
||||
rounded
|
||||
icon="pi pi-external-link"
|
||||
severity="info"
|
||||
@ -50,7 +56,7 @@ const toggle = async (value: boolean) => {
|
||||
size="small"
|
||||
class="ml-2 shrink-0"
|
||||
style="width: 2rem; height: 2rem"
|
||||
v-on:click="pkg?.rmt && open(pkg.rmt.package_url ?? '')"
|
||||
v-on:click="open(pkg.rmt.package_url ?? '')"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
Reference in New Issue
Block a user