IGPAPI
    Preparing search index...

    Variable ReelsViewerReelItemConst

    ReelsViewerReelItem: ScreenItemDefinition<
        "ReelsViewerReel",
        {
            key: string;
            media: {
                code: string;
                id: string;
                media_type: number;
                organic_tracking_token?: string;
                pk: string
                | number;
                taken_at?: number;
                user?: { id?: string; pk?: string | number };
            };
        },
        {
            key: string;
            media: {
                code: string;
                id: string;
                media_type: number;
                organic_tracking_token?: string;
                pk: string
                | number;
                taken_at?: number;
                user?: { id?: string; pk?: string | number };
            };
        },
        ReelsViewerReelState,
        never,
        never,
        {
            like: (
                self: ScreenHandle,
                state: ReelsViewerReelState,
            ) => (
                ...args: [],
            ) => Effect<
                | {
                    data: {
                        xig_media_like: {
                            media: {
                                __typename?: ...;
                                has_liked: ...;
                                id: ...;
                                strong_id__?: ...;
                            };
                        };
                    };
                } & { raw: ActionRaw }
                | MediaLikeRestResponse & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | ScreenStack,
            >;
            openComments: (
                self: ScreenHandle,
                state: ReelsViewerReelState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "MediaComments",
                        "screen",
                        | {
                            carouselIndex?: string
                            | number;
                            commentSessionId?: string;
                            feedPosition?: string | number;
                            mediaId: string;
                            surface: "feed";
                        }
                        | {
                            chainingPosition?: string
                            | number;
                            chainingSeedMediaId?: string;
                            chainingSessionId?: string;
                            clientPosition?: string | number;
                            commentSessionId?: string;
                            mediaId: string;
                            rankingSessionId?: string;
                            storyRankingToken?: string;
                            surface: "reels";
                        },
                        {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "feed"
                            | "reels";
                        },
                        MediaCommentsState,
                        never,
                        MobileNavigation,
                        {
                            comment: (
                                self: ScreenHandle,
                                state: MediaCommentsState,
                            ) => (
                                ...args: [text: string, options?: (...) | (...)],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        "mediaId",
                    >,
                    readonly [{ commentSessionId?: string }],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: readonly [{ commentSessionId?: string }],
                ) => Effect<
                    AssembledHandle<
                        "MediaComments",
                        "screen",
                        {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "feed"
                            | "reels";
                        },
                        {
                            comment: (
                                self: ScreenHandle,
                                state: MediaCommentsState,
                            ) => (
                                ...args: [text: ..., options?: ...],
                            ) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "mediaId",
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog,
                >,
            >;
        },
        {
            facts: {
                chaining: {
                    chainingPosition?: string
                    | number;
                    chainingSeedMediaId?: string;
                    chainingSessionId?: string;
                    clientPosition?: string | number;
                    mediaPctWatched?: string | number;
                    rankingSessionId?: string;
                    storyRankingToken?: string;
                };
            };
        },
        never,
    > = ...

    One reel of the viewer. Its visit is the view: entering it in front starts the visit; leaving it records the visit's duration in the viewer's session, which the next page (seen_reels, client_view_state_media_list, session_info) and the written seen state name. The reel's like and comments are its own actions, with the chaining context of the viewer it is shown in (its host's state).