feat(characters): support character-scoped conversations

This commit is contained in:
2026-07-17 11:42:31 +08:00
parent 93efcb6604
commit 2796010971
85 changed files with 1645 additions and 251 deletions
+19 -10
View File
@@ -1,4 +1,5 @@
import type { PrivateAlbum } from "@/data/dto/private-room";
import { DEFAULT_CHARACTER_ID } from "@/data/constants/character";
export interface PrivateRoomUnlockPaywallRequest {
albumId: string;
@@ -9,6 +10,7 @@ export interface PrivateRoomUnlockPaywallRequest {
}
export interface PrivateRoomState {
characterId: string;
items: PrivateAlbum[];
creditBalance: number;
errorMessage: string | null;
@@ -19,13 +21,20 @@ export interface PrivateRoomState {
unlockSuccessNonce: number;
}
export const initialState: PrivateRoomState = {
items: [],
creditBalance: 0,
errorMessage: null,
unlockingAlbumId: null,
unlockErrorMessage: null,
pendingConfirmAlbumId: null,
unlockPaywallRequest: null,
unlockSuccessNonce: 0,
};
export function createInitialPrivateRoomState(
characterId = DEFAULT_CHARACTER_ID,
): PrivateRoomState {
return {
characterId,
items: [],
creditBalance: 0,
errorMessage: null,
unlockingAlbumId: null,
unlockErrorMessage: null,
pendingConfirmAlbumId: null,
unlockPaywallRequest: null,
unlockSuccessNonce: 0,
};
}
export const initialState = createInitialPrivateRoomState();