style: Optimize version update changelog display

This commit is contained in:
ssongliu 2025-09-03 14:26:19 +08:00
parent 1662546bef
commit 4397cce12e
22 changed files with 64 additions and 47 deletions

View file

@ -1,5 +1,5 @@
<template>
<el-button v-if="type == 'icon'" link @click="copyText(content)" icon="DocumentCopy" class="ml-1.5"></el-button>
<el-button v-if="isIcon" link @click="copyText(content)" icon="DocumentCopy" class="ml-1.5"></el-button>
<el-button @click="copyText(content)" v-else>{{ $t('commons.button.copy') }}</el-button>
</template>
@ -9,6 +9,9 @@ defineOptions({ name: 'CopyButton' });
defineProps({
content: String,
type: String,
isIcon: {
type: Boolean,
default: true,
},
});
</script>

View file

@ -4,7 +4,7 @@
<el-descriptions border :column="1">
<el-descriptions-item v-for="(item, key) in list" :label="item.label" :key="key">
{{ item.value }}
<CopyButton v-if="!item.hideCopy" :content="item.value" type="icon" />
<CopyButton v-if="!item.hideCopy" :content="item.value" />
</el-descriptions-item>
</el-descriptions>
</div>

View file

@ -20,7 +20,12 @@
<el-link underline="never" type="primary" @click="toLxware">
{{ $t(!isMasterPro ? 'license.community' : 'license.pro') }}
</el-link>
<el-link underline="never" class="version" type="primary" @click="releasesRef.acceptParams()">
<el-link
underline="never"
class="version"
type="primary"
@click="releasesRef.acceptParams({ version: version })"
>
{{ version }}
</el-link>
<el-badge is-dot class="-mt-0.5" :hidden="version === 'Waiting' || !globalStore.hasNewVersion">

View file

@ -1,5 +1,9 @@
<template>
<DrawerPro v-model="drawerVisible" :header="$t('setting.release')" @close="handleClose" size="large">
<template #buttons>
<span>{{ version }}</span>
<CopyButton :content="version" type="primary" />
</template>
<div class="note" v-loading="loading">
<el-collapse v-if="notes && notes.length !== 0" v-model="currentVersion" :accordion="true">
<div v-for="(item, index) in notes" :key="index">
@ -60,8 +64,13 @@ const drawerVisible = ref(false);
const currentVersion = ref(0);
const notes = ref([]);
const loading = ref();
const version = ref();
const acceptParams = (): void => {
interface DialogProps {
version: string;
}
const acceptParams = (params: DialogProps): void => {
version.value = params.version;
search();
drawerVisible.value = true;
};

View file

@ -30,7 +30,7 @@
<el-table-column :label="$t('aiTools.mcp.externalUrl')" prop="baseUrl" min-width="200px">
<template #default="{ row }">
{{ row.baseUrl + row.ssePath }}
<CopyButton :content="row.baseUrl + row.ssePath" type="icon" />
<CopyButton :content="row.baseUrl + row.ssePath" />
</template>
</el-table-column>
<el-table-column :label="$t('commons.table.status')" prop="status" width="120px">

View file

@ -8,11 +8,11 @@
<el-descriptions :column="1">
<el-descriptions-item :label="$t('database.connAddress')">
{{ form.containerName }}
<CopyButton :content="form.containerName" type="icon" />
<CopyButton :content="form.containerName" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
11434
<CopyButton content="11434" type="icon" />
<CopyButton content="11434" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -25,7 +25,7 @@
<el-descriptions :column="1">
<el-descriptions-item :label="$t('database.connAddress')">
{{ bindDomain.connUrl }}
<CopyButton :content="bindDomain.connUrl" type="icon" />
<CopyButton :content="bindDomain.connUrl" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -38,11 +38,11 @@
<el-descriptions :column="1">
<el-descriptions-item :label="$t('database.connAddress')">
{{ form.systemIP }}
<CopyButton :content="form.systemIP" type="icon" />
<CopyButton :content="form.systemIP" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }}
<CopyButton :content="form.port + ''" type="icon" />
<CopyButton :content="form.port + ''" />
</el-descriptions-item>
</el-descriptions>
</el-card>

