@@ -48,8 +48,14 @@ SPDX-License-Identifier: AGPL-3.0-only
48
48
<div :class =" $style.submitInner" >
49
49
<template v-if =" posted " ></template >
50
50
<template v-else-if =" posting " ><MkEllipsis /></template >
51
- <template v-else >{{ submitText }}</template >
52
- <i style =" margin-left : 6px ;" :class =" posted ? 'ti ti-check' : reply ? 'ti ti-arrow-back-up' : renote ? 'ti ti-quote' : 'ti ti-send'" ></i >
51
+ <template v-else >
52
+ <span :class =" $style.submitButtonText" >
53
+ {{ submitText }}
54
+ </span >
55
+ </template >
56
+ <span >
57
+ <i :class =" posted ? 'ti ti-check' : reply ? 'ti ti-arrow-back-up' : renote ? 'ti ti-quote' : 'ti ti-send'" ></i >
58
+ </span >
53
59
</div >
54
60
</button >
55
61
</div >
@@ -109,6 +115,7 @@ import * as mfm from 'mfm-js';
109
115
import * as Misskey from ' misskey-js' ;
110
116
import insertTextAtCursor from ' insert-text-at-cursor' ;
111
117
import { toASCII } from ' punycode.js' ;
118
+ import type { NoteDraftItem } from ' @/types/note-draft-item.js' ;
112
119
import MkNoteSimple from ' @/components/MkNoteSimple.vue' ;
113
120
import MkNotePreview from ' @/components/MkNotePreview.vue' ;
114
121
import XPostFormAttaches from ' @/components/MkPostFormAttaches.vue' ;
@@ -134,7 +141,6 @@ import { miLocalStorage } from '@/local-storage.js';
134
141
import { claimAchievement } from ' @/scripts/achievements.js' ;
135
142
import { emojiPicker } from ' @/scripts/emoji-picker.js' ;
136
143
import { mfmFunctionPicker } from ' @/scripts/mfm-function-picker.js' ;
137
- import type { NoteDraftItem } from ' @/types/note-draft-item.js' ;
138
144
139
145
const $i = signinRequired ();
140
146
@@ -770,7 +776,7 @@ async function openDrafts() {
770
776
}
771
777
}
772
778
773
- function loadDraft(exactMatch : boolean = false ) {
779
+ function loadDraft(exactMatch = false ) {
774
780
const drafts = JSON .parse (miLocalStorage .getItem (' drafts' ) ?? ' {}' ) as Record <string , NoteDraftItem >;
775
781
const scope = exactMatch ? draftKey .value : draftKey .value .replace (` note:${draftId .value } ` , ' note:' );
776
782
const draft = Object .entries (drafts ).filter (([k ]) => k .startsWith (scope ))
@@ -968,9 +974,9 @@ async function post(ev?: MouseEvent) {
968
974
type: ' error' ,
969
975
text: err .message + ' \n ' + (err as any ).id ,
970
976
});
971
- emit (" postError" );
977
+ emit (' postError' );
972
978
});
973
- emit (" posting" );
979
+ emit (' posting' );
974
980
}
975
981
976
982
function cancel() {
@@ -987,7 +993,7 @@ async function insertEmoji(ev: MouseEvent) {
987
993
os .openEmojiPicker (
988
994
(ev .currentTarget ?? ev .target ) as HTMLElement ,
989
995
{ asReactionPicker: false },
990
- textareaEl .value
996
+ textareaEl .value ,
991
997
);
992
998
}
993
999
@@ -1194,6 +1200,10 @@ defineExpose({
1194
1200
box-sizing : border-box ;
1195
1201
color : var (--fgOnAccent );
1196
1202
background : linear-gradient (90deg , var (--buttonGradateA ), var (--buttonGradateB ));
1203
+ display : flex ;
1204
+ gap : 6px ;
1205
+ align-items : center ;
1206
+ justify-content : center ;
1197
1207
}
1198
1208
1199
1209
.headerRightItem {
@@ -1448,5 +1458,13 @@ defineExpose({
1448
1458
gap : 0 ;
1449
1459
}
1450
1460
1461
+ .submitInner {
1462
+ min-width : 20px ;
1463
+ }
1464
+
1465
+ .submitButtonText {
1466
+ display : none ;
1467
+ }
1468
+
1451
1469
}
1452
1470
</style >
0 commit comments