import {ThemeMode} from '@configs/colors'; import { AccountName, langCode, XAuthorization, Username, UserId, } from '@configs/types'; export enum SourceProp { online = -1, offline = 0, cached = 1, } export interface BasicUserProp { source: SourceProp; url?: string; data?: T1; } export type ProfilePictureType = BasicUserProp; export interface ProfilePicture { lq: ProfilePictureType; //low quality hq?: ProfilePictureType; //high quality } export interface User { UserId: UserId; AccountName: BasicUserProp; /* ProfilePicture: ProfilePicture; lastUpdateTimestamp: timestamp; */ Username: BasicUserProp /* Description: BasicUserProp; FollowersCount: BasicUserProp; FollowingCount: BasicUserProp; XpLevel: BasicUserProp; XpPoints: BasicUserProp; */; } export interface MyUserAccount extends User { //EMail: EMail; SessionId: XAuthorization; //WebSocketSessionId: WebSocketSessionId; userSettings: userSettings; } export interface userSettings { theme: ThemeMode; lang: langCode; } export function createUserProp( source: SourceProp, data?: T1, url?: string, ): BasicUserProp { return {source, data, url}; }