import type { PrivateAlbum } from "@/data/dto/private-room";

export interface PrivateRoomUnlockPaywallRequest {
  albumId: string;
  reason: string;
  requiredCredits: number;
  currentCredits: number;
  shortfallCredits: number;
}

export interface PrivateRoomState {
  items: PrivateAlbum[];
  creditBalance: number;
  errorMessage: string | null;
  unlockingAlbumId: string | null;
  unlockErrorMessage: string | null;
  pendingConfirmAlbumId: string | null;
  unlockPaywallRequest: PrivateRoomUnlockPaywallRequest | null;
  unlockSuccessNonce: number;
}

export const initialState: PrivateRoomState = {
  items: [],
  creditBalance: 0,
  errorMessage: null,
  unlockingAlbumId: null,
  unlockErrorMessage: null,
  pendingConfirmAlbumId: null,
  unlockPaywallRequest: null,
  unlockSuccessNonce: 0,
};
