Skip to content

Commit e7071d2

Browse files
committed
feat: add clipboard option
1 parent bd23b7f commit e7071d2

File tree

4 files changed

+65
-5
lines changed

4 files changed

+65
-5
lines changed

package-lock.json

+48
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/message-events.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,13 @@ export async function enterEvent(event: MouseEvent): Promise<void> {
4242

4343
export function clickEvent(event: MouseEvent): void {
4444
const el = event.currentTarget as HTMLElement
45-
const message = el.getAttribute('aria-label')
46-
if (message) {
47-
navigator.clipboard.writeText(message)
48-
}
45+
const originalMessage = el.textContent!.split(': ')[1]
46+
const translatedMessage = el.getAttribute('aria-label') ?? ''
47+
const { clipboard } = Store.value
48+
49+
navigator.clipboard.writeText(
50+
clipboard
51+
? translatedMessage
52+
: originalMessage
53+
)
4954
}

src/settings.ts

+5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ GM_config.init({
2424
default: true,
2525
label: 'Вкл/Выкл расширения'
2626
},
27+
clipboard: {
28+
type: 'checkbox',
29+
default: true,
30+
label: 'Копировать текст сообщения (оригинал/перевод)'
31+
},
2732
self: {
2833
type: 'checkbox',
2934
default: false,

src/store.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,15 @@ export interface IStore {
4848
from: FromLangs
4949
self: boolean
5050
enabled: boolean
51+
clipboard: boolean
5152
}
5253

5354
const initialStore: IStore = {
5455
to: to[1],
5556
from: to[0],
5657
self: false,
57-
enabled: true
58+
enabled: true,
59+
clipboard: true
5860
}
5961

6062
export default new Store(

0 commit comments

Comments
 (0)