diff --git a/src/components/app/t-postcard.vue b/src/components/app/t-postcard.vue
index bfc20866..5f60868f 100644
--- a/src/components/app/t-postcard.vue
+++ b/src/components/app/t-postcard.vue
@@ -15,7 +15,12 @@
-
- mdi-share-variant
-
{{ props.modelValue.reply.post_id }}
| {{ props.modelValue.reply.floor_id }}F
@@ -237,14 +237,14 @@ async function handleUser(): Promise {
position: relative;
display: flex;
width: 100%;
+ box-sizing: border-box;
flex-direction: column;
align-items: flex-start;
justify-content: center;
- padding: 5px;
+ padding: 8px;
border: 1px solid var(--common-shadow-1);
- border-radius: 5px;
+ border-radius: 4px;
background: var(--box-bg-1);
- row-gap: 5px;
word-break: break-all;
}
@@ -265,12 +265,11 @@ async function handleUser(): Promise {
.tpr-user {
position: relative;
display: flex;
- width: 100%;
+ max-width: 100%;
height: 40px;
align-items: center;
justify-content: flex-start;
cursor: pointer;
- gap: 5px;
}
.tpru-left {
@@ -331,7 +330,7 @@ async function handleUser(): Promise {
overflow: hidden;
align-items: center;
justify-content: center;
- column-gap: 5px;
+ column-gap: 4px;
font-family: var(--font-title);
font-size: 16px;
text-overflow: ellipsis;
@@ -350,17 +349,19 @@ async function handleUser(): Promise {
padding: 0 2px;
border-radius: 2px;
background: var(--tgc-od-blue);
+ color: var(--tgc-white-1);
font-size: 12px;
}
.tpr-content {
- width: 100%;
+ position: relative;
+ max-width: 100%;
}
.tpr-info {
display: flex;
width: 100%;
- align-items: center;
+ align-items: flex-end;
justify-content: space-between;
opacity: 0.5;
}
@@ -369,21 +370,22 @@ async function handleUser(): Promise {
display: flex;
align-items: center;
justify-content: center;
- gap: 5px;
+ font-size: 12px;
+ gap: 4px;
}
.tpri-right {
display: flex;
align-items: center;
justify-content: center;
- gap: 5px;
+ gap: 4px;
}
.tpr-like {
display: flex;
align-items: center;
justify-content: center;
- gap: 5px;
+ gap: 4px;
}
.tpr-reply {
@@ -391,7 +393,7 @@ async function handleUser(): Promise {
align-items: center;
justify-content: center;
cursor: pointer;
- gap: 5px;
+ gap: 4px;
}
.tpr-extra {
@@ -400,7 +402,7 @@ async function handleUser(): Promise {
align-items: center;
justify-content: flex-end;
font-size: 12px;
- gap: 5px;
+ gap: 4px;
}
.tpr-pin {
@@ -422,7 +424,7 @@ async function handleUser(): Promise {
display: flex;
align-items: center;
justify-content: center;
- gap: 5px;
+ gap: 4px;
opacity: 0.3;
:last-child {
@@ -442,21 +444,24 @@ async function handleUser(): Promise {
.tpr-reply-sub {
position: relative;
display: flex;
- width: 100%;
- max-height: 360px;
+ width: 300px;
+ max-height: 400px;
+ box-sizing: border-box;
flex-direction: column;
align-items: center;
justify-content: flex-start;
- padding: 5px;
+ padding: 8px;
+ border-radius: 4px;
background: var(--app-page-bg);
overflow-y: auto;
- row-gap: 5px;
+ row-gap: 8px;
+
+ &.v-list {
+ box-shadow: -4px 0 8px var(--common-shadow-4);
+ }
}
.tpr-share {
- position: absolute;
- bottom: 5px;
- left: 5px;
cursor: pointer;
opacity: 0.3;
}
@@ -469,17 +474,17 @@ async function handleUser(): Promise {
justify-content: center;
color: var(--tgc-od-white);
font-size: 12px;
- gap: 5px;
+ gap: 4px;
text-shadow: 1px 1px 1px var(--tgc-dark-1);
}
.tpr-share-info.top {
top: 0;
- right: 5px;
+ right: 4px;
}
.tpr-share-info.bottom {
- bottom: 5px;
- left: 5px;
+ bottom: 4px;
+ left: 4px;
}
diff --git a/src/utils/TGShare.ts b/src/utils/TGShare.ts
index 6d13e725..e1fb3349 100644
--- a/src/utils/TGShare.ts
+++ b/src/utils/TGShare.ts
@@ -165,7 +165,6 @@ export async function copyToClipboard(buffer: Uint8Array): Promise {
const url = URL.createObjectURL(blob);
// todo mac 会报错: https://bugs.webkit.org/show_bug.cgi?id=222262
if (platform() === "macos") {
- // todo 待测试
navigator.clipboard.write([new ClipboardItem({ [blob.type]: blob })]).then(
() => URL.revokeObjectURL(url),
(err) => TGLogger.Error(`[copyToClipboard] 复制到剪贴板失败: ${err}`),
diff --git a/src/views/t-post.vue b/src/views/t-post.vue
index 832c4304..c2de8ae7 100644
--- a/src/views/t-post.vue
+++ b/src/views/t-post.vue
@@ -49,6 +49,7 @@
@click="handleUser(postData.user)"
/>
+
官
{{ postData.post.subject }}
@@ -367,18 +368,18 @@ function handleUser(user: TGApp.BBS.Post.User): void {
align-items: center;
justify-content: start;
color: var(--common-text-title);
+ column-gap: 4px;
cursor: pointer;
font-family: var(--font-title);
font-size: 20px;
}
.mpt-official {
- display: inline-block;
- width: 24px;
+ position: relative;
align-items: center;
justify-content: center;
- border-radius: 5px;
- margin-right: 2px;
+ padding: 0 4px;
+ border-radius: 4px;
background: var(--common-shadow-1);
color: var(--box-text-5);
font-size: 16px;
@@ -387,10 +388,12 @@ function handleUser(user: TGApp.BBS.Post.User): void {
/* subtitle */
.tp-post-subtitle {
+ position: relative;
display: flex;
+ width: fit-content;
align-items: center;
justify-content: flex-start;
- column-gap: 10px;
+ column-gap: 8px;
font-size: 16px;
opacity: 0.6;
}
@@ -400,7 +403,7 @@ function handleUser(user: TGApp.BBS.Post.User): void {
align-items: center;
justify-content: center;
color: var(--common-text-title);
- column-gap: 5px;
+ column-gap: 4px;
font-family: var(--font-title);
}
@@ -410,9 +413,17 @@ function handleUser(user: TGApp.BBS.Post.User): void {
display: flex;
align-items: end;
justify-content: space-between;
- padding-bottom: 10px;
- border-bottom: 1px dashed var(--common-shadow-2);
- margin-bottom: 10px;
+}
+
+.tp-post-divider {
+ position: relative;
+ width: 100%;
+ height: 1px;
+ box-sizing: border-box;
+ border: 1px dashed var(--common-shadow-2);
+ border-radius: 1px;
+ margin: 8px 0;
+ background: transparent;
}
.tp-post-version {
@@ -431,7 +442,7 @@ function handleUser(user: TGApp.BBS.Post.User): void {
align-items: center;
justify-content: start;
color: var(--box-text-4);
- column-gap: 10px;
+ column-gap: 8px;
font-size: 14px;
}
@@ -462,7 +473,6 @@ function handleUser(user: TGApp.BBS.Post.User): void {
display: flex;
align-items: center;
justify-content: center;
- margin-left: 10px;
column-gap: 2px;
opacity: 0.8;
@@ -473,11 +483,14 @@ function handleUser(user: TGApp.BBS.Post.User): void {
/* extra */
.tp-post-extra {
+ position: relative;
display: flex;
+ width: fit-content;
+ max-width: 100%;
flex-wrap: wrap;
align-items: center;
justify-content: start;
- gap: 5px 10px;
+ gap: 4px 8px;
}
/* collection */
@@ -485,11 +498,11 @@ function handleUser(user: TGApp.BBS.Post.User): void {
display: flex;
align-items: center;
justify-content: center;
- padding: 0 5px;
+ padding: 0 4px;
border: 1px solid var(--common-shadow-2);
- border-radius: 5px;
+ border-radius: 4px;
color: var(--box-text-3);
- column-gap: 5px;
+ column-gap: 4px;
cursor: pointer;
font-family: var(--font-title);
font-size: 12px;
diff --git a/src/web/utils/annoParser.ts b/src/web/utils/annoParser.ts
index 463e0436..7a9edff0 100644
--- a/src/web/utils/annoParser.ts
+++ b/src/web/utils/annoParser.ts
@@ -262,7 +262,6 @@ function parseAnnoSpan(span: HTMLElement, attr?: Record): TGApp.
}
return { insert: parse, attributes: spanAttrs };
}
- // todo 优化处理
return { insert: span.textContent ?? "", attributes: spanAttrs };
}