diff --git a/pages/verifikasiAkun/DetailAkun.vue b/pages/verifikasiAkun/DetailAkun.vue new file mode 100644 index 0000000..ba0d5fc --- /dev/null +++ b/pages/verifikasiAkun/DetailAkun.vue @@ -0,0 +1,423 @@ + + \ No newline at end of file diff --git a/pages/verifikasiAkun/VerifikasiAkun.vue b/pages/verifikasiAkun/VerifikasiAkun.vue index 5f08148..00e072e 100644 --- a/pages/verifikasiAkun/VerifikasiAkun.vue +++ b/pages/verifikasiAkun/VerifikasiAkun.vue @@ -96,11 +96,28 @@ size="small" @click="openDaftarModal(item)" variant="flat" - class="btn-verify" + class="btn-verify mt-2" > mdi-qrcode-scan Verifikasi + + mdi-account-cog-outline + Kelola Akun + + + + + @@ -137,6 +154,7 @@ import { ref, computed, watch, onMounted, onUnmounted } from 'vue'; import { useDisplay } from 'vuetify'; import { storeToRefs } from 'pinia'; +import { useRouter } from 'vue-router'; import QrcodeVue from 'qrcode.vue'; import PageHeader from '@/components/common/PageHeader.vue'; import QRVerificationDialog from '@/components/verification/QRVerificationDialog.vue'; @@ -149,6 +167,7 @@ definePageMeta({ const display = useDisplay(); const verificationStore = useVerificationStore(); const { patients, loading, error } = storeToRefs(verificationStore); +const router = useRouter(); // Load initial patients on mount onMounted(() => { @@ -160,9 +179,10 @@ const headers = ref([ { title: 'No', value: 'no', sortable: false, width: '60px', align: 'center' }, { title: 'Nama Pasien', value: 'nama', sortable: true, align: 'center' }, { title: 'No. RM', value: 'rm', sortable: true, align: 'center' }, - { title: 'Alamat', value: 'alamat', sortable: false, align: 'center' }, + { title: 'Alamat', value: 'alamat', sortable: false, align: 'left' }, { title: 'No. Telepon', value: 'telepon', sortable: false, align: 'center' }, { title: 'Status', value: 'status', sortable: true, width: '180px', align: 'center' }, + { title: 'Pending', value: 'pending', sortable: false, width: '120px', align: 'center' }, { title: 'Actions', value: 'actions', sortable: false, width: '200px', align: 'center' }, ]); @@ -396,10 +416,10 @@ $font-weight-semibold: 600; color: $neutral-800; font-size: 14px; line-height: 20px; - text-align: center !important; + // text-align: center !important; .v-data-table-header__content { - justify-content: center !important; + // justify-content: center !important; width: 100%; } } @@ -408,20 +428,28 @@ $font-weight-semibold: 600; font-size: 14px; line-height: 20px; color: $neutral-900; - text-align: center !important; + // text-align: center !important; } // Ensure the cell content itself is centered if it contains flex/divs :deep(.v-data-table__td > *) { display: inline-flex; - justify-content: center; - align-items: center; + // justify-content: center; + // align-items: center; } } // ============================================ // CHIPS // ============================================ +.chip-orange { + background-color: #FE6B22 !important; + color: $neutral-100 !important; + font-weight: $font-weight-medium; + font-size: 12px; + line-height: 16px; +} + .chip-success { background-color: #009262 !important; color: $neutral-100 !important; diff --git a/plugins/vuetify.ts b/plugins/vuetify.ts index fda778f..87752e5 100644 --- a/plugins/vuetify.ts +++ b/plugins/vuetify.ts @@ -10,7 +10,20 @@ import { aliases, mdi } from 'vuetify/iconsets/mdi-svg' export default defineNuxtPlugin((app) => { const vuetify = createVuetify({ ssr: true, - blueprint: md2 + blueprint: md2, + theme: { + themes: { + light: { + colors: { + primary: '#3A5FBC', + lightPrimary: '#DBE1FF', + secondary: '#E65A0D', + error: '#D82719', + success: '#008D65', + } + } + } + } }) app.vueApp.use(vuetify) }) \ No newline at end of file