added setting
This commit is contained in:
		
							parent
							
								
									395ea9ab9f
								
							
						
					
					
						commit
						8f300cf460
					
				
					 7 changed files with 17 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -688,6 +688,7 @@ channel: "Channels"
 | 
			
		|||
create: "Create"
 | 
			
		||||
notificationSetting: "Notification settings"
 | 
			
		||||
notificationSettingDesc: "Select the types of notification to display."
 | 
			
		||||
enableFaviconNotificationDot: "Enable favicon notification dot"
 | 
			
		||||
useGlobalSetting: "Use global settings"
 | 
			
		||||
useGlobalSettingDesc: "If turned on, your account's notification settings will be used. If turned off, individual configurations can be made."
 | 
			
		||||
other: "Other"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -2764,6 +2764,10 @@ export interface Locale extends ILocale {
 | 
			
		|||
     * 表示する通知の種別を選択してください。
 | 
			
		||||
     */
 | 
			
		||||
    "notificationSettingDesc": string;
 | 
			
		||||
    /**
 | 
			
		||||
     * ファビコン通知ドットを有効にする
 | 
			
		||||
     */
 | 
			
		||||
    "enableFaviconNotificationDot": string;
 | 
			
		||||
    /**
 | 
			
		||||
     * グローバル設定を使う
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -687,6 +687,7 @@ channel: "チャンネル"
 | 
			
		|||
create: "作成"
 | 
			
		||||
notificationSetting: "通知設定"
 | 
			
		||||
notificationSettingDesc: "表示する通知の種別を選択してください。"
 | 
			
		||||
enableFaviconNotificationDot: "ファビコン通知ドットを有効にする"
 | 
			
		||||
useGlobalSetting: "グローバル設定を使う"
 | 
			
		||||
useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使用されます。オフにすると、個別に設定できるようになります。"
 | 
			
		||||
other: "その他"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,6 +180,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
 | 
			
		||||
		<div class="_gaps_m">
 | 
			
		||||
			<div class="_gaps_s">
 | 
			
		||||
				<MkSwitch v-model="enableFaviconNotificationDot">{{ i18n.ts.enableFaviconNotificationDot }}</MkSwitch>
 | 
			
		||||
				<MkSwitch v-model="warnMissingAltText">{{ i18n.ts.warnForMissingAltText }}</MkSwitch>
 | 
			
		||||
				<MkSwitch v-model="imageNewTab">{{ i18n.ts.openImageInNewTab }}</MkSwitch>
 | 
			
		||||
				<MkSwitch v-model="useReactionPickerForContextMenu">{{ i18n.ts.useReactionPickerForContextMenu }}</MkSwitch>
 | 
			
		||||
| 
						 | 
				
			
			@ -337,6 +338,7 @@ const oneko = computed(defaultStore.makeGetterSetter('oneko'));
 | 
			
		|||
const loadRawImages = computed(defaultStore.makeGetterSetter('loadRawImages'));
 | 
			
		||||
const highlightSensitiveMedia = computed(defaultStore.makeGetterSetter('highlightSensitiveMedia'));
 | 
			
		||||
const imageNewTab = computed(defaultStore.makeGetterSetter('imageNewTab'));
 | 
			
		||||
const enableFaviconNotificationDot = computed(defaultStore.makeGetterSetter('enableFaviconNotificationDot'));
 | 
			
		||||
const warnMissingAltText = computed(defaultStore.makeGetterSetter('warnMissingAltText'));
 | 
			
		||||
const nsfw = computed(defaultStore.makeGetterSetter('nsfw'));
 | 
			
		||||
const showFixedPostForm = computed(defaultStore.makeGetterSetter('showFixedPostForm'));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,6 +72,7 @@ const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [
 | 
			
		|||
	'advancedMfm',
 | 
			
		||||
	'loadRawImages',
 | 
			
		||||
	'warnMissingAltText',
 | 
			
		||||
	'enableFaviconNotificationDot',
 | 
			
		||||
	'imageNewTab',
 | 
			
		||||
	'dataSaver',
 | 
			
		||||
	'disableShowingAnimatedImages',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -268,6 +268,10 @@ export const defaultStore = markRaw(new Storage('base', {
 | 
			
		|||
		where: 'device',
 | 
			
		||||
		default: true,
 | 
			
		||||
	},
 | 
			
		||||
	enableFaviconNotificationDot: {
 | 
			
		||||
		where: 'device',
 | 
			
		||||
		default: true,
 | 
			
		||||
	},
 | 
			
		||||
	imageNewTab: {
 | 
			
		||||
		where: 'device',
 | 
			
		||||
		default: false,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,8 +80,6 @@ class NotificationFavIconDot {
 | 
			
		|||
	constructor() {
 | 
			
		||||
		this.canvas = document.createElement('canvas');
 | 
			
		||||
 | 
			
		||||
		if (this.faviconEL == null) return;
 | 
			
		||||
 | 
			
		||||
		this.src = this.faviconEL.getAttribute('href');
 | 
			
		||||
		this.ctx = this.canvas.getContext('2d');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -162,11 +160,11 @@ function onNotification(notification: Misskey.entities.Notification, isClient =
 | 
			
		|||
if ($i) {
 | 
			
		||||
	const connection = useStream().useChannel('main', null, 'UI');
 | 
			
		||||
	connection.on('notification', onNotification);
 | 
			
		||||
	
 | 
			
		||||
	watch(() => $i?.hasUnreadNotification, (hasAny) => notificationDot.setVisible(hasAny ?? false));
 | 
			
		||||
	
 | 
			
		||||
	if ($i.hasUnreadNotification) notificationDot.setVisible(true);
 | 
			
		||||
 | 
			
		||||
	watch(() => $i?.hasUnreadNotification, (hasAny) => notificationDot.setVisible((defaultStore.state.enableFaviconNotificationDot ? hasAny : false) ?? false));
 | 
			
		||||
 | 
			
		||||
	if ($i.hasUnreadNotification && defaultStore.state.enableFaviconNotificationDot) notificationDot.setVisible(true);
 | 
			
		||||
	
 | 
			
		||||
	globalEvents.on('clientNotification', notification => onNotification(notification, true));
 | 
			
		||||
 | 
			
		||||
	//#region Listen message from SW
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue