Skip to content

Commit 04c13a0

Browse files
HaoNguyen-Ronimrim12
authored andcommitted
refactor: user ui
1 parent 57e4a90 commit 04c13a0

File tree

1 file changed

+17
-87
lines changed

1 file changed

+17
-87
lines changed

app/pages/test-user.vue

+17-87
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script setup lang="ts">
22
import { type User, useUserStore } from '@base/stores/admin/user'
3+
import { type Role, useRoleStore } from '@base/stores/admin/role'
34
import { DRAWER_ACTION_TYPES } from '~/constant/organization'
45
import type { DrawerConfig } from '~/utils/types'
56
@@ -39,6 +40,10 @@ const userStore = useUserStore()
3940
const { userList, userDetail, totalUsers } = storeToRefs(userStore)
4041
const { fetchUserList, fetchUserDetail, updateUser, deleteUser, createUser } = userStore
4142
43+
const roleStore = useRoleStore()
44+
const { roleList } = storeToRefs(roleStore)
45+
const { fetchRoles } = roleStore
46+
4247
const currentUserId = ref<string>('')
4348
const currentUserData = ref<Partial<User>>({
4449
id: '',
@@ -207,7 +212,14 @@ async function handleConfirmDeleteUser(isConfirm: boolean) {
207212
208213
useLazyAsyncData(
209214
async () => {
210-
await fetchUserList()
215+
await fetchUserList({
216+
// limit: itemsPerPage.value,
217+
// page: page.value,
218+
// keyword: searchQuery.value,
219+
// page: page.value,
220+
// sortBy: sortBy.value,
221+
})
222+
await fetchRoles()
211223
},
212224
)
213225
</script>
@@ -218,91 +230,6 @@ useLazyAsyncData(
218230
<h1 class="text-center">
219231
Test user
220232
</h1>
221-
222-
<div>
223-
<h2 class="mb-2">
224-
user list:
225-
</h2>
226-
<div v-if="userList.length > 0">
227-
<p>
228-
Total users: {{ totalUsers }}
229-
</p>
230-
<br>
231-
232-
<ul>
233-
<li
234-
v-for="user in userList"
235-
:key="user.id"
236-
>
237-
<div class="d-flex align-center justify-space-between">
238-
<p>
239-
{{ user.full_name }}
240-
</p>
241-
242-
<div class="d-flex align-center gap-2">
243-
<VBtn @click="handleOpenEditDrawer(user.id)">
244-
Edit
245-
</VBtn>
246-
247-
<VBtn @click="handleOpenDeleteDialog(user.id)">
248-
Delete
249-
</VBtn>
250-
</div>
251-
</div>
252-
</li>
253-
</ul>
254-
</div>
255-
<div v-else>
256-
No users
257-
</div>
258-
</div>
259-
260-
<div>
261-
<h2 class="mb-2 mt-8 d-flex align-center">
262-
user detail:
263-
</h2>
264-
265-
<div class="mb-2 d-flex align-center gap-2">
266-
<VTextField
267-
v-model="currentUserId"
268-
label="User ID"
269-
/>
270-
271-
<VBtn
272-
@click="fetchUserDetail(currentUserId)"
273-
>
274-
Fetch User
275-
</VBtn>
276-
</div>
277-
278-
<div v-if="userDetail">
279-
<p>
280-
ID: {{ userDetail.id }}
281-
</p>
282-
<p>
283-
Name: {{ userDetail.full_name }}
284-
</p>
285-
<p>
286-
Email: {{ userDetail.email }}
287-
</p>
288-
</div>
289-
290-
<div v-else>
291-
Not found
292-
</div>
293-
</div>
294-
295-
<div>
296-
<h2 class="mb-2 mt-8 d-flex align-center">
297-
user create:
298-
</h2>
299-
300-
<VBtn
301-
@click="handleOpenAddDrawer()"
302-
>
303-
Create User
304-
</VBtn>
305-
</div>
306233
</div>
307234

308235
<VCard class="mb-6">
@@ -492,6 +419,7 @@ useLazyAsyncData(
492419
@update:model-value="handleUserChange"
493420
/>
494421

422+
<!-- 👉 Delete User Dialog -->
495423
<AppDialog
496424
:is-dialog-visible="isDeleteDialogVisible"
497425
title="Delete user"
@@ -504,5 +432,7 @@ useLazyAsyncData(
504432
</template>
505433

506434
<style lang="scss" scoped>
507-
435+
.app-user-search-filter {
436+
inline-size: 15.625rem;
437+
}
508438
</style>

0 commit comments

Comments
 (0)