View file

@ -30,7 +30,7 @@
</el-descriptions-item>
<el-descriptions-item v-for="(param, key) in params" :label="getLabel(param)" :key="key">
<span>{{ param.showValue && param.showValue != '' ? param.showValue : param.value }}</span>
<CopyButton v-if="showCopyButton(param.key)" :content="param.value" type="icon" />
<CopyButton v-if="showCopyButton(param.key)" :content="param.value" />
</el-descriptions-item>
</el-descriptions>
</div>

View file

@ -15,11 +15,11 @@
<span else>
{{ loadMysqlInfo(true) }}
</span>
<CopyButton :content="loadMysqlInfo(true)" type="icon" />
<CopyButton :content="loadMysqlInfo(true)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
3306
<CopyButton content="3306" type="icon" />
<CopyButton content="3306" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -41,11 +41,11 @@
<span else>
{{ loadMysqlInfo(false) }}
</span>
<CopyButton :content="loadMysqlInfo(false)" type="icon" />
<CopyButton :content="loadMysqlInfo(false)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }}
<CopyButton :content="form.port + ''" type="icon" />
<CopyButton :content="form.port + ''" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -69,7 +69,7 @@
v-model="form.password"
/>
<el-button-group>
<CopyButton class="copy_button" :content="form.password" />
<CopyButton class="copy_button" :isIcon="false" :content="form.password" />
<el-button @click="random">
{{ $t('commons.button.random') }}
</el-button>
@ -80,11 +80,11 @@
<div v-if="form.from !== 'local'">
<el-form-item :label="$t('commons.login.username')">
<el-tag>{{ form.username }}</el-tag>
<CopyButton :content="form.username" type="icon" />
<CopyButton :content="form.username" />
</el-form-item>
<el-form-item :label="$t('commons.login.password')">
<el-tag>{{ form.password }}</el-tag>
<CopyButton :content="form.password" type="icon" />
<CopyButton :content="form.password" />
</el-form-item>
</div>
</el-form>

View file

@ -171,7 +171,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
<div v-if="row.password === '' && row.username">

View file

@ -40,7 +40,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
</template>

View file

@ -11,11 +11,11 @@
<span else>
{{ loadPgInfo(true) }}
</span>
<CopyButton :content="loadPgInfo(true)" type="icon" />
<CopyButton :content="loadPgInfo(true)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
5432
<CopyButton content="5432" type="icon" />
<CopyButton content="5432" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -37,11 +37,11 @@
<span else>
{{ loadPgInfo(false) }}
</span>
<CopyButton :content="loadPgInfo(false)" type="icon" />
<CopyButton :content="loadPgInfo(false)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }}
<CopyButton :content="form.port + ''" type="icon" />
<CopyButton :content="form.port + ''" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -70,7 +70,7 @@
v-model="form.password"
/>
<el-button-group>
<CopyButton class="copy_button" :content="form.password" />
<CopyButton :isIcon="false" class="copy_button" :content="form.password" />
<el-button @click="random">
{{ $t('commons.button.random') }}
</el-button>
@ -81,11 +81,11 @@
<div v-if="form.from !== 'local'">
<el-form-item :label="$t('commons.login.username')">
<el-tag>{{ form.username }}</el-tag>
<CopyButton :content="form.username" type="icon" />
<CopyButton :content="form.username" />
</el-form-item>
<el-form-item :label="$t('commons.login.password')">
<el-tag>{{ form.password }}</el-tag>
<CopyButton :content="form.password" type="icon" />
<CopyButton :content="form.password" />
</el-form-item>
</div>
</el-form>

View file

@ -148,7 +148,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
</template>

View file

@ -40,7 +40,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
</template>

View file

@ -15,11 +15,11 @@
<span else>
{{ loadRedisInfo(true) }}
</span>
<CopyButton :content="loadRedisInfo(true)" type="icon" />
<CopyButton :content="loadRedisInfo(true)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
6379
<CopyButton content="6379" type="icon" />
<CopyButton content="6379" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -41,11 +41,11 @@
<span else>
{{ loadRedisInfo(false) }}
</span>
<CopyButton :content="loadRedisInfo(false)" type="icon" />
<CopyButton :content="loadRedisInfo(false)" />
</el-descriptions-item>
<el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }}
<CopyButton :content="form.port + ''" type="icon" />
<CopyButton :content="form.port + ''" />
</el-descriptions-item>
</el-descriptions>
</el-card>
@ -64,7 +64,7 @@
v-model.trim="form.password"
/>
<el-button-group>
<CopyButton class="copy_button" :content="form.password" />
<CopyButton class="copy_button" :isIcon="false" :content="form.password" />
<el-button @click="random">
{{ $t('commons.button.random') }}
</el-button>
@ -74,7 +74,7 @@
<div v-if="form.from !== 'local'">
<el-form-item :label="$t('commons.login.password')">
<el-tag>{{ form.password }}</el-tag>
<CopyButton :content="form.password" type="icon" />
<CopyButton :content="form.password" />
</el-form-item>
</div>
</el-form>

View file

@ -39,7 +39,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
</template>

View file

@ -26,7 +26,7 @@
<el-form-item :label="$t('setting.apiKey')" prop="apiKey">
<el-input v-model="form.apiKey" readonly>
<template #suffix>
<CopyButton type="icon" :content="form.apiKey" class="w-30" />
<CopyButton :content="form.apiKey" class="w-30" />
</template>
<template #append>
<el-button @click="resetApiKey()">

View file

@ -21,7 +21,7 @@
<el-image class="w-32 h-32" :src="qrImage" />
<span class="input-help flex items-center">
<span>{{ $t('setting.secret') }}: {{ form.secret }}</span>
<CopyButton :content="form.secret" type="icon" />
<CopyButton :content="form.secret" />
</span>
</el-form-item>
<el-form-item :label="$t('commons.table.title')" prop="title">

View file

@ -90,7 +90,7 @@
class="ml-1.5"
></el-button>
<div>
<CopyButton :content="row.password" type="icon" />
<CopyButton :content="row.password" />
</div>
</div>
</template>

View file

@ -11,13 +11,13 @@
<el-table-column prop="resolve" :label="$t('ssl.resolveDomain')">
<template #default="{ row }">
<span>{{ row.resolve }}</span>
<CopyButton :content="row.resolve" type="icon" />
<CopyButton :content="row.resolve" />
</template>
</el-table-column>
<el-table-column prop="value" :label="$t('ssl.value')">
<template #default="{ row }">
<span>{{ row.value }}</span>
<CopyButton :content="row.value" type="icon" />
<CopyButton :content="row.value" />
</template>
</el-table-column>
<el-table-column :label="$t('commons.table.type')">TXT</el-table-column>

View file

@ -35,14 +35,14 @@
<el-input v-model="ca.csr" :rows="15" type="textarea" id="textArea" />
<div>
<br />
<CopyButton :content="ca.csr" />
<CopyButton :content="ca.csr" :isIcon="false" />
</div>
</div>
<div v-else class="mt-5">
<el-input v-model="ca.privateKey" :rows="15" type="textarea" id="textArea" />
<div>
<br />
<CopyButton :content="ca.privateKey" />
<CopyButton :content="ca.privateKey" :isIcon="false" />
</div>
</div>
</div>

View file

@ -52,14 +52,14 @@
<el-input v-model="ssl.pem" :rows="15" type="textarea" id="textArea" />
<div>
<br />
<CopyButton :content="ssl.pem" />
<CopyButton :content="ssl.pem" :isIcon="false" />
</div>
</div>
<div v-else class="mt-5">
<el-input v-model="ssl.privateKey" :rows="15" type="textarea" id="textArea" />
<div>
<br />
<CopyButton :content="ssl.privateKey" />
<CopyButton :content="ssl.privateKey" :isIcon="false" />
</div>
</div>
</div>

View file

@ -114,7 +114,7 @@
</el-button>
</td>
<td>
<CopyButton :content="getUrl(domain, row)" type="icon" />
<CopyButton :content="getUrl(domain, row)" />
</td>
</tr>
</tbody>