️ 调整分类删除逻辑,优化卡片样式

This commit is contained in:
目棃
2024-07-24 12:49:33 +08:00
parent de89aa5159
commit 792d337e45
3 changed files with 32 additions and 11 deletions

View File

@@ -38,13 +38,20 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tpc-forum" v-if="card.forum" :title="`频道: ${card.forum.name}`"> <div
class="tpc-forum"
v-if="card.forum && card.forum.name !== ''"
:title="`频道: ${card.forum.name}`"
>
<img :src="card.forum.icon" :alt="card.forum.name" /> <img :src="card.forum.icon" :alt="card.forum.name" />
<span>{{ card.forum.name }}</span> <span>{{ card.forum.name }}</span>
</div> </div>
<div v-if="props.selectMode" class="tpc-select"> <v-checkbox-btn
<v-checkbox-btn v-model="selectedList" :value="props.modelValue.post.post_id" /> v-if="props.selectMode"
</div> class="tpc-select"
v-model="selectedList"
:value="props.modelValue.post.post_id"
/>
</v-card> </v-card>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@@ -254,15 +261,23 @@ function getPostCard(item: TGApp.Plugins.Mys.Post.FullData): TGApp.Plugins.Mys.N
border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;
box-shadow: 0 0 10px var(--tgc-dark-1); box-shadow: 0 0 10px var(--tgc-dark-1);
color: var(--tgc-white-1); color: var(--tgc-white-1);
text-shadow: 0 0 5px var(--tgc-dark-1);
} }
.tpc-select { .tpc-select {
position: absolute; position: absolute;
bottom: 0; top: 0;
left: 0; left: 0;
display: flex; display: flex;
width: 30px;
height: 30px;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
-webkit-backdrop-filter: blur(20px);
backdrop-filter: blur(20px);
background: var(--tgc-yellow-2);
border-bottom-right-radius: 4px;
box-shadow: 0 0 10px var(--tgc-dark-1);
} }
.tpc-forum img { .tpc-forum img {

View File

@@ -317,11 +317,11 @@ async function toEdit(): Promise<void> {
await load(); await load();
} }
async function deleteOper(forever: boolean): Promise<void> { async function deleteOper(force: boolean): Promise<void> {
if (selectedMode.value) { if (selectedMode.value) {
await deletePost(forever); await deletePost(force);
} else { } else {
await deleteCollect(forever); await deleteCollect(force);
} }
} }
@@ -377,7 +377,10 @@ async function deleteCollect(force: boolean): Promise<void> {
return; return;
} }
const title = force ? "删除分类" : "清空分类"; const title = force ? "删除分类" : "清空分类";
const res = await showConfirm({ title: `确定${title}?` }); const res = await showConfirm({
title: `确定${title}?`,
text: `该分类下${selected.value.length}条帖子将被${force ? "删除" : "移除分类(未分类将被删除)"}`,
});
if (!res) { if (!res) {
showSnackbar({ showSnackbar({
text: "取消删除", text: "取消删除",

View File

@@ -1,7 +1,7 @@
/** /**
* @file plugins/Sqlite/modules/userCollect.ts * @file plugins/Sqlite/modules/userCollect.ts
* @description 用户收藏模块 * @description 用户收藏模块
* @since Beta v0.4.5 * @since Beta v0.5.1
*/ */
import TGSqlite from "../index.js"; import TGSqlite from "../index.js";
@@ -93,7 +93,7 @@ async function createCollect(title: string, desc: string): Promise<boolean> {
/** /**
* @description 删除收藏合集 * @description 删除收藏合集
* @since Beta v0.4.5 * @since Beta v0.5.1
* @param {string} title 收藏合集标题 * @param {string} title 收藏合集标题
* @param {boolean} force 是否强制删除 * @param {boolean} force 是否强制删除
* @return {Promise<boolean>} 返回是否删除成功 * @return {Promise<boolean>} 返回是否删除成功
@@ -108,6 +108,9 @@ async function deleteCollect(title: string, force: boolean): Promise<boolean> {
if (force) { if (force) {
const deleteSql = "DELETE FROM UFCollection WHERE title = ?"; const deleteSql = "DELETE FROM UFCollection WHERE title = ?";
await db.execute(deleteSql, [title]); await db.execute(deleteSql, [title]);
const deletePostSql =
"DELETE FROM UFPost WHERE id IN (SELECT postId FROM UFMap WHERE collectionId = ?)";
await db.execute(deletePostSql, [res[0].id]);
} }
const deleteRefSql = "DELETE FROM UFMap WHERE collectionId = ?"; const deleteRefSql = "DELETE FROM UFMap WHERE collectionId = ?";
await db.execute(deleteRefSql, [res[0].id]); await db.execute(deleteRefSql, [res[0].id]);