fix(electron): share page in electron issues (#8703)

fix AF-1592
fix AF-1612
This commit is contained in:
pengx17
2024-11-05 11:46:03 +00:00
parent ef82b9d3e7
commit 029654f45e
10 changed files with 141 additions and 69 deletions
@@ -1,29 +1,47 @@
import { useServiceOptional } from '@toeverything/infra';
import { useEffect } from 'react';
import { DesktopApiService } from '../../desktop-api';
import type { ViewIconName } from '../constants';
import { ViewService } from '../services/view';
export const ViewTitle = ({ title }: { title: string }) => {
const view = useServiceOptional(ViewService)?.view;
const desktopApi = useServiceOptional(DesktopApiService);
useEffect(() => {
if (view) {
view.setTitle(title);
} else if (desktopApi) {
desktopApi.handler.ui
.updateActiveViewMeta({
title,
})
.catch(e => {
console.error(e);
});
}
}, [title, view]);
}, [desktopApi, title, view]);
return null;
};
export const ViewIcon = ({ icon }: { icon: ViewIconName }) => {
const view = useServiceOptional(ViewService)?.view;
const desktopApi = useServiceOptional(DesktopApiService);
useEffect(() => {
if (view) {
view.setIcon(icon);
} else if (desktopApi) {
desktopApi.handler.ui
.updateActiveViewMeta({
iconName: icon,
})
.catch(e => {
console.error(e);
});
}
}, [icon, view]);
}, [desktopApi, icon, view]);
return null;
};