UNPKG

sodesu-comment

Version:

Comment system with SolidJS

91 lines (90 loc) 2.5 kB
import { WalineComment, WalineCommentStatus } from '@waline/api'; import { WalineCommentSorting } from '@waline/client'; import { Accessor, Setter } from 'solid-js'; export declare const sortingMethods: WalineCommentSorting[]; interface ReactiveCommentData { /** * User Nickname */ nick: string; /** * User link */ link?: string; /** * Content of comment */ comment: Accessor<string>; /** * Parent comment id */ pid?: number; /** * Root comment id */ rid?: number; /** * User id being at */ at?: string; /** * Recaptcha Token */ recaptchaV3?: string; /** * Reply user information */ reply_user?: { nick: string; link: string; avatar: string; }; } export interface ReactiveComment extends Exclude<ReactiveCommentData, 'ua'> { avatar: string; /** * User type */ type?: 'administrator' | 'guest' | `verify:${string}`; objectId: number; /** * Time ISOString when the comment is created */ children: Accessor<ReactiveComment[]>; sticky?: boolean; browser?: string; os?: string; level?: number; addr?: string; label?: string; time: number; user_id?: string | number; status?: WalineCommentStatus; like: Accessor<number>; orig: Accessor<string | undefined>; setLike: Setter<number>; setChildren: Setter<ReactiveComment[]>; setComment: Setter<string>; setOrig: Setter<string>; } export declare function makeDataReactive(data: WalineComment): ReactiveComment; export declare function makeDatasReactive(datas: WalineComment[]): ReactiveComment[]; declare const commentListState: { status: Accessor<"error" | "loading" | "success">; sorting: Accessor<import('../waline/typings').WalineCommentSorting>; page: Accessor<number>; count: Accessor<number>; data: Accessor<ReactiveComment[]>; totalPages: Accessor<number>; setStatus: Setter<"error" | "loading" | "success">; setSorting: Setter<import('../waline/typings').WalineCommentSorting>; setPage: Setter<number>; setCount: Setter<number>; setData: Setter<ReactiveComment[]>; setTotalPages: Setter<number>; }; export declare function getCommentData(page: number): void; export declare function loadMore(): void; export declare function refresh(): void; export declare function deleteComment(id: number): void; export default commentListState;