Feature(custom): optimize upload modal ui

This commit is contained in:
Kuingsmile
2025-08-15 10:37:36 +08:00
parent d3a7f1b0a6
commit 8c80d51be0
9 changed files with 75 additions and 73 deletions

View File

@@ -54,13 +54,7 @@ html
padding 0
margin 0
height 100%
font-family "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif
#app
height 100%
user-select none
overflow hidden
.el-button-group
width 100%
.el-button
width 50%
</style>

View File

@@ -40,20 +40,22 @@
<div class="nav-menu">
<router-link
:to="navigationItems[0].path"
v-for="item in navigationItems.slice(0, 3)"
:key="item.path"
:to="item.path"
class="nav-item"
:title="`${navigationItems[0].name}`"
:title="`${item.name}`"
>
<div class="nav-icon-container">
<component
:is="navigationItems[0].icon"
:is="item.icon"
:size="18"
/>
</div>
<span
v-if="!isCollapsed"
class="nav-label"
>{{ navigationItems[0].name }}</span>
>{{ item.name }}</span>
</router-link>
<Disclosure
@@ -88,6 +90,7 @@
v-else
class="nav-item collapsed-picbed"
:title="t('navigation.picbed')"
@click="isCollapsed = !isCollapsed"
>
<div class="nav-icon-container">
<DatabaseIcon :size="18" />
@@ -95,7 +98,7 @@
</div>
<router-link
v-for="item in navigationItems.slice(1)"
v-for="item in navigationItems.slice(3)"
:key="item.path"
:to="item.path"
class="nav-item"

View File

@@ -1,59 +1,61 @@
<template>
<div class="toolbox-handler">
<button
class="handler-button"
@click="() => props.handler(value)"
>
{{ props.handlerText }}
</button>
</div>
</template>
<script lang="ts" setup>
interface IProps {
status: string
value: any
handlerText: string
handler: (value: any) => void | Promise<void>
}
const props = defineProps<IProps>()
</script>
<script lang="ts">
export default {
name: 'ToolboxHandler'
}
</script>
<style lang="stylus">
.toolbox-handler {
margin-top: 0.75rem;
}
.handler-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
background: var(--color-accent);
color: white;
border: none;
border-radius: var(--radius-md);
font-size: 0.75rem;
font-weight: 500;
cursor: pointer;
transition: var(--transition-fast);
font-family: inherit;
text-decoration: none;
}
.handler-button:hover {
background: var(--color-accent-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-sm);
}
.handler-button:active {
transform: translateY(0);
}
</style>
<template>
<div class="toolbox-handler">
<button
class="handler-button"
@click="() => props.handler(value)"
>
{{ props.handlerText }}
</button>
</div>
</template>
<script lang="ts" setup>
interface IProps {
status: string
value: any
handlerText: string
handler: (value: any) => void | Promise<void>
}
const props = defineProps<IProps>()
</script>
<script lang="ts">
export default {
name: 'ToolboxHandler'
}
</script>
<style lang="stylus">
.toolbox-handler {
margin-top: 0.75rem;
}
.handler-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
background: var(--color-accent);
color: white;
border: none;
border-radius: var(--radius-md);
font-size: 0.75rem;
font-weight: 500;
cursor: pointer;
transition: var(--transition-fast);
font-family: inherit;
text-decoration: none;
}
.handler-button:hover {
background: var(--color-accent-hover);
transform: translateY(-1px);
box-shadow: var(--shadow-sm);
}
.handler-button:active {
transform: translateY(0);
}
</style>

View File

@@ -620,6 +620,7 @@
"prepareDownload": "Preparing to download, click to cancel",
"keepDirStructure": "Keep directory structure",
"noKeepDirStructure": "Do not keep directory structure",
"uploadFile": "Upload File",
"dragUpload": "Drag and drop upload supports directories",
"clickUpload": "Or: Click to select files",
"readingDir": "Reading, please wait",

View File

@@ -615,6 +615,7 @@
"prepareDownload": "准备下载中,点击取消",
"keepDirStructure": "保持目录结构",
"noKeepDirStructure": "不保持目录结构",
"uploadFile": "上传文件",
"dragUpload": "拖拽上传 支持目录",
"clickUpload": "或: 点击选择文件",
"readingDir": "读取中,请稍候",

View File

@@ -615,6 +615,7 @@
"prepareDownload": "正在準備下載,點擊取消",
"keepDirStructure": "保持目錄結構",
"noKeepDirStructure": "不保持目錄結構",
"uploadFile": "上傳檔案",
"dragUpload": "拖曳上傳 支援目錄",
"clickUpload": "或: 點擊選擇檔案",
"readingDir": "讀取中,請稍候",

View File

@@ -956,7 +956,7 @@
>
<div class="drawer-header">
<h3 class="drawer-title">
Upload Files
{{ t('pages.manage.bucket.uploadFile') }}
</h3>
<div class="switch-container">
<label class="switch">

View File

@@ -862,7 +862,7 @@ input:checked + .switch-slider:before {
/* Drawer */
.drawer-overlay {
position: fixed;
top: 0;
top: 32px;
left: 0;
right: 0;
bottom: 0;
@@ -873,7 +873,7 @@ input:checked + .switch-slider:before {
}
.drawer-container {
background: var(--color-surface);
background: var(--color-background-secondary);
width: 60%;
max-width: 800px;
height: 100%;