feat: secure inline review sidecar
This commit is contained in:
@@ -80,9 +80,14 @@ const ReviewModeToggler: React.FC<ReviewModeTogglerProps> = ({ bookKey }) => {
|
||||
|
||||
try {
|
||||
const launch = await launchInlineReviewEditor(appService, bookData.book);
|
||||
const data = await loadInlineReviewData(launch.url, launch.sessionId);
|
||||
const data = await loadInlineReviewData(
|
||||
launch.url,
|
||||
launch.sessionId,
|
||||
launch.accessToken,
|
||||
);
|
||||
setBookData(bookKey, {
|
||||
baseUrl: launch.url,
|
||||
accessToken: launch.accessToken,
|
||||
sessionId: launch.sessionId,
|
||||
reviewRoot: launch.reviewRoot,
|
||||
version: launch.version,
|
||||
|
||||
@@ -25,7 +25,6 @@ import { useReaderStore } from '@/store/readerStore';
|
||||
import { useReviewModeStore } from '@/store/reviewModeStore';
|
||||
import { useThemeStore } from '@/store/themeStore';
|
||||
import { getPanelTopInset } from '@/utils/insets';
|
||||
import { openExternalUrl } from '@/utils/open';
|
||||
import { useReviewPanelDrag } from '../hooks/useReviewPanelDrag';
|
||||
import { useReviewPanelFloatingResize } from '../hooks/useReviewPanelFloatingResize';
|
||||
import {
|
||||
@@ -762,8 +761,8 @@ const ReviewPanel: React.FC = () => {
|
||||
? new URL(payload.download_url, baseUrl).toString()
|
||||
: '';
|
||||
setExportInfo(downloadUrl || payload.output || '');
|
||||
if (downloadUrl && !appService?.isDesktopApp) {
|
||||
await downloadReviewedEpub(downloadUrl);
|
||||
if (downloadUrl) {
|
||||
await downloadReviewedEpub(downloadUrl, bookState.accessToken);
|
||||
}
|
||||
setMessage(`已导出:${payload.output || downloadUrl}`);
|
||||
} catch (error) {
|
||||
@@ -983,17 +982,9 @@ const ReviewPanel: React.FC = () => {
|
||||
<button
|
||||
type='button'
|
||||
className='eink-bordered border-base-300 bg-base-100 hover:bg-base-200 rounded-md border p-3 text-start text-sm'
|
||||
onClick={() => {
|
||||
if (appService?.isDesktopApp) {
|
||||
openExternalUrl(exportInfo);
|
||||
} else {
|
||||
void downloadReviewedEpub(exportInfo);
|
||||
}
|
||||
}}
|
||||
onClick={() => void downloadReviewedEpub(exportInfo, bookState.accessToken)}
|
||||
>
|
||||
<span className='font-semibold'>
|
||||
{appService?.isDesktopApp ? '在浏览器下载导出文件' : '重新下载导出文件'}
|
||||
</span>
|
||||
<span className='font-semibold'>重新下载导出文件</span>
|
||||
<span className='text-base-content/60 mt-1 block break-all text-xs'>
|
||||
{exportInfo}
|
||||
</span>
|
||||
|
||||
Reference in New Issue
Block a user