feat(后台): 手机上也能用了——菜单收进左边抽屉,列表一行一张卡,不用再横着滑
- 侧栏手机上不再占一列图标,顶栏左边 ☰ 拉出整张菜单,按返回键先关菜单 - 题目、比赛、用户、公告、题单列表手机上一项一张卡:名字一行、小字一行、按钮一行, 「学生看得到」开关单独一列靠右 - 卡点分析、AI 报告手机上点开一项整屏看,返回键关掉;年度趋势、自学情况、首页改成上下排 - 出题页、教程编辑、题单编辑、标签、设置手机上排成一列;测试数据「删掉」手机上常驻 - 弹框一律收进屏幕宽度 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b757e2ac38
commit
02e2fa7d9b
30 files changed
+1328
-183
No files matched your search
@@ -1,6 +1,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { editUser } from "admin/api"
|
||||
import type { AdminUserForm } from "utils/types"
|
||||
import { useBreakpoints } from "shared/composables/breakpoints"
|
||||
|
||||
/**
|
||||
* 用户列表一行的操作:重置密码、编辑、禁用、删除直接摆出来(用户说的:不要收进 ⋯)。
|
||||
@@ -18,6 +19,8 @@ const emit = defineEmits<{
|
||||
}>()
|
||||
|
||||
const dialog = useDialog()
|
||||
// 手机上在卡片里,放不下一行就折下去
|
||||
const { isMobile } = useBreakpoints()
|
||||
|
||||
async function banUser() {
|
||||
props.user.isDisabled = !props.user.isDisabled
|
||||
@@ -36,7 +39,7 @@ function confirmDelete() {
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<n-flex :size="6" :wrap="false">
|
||||
<n-flex :size="6" :wrap="isMobile">
|
||||
<n-button size="small" @click="emit('resetPassword', props.user)">重置密码</n-button>
|
||||
<n-button size="small" @click="emit('openEditModal', props.user)">编辑</n-button>
|
||||
<n-button size="small" @click="banUser">
|
||||
|
||||
Reference in new issue
Block a user