Merge remote-tracking branch 'origin/master' into codex/editor-asset-library
# Conflicts: # docs/project-memory/shared-memory/decision-log.md
This commit is contained in:
@@ -126,6 +126,7 @@ import {
|
||||
ProfileStatCardSkeleton,
|
||||
} from '../platform-entry/PlatformProfilePrimitives';
|
||||
import { PlatformProfileModalShell } from '../platform-entry/PlatformProfileModalShell';
|
||||
import { PlatformProfileGenerationQueueCard } from '../platform-entry/PlatformProfileGenerationQueueCard';
|
||||
import { PlatformProfilePlayedWorksModal } from '../platform-entry/PlatformProfilePlayedWorksModal';
|
||||
import { PlatformProfileQrScannerModal } from '../platform-entry/PlatformProfileQrScannerModal';
|
||||
import { PlatformProfileRechargeModal } from '../platform-entry/PlatformProfileRechargeModal';
|
||||
@@ -133,6 +134,7 @@ import { PlatformProfileReferralModal } from '../platform-entry/PlatformProfileR
|
||||
import { PlatformProfileRewardCodeRedeemModal } from '../platform-entry/PlatformProfileRewardCodeRedeemModal';
|
||||
import { PlatformProfileTaskCenterModal } from '../platform-entry/PlatformProfileTaskCenterModal';
|
||||
import { PlatformProfileWalletLedgerModal } from '../platform-entry/PlatformProfileWalletLedgerModal';
|
||||
import type { ExternalGenerationQueueStatus } from '../platform-entry/platformExternalGenerationQueueStatusModel';
|
||||
import { getInitialPlatformDesktopLayout } from '../platform-entry/platformEntryResponsive';
|
||||
import {
|
||||
type RechargePaymentResult,
|
||||
@@ -276,6 +278,7 @@ export interface RpgEntryHomeViewProps {
|
||||
onOpenProjects?: () => void;
|
||||
onRechargeSuccess?: () => void | Promise<void>;
|
||||
profileTaskRefreshKey?: number;
|
||||
profileGenerationQueueStatus?: ExternalGenerationQueueStatus | null;
|
||||
createTabContent?: ReactNode;
|
||||
draftTabContent?: ReactNode;
|
||||
hasUnreadDraftUpdate?: boolean;
|
||||
@@ -2571,6 +2574,7 @@ export function RpgEntryHomeView({
|
||||
onOpenProjects,
|
||||
onRechargeSuccess,
|
||||
profileTaskRefreshKey = 0,
|
||||
profileGenerationQueueStatus = null,
|
||||
createTabContent,
|
||||
draftTabContent,
|
||||
hasUnreadDraftUpdate = false,
|
||||
@@ -3424,6 +3428,8 @@ export function RpgEntryHomeView({
|
||||
const [recommendDragOffsetY, setRecommendDragOffsetY] = useState(0);
|
||||
const [recommendDragCommitDirection, setRecommendDragCommitDirection] =
|
||||
useState<RecommendSwipeDirection | null>(null);
|
||||
const [isRecommendDragResetting, setIsRecommendDragResetting] =
|
||||
useState(false);
|
||||
const activeRecommendEntryKeyForSelection =
|
||||
recommendFeedWindow.activeEntryKey;
|
||||
const recommendCardStageRef = useRef<HTMLDivElement | null>(null);
|
||||
@@ -3438,6 +3444,7 @@ export function RpgEntryHomeView({
|
||||
return;
|
||||
}
|
||||
|
||||
setIsRecommendDragResetting(false);
|
||||
setRecommendDragCommitDirection(direction);
|
||||
const panelHeight =
|
||||
recommendCardStageRef.current?.getBoundingClientRect().height ?? 0;
|
||||
@@ -3454,8 +3461,12 @@ export function RpgEntryHomeView({
|
||||
} else {
|
||||
onSelectPreviousRecommendEntry?.(activeRecommendEntryKeyForSelection);
|
||||
}
|
||||
setIsRecommendDragResetting(true);
|
||||
setRecommendDragOffsetY(0);
|
||||
setRecommendDragCommitDirection(null);
|
||||
window.requestAnimationFrame(() => {
|
||||
setIsRecommendDragResetting(false);
|
||||
});
|
||||
}, RECOMMEND_ENTRY_COMMIT_ANIMATION_MS);
|
||||
},
|
||||
[
|
||||
@@ -3517,6 +3528,7 @@ export function RpgEntryHomeView({
|
||||
const deltaY = event.clientY - drag.startY;
|
||||
const commitDirection = resolveRecommendDragCommitDirection(deltaY);
|
||||
if (!commitDirection) {
|
||||
setIsRecommendDragResetting(false);
|
||||
setRecommendDragOffsetY(0);
|
||||
return;
|
||||
}
|
||||
@@ -3532,6 +3544,7 @@ export function RpgEntryHomeView({
|
||||
event.currentTarget.releasePointerCapture?.(drag.pointerId);
|
||||
}
|
||||
recommendDragStartRef.current = null;
|
||||
setIsRecommendDragResetting(false);
|
||||
setRecommendDragOffsetY(0);
|
||||
},
|
||||
[],
|
||||
@@ -3542,6 +3555,7 @@ export function RpgEntryHomeView({
|
||||
const recommendRailClassName = buildRecommendSwipeRailClassName({
|
||||
offsetY: recommendDragOffsetY,
|
||||
commitDirection: recommendDragCommitDirection,
|
||||
isResetting: isRecommendDragResetting,
|
||||
});
|
||||
const selectNextRecommendEntry = useCallback(() => {
|
||||
if (
|
||||
@@ -4338,6 +4352,10 @@ export function RpgEntryHomeView({
|
||||
/>
|
||||
</button>
|
||||
|
||||
<PlatformProfileGenerationQueueCard
|
||||
queueStatus={profileGenerationQueueStatus}
|
||||
/>
|
||||
|
||||
<section
|
||||
className="platform-profile-shortcut-panel"
|
||||
aria-label="常用功能"
|
||||
|
||||
Reference in New Issue
Block a user