添加 Android 打包工作流并实现响应式设计

- 在 GitHub Actions 中添加 Android 打包工作流,支持 ARM64、ARMv7 和 x86_64 架构
- 创建 CI 脚本用于解析提交信息和应用版本号
- 移除标题栏的旋转屏幕按钮,简化窗口控制
- 创建响应式设计 hooks (useResponsive) 用于检测屏幕尺寸
- 更新 StudentManager 组件以支持移动端响应式布局
- 在移动设备上自动调整表格列宽、按钮大小和字体大小
- 移动端隐藏标签列以节省空间
- 按钮在移动端使用垂直布局和更小的尺寸
This commit is contained in:
Fox_block
2026-03-20 21:02:52 +08:00
parent bb156f7ffd
commit 73db5778f1
8 changed files with 492 additions and 175 deletions
+13 -18
View File
@@ -28,9 +28,7 @@ const SettlementHistory = lazy(() =>
const AutoScoreManager = lazy(() =>
loadAutoScoreManager().then((m) => ({ default: m.AutoScoreManager }))
)
const RewardSettings = lazy(() =>
loadRewardSettings().then((m) => ({ default: m.RewardSettings }))
)
const RewardSettings = lazy(() => loadRewardSettings().then((m) => ({ default: m.RewardSettings })))
const BoardManager = lazy(() => loadBoardManager().then((m) => ({ default: m.BoardManager })))
const warmupRouteChunks = () =>
@@ -60,7 +58,6 @@ interface ContentAreaProps {
floatingExpand: boolean
floatingExpanded: boolean
onToggleSidebar: () => void
onToggleOrientation: () => void
}
export function ContentArea({
@@ -74,7 +71,6 @@ export function ContentArea({
floatingExpand,
floatingExpanded,
onToggleSidebar,
onToggleOrientation,
}: ContentAreaProps): React.JSX.Element {
const { t } = useTranslation()
@@ -153,13 +149,17 @@ export function ContentArea({
size="small"
onClick={onToggleSidebar}
icon={
floatingExpand && sidebarCollapsed
? floatingExpanded
? <MenuFoldOutlined />
: <MenuUnfoldOutlined />
: sidebarCollapsed
? <MenuUnfoldOutlined />
: <MenuFoldOutlined />
floatingExpand && sidebarCollapsed ? (
floatingExpanded ? (
<MenuFoldOutlined />
) : (
<MenuUnfoldOutlined />
)
) : sidebarCollapsed ? (
<MenuUnfoldOutlined />
) : (
<MenuFoldOutlined />
)
}
title={sidebarCollapsed ? "展开导航栏" : "收起导航栏"}
style={{ width: "32px", height: "32px" }}
@@ -199,12 +199,7 @@ export function ContentArea({
)}
</Space>
</div>
{showWindowControls && (
<WindowControls
isPortraitMode={isPortraitMode}
onToggleOrientation={onToggleOrientation}
/>
)}
{showWindowControls && <WindowControls />}
</div>
<Content style={{ flex: 1, overflowY: "auto", overflowX: "hidden" }}>