11<script setup lang="ts">
22import { ofetch } from " ofetch" ;
3- import { URL_MERGE_DIFF , MergeKaniColumns , multiSort , type VecMergeHashKaniList , FILTERS , ProofKind } from " ~/shared/utils/kani" ;
4- import { useStyleStore } from " ~/stores/style" ;
3+ import type { SelectButtonPassThroughMethodOptions } from " primevue" ;
4+ import { URL_MERGE_DIFF , MergeKaniColumns , multiSort , type VecMergeHashKaniList , FILTERS , ProofKind , optionsProofKind } from " ~/shared/utils/kani" ;
5+ import { useDarkStore , useStyleStore } from " ~/stores/style" ;
56
67// Compute absolute scrollHeight for DataTable.
7- const { viewportHeight } = storeToRefs (useStyleStore ());
8+ const { color, viewportHeight } = storeToRefs (useStyleStore ());
9+ const { fontColor } = storeToRefs (useDarkStore ());
810
911const raw = ref <VecMergeHashKaniList >([]);
1012// Download JSON
@@ -23,6 +25,8 @@ const counts = computed<{ total: number, standard: number, contract: number }>((
2325 raw .value .filter (ele => ele .proof_kind === ProofKind .Contract ).length ,
2426}));
2527
28+ const selectedProofKind = ref <string []>([]);
29+ watch (selectedProofKind , val => console .log (val ));
2630
2731// Set title
2832useHead ({ title: " Verify Rust Std - Kani" });
@@ -37,7 +41,18 @@ useHead({ title: "Verify Rust Std - Kani" });
3741
3842 <template #header >
3943 <div class =" flex justify-between items-center" >
40- <div >
44+ <div class =" flex justify-between items-center gap-1" >
45+ Proof Kind:
46+ <SelectButton v-model =" selectedProofKind" :options =" optionsProofKind" :option-label =" x => x" multiple :pt =" {
47+ pcToggleButton: {
48+ content: (opt: SelectButtonPassThroughMethodOptions) => ({
49+ style: {
50+ background: opt.context.active ? color.green : 'transparent',
51+ color: fontColor
52+ }
53+ })
54+ }
55+ }" />
4156 </div >
4257 <div >
4358 <IconField >
0 commit comments