[IMPROVE] - creating an Avatar type file
This commit is contained in:
parent
3f75741dee
commit
ca2e28f893
|
@ -6,30 +6,7 @@ import { settings as RocketChatSettings } from '@rocket.chat/sdk';
|
||||||
|
|
||||||
import { avatarURL } from '../../utils/avatar';
|
import { avatarURL } from '../../utils/avatar';
|
||||||
import Emoji from '../markdown/Emoji';
|
import Emoji from '../markdown/Emoji';
|
||||||
|
import {TAvatar} from "./types";
|
||||||
export interface IAvatar {
|
|
||||||
server?: string;
|
|
||||||
style?: any,
|
|
||||||
text?: string;
|
|
||||||
avatar?: string;
|
|
||||||
emoji?: string;
|
|
||||||
size?: number;
|
|
||||||
borderRadius?: number;
|
|
||||||
type?: string;
|
|
||||||
children?: JSX.Element;
|
|
||||||
user?: {
|
|
||||||
id: string;
|
|
||||||
token: string;
|
|
||||||
};
|
|
||||||
theme: string;
|
|
||||||
onPress?(): void;
|
|
||||||
getCustomEmoji(): any;
|
|
||||||
avatarETag?: string;
|
|
||||||
isStatic?: boolean;
|
|
||||||
rid?: string;
|
|
||||||
blockUnauthenticatedAccess?: boolean;
|
|
||||||
serverVersion?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const Avatar = React.memo(({
|
const Avatar = React.memo(({
|
||||||
text,
|
text,
|
||||||
|
@ -50,7 +27,7 @@ const Avatar = React.memo(({
|
||||||
rid,
|
rid,
|
||||||
blockUnauthenticatedAccess,
|
blockUnauthenticatedAccess,
|
||||||
serverVersion
|
serverVersion
|
||||||
}: Partial<IAvatar>) => {
|
}: Partial<TAvatar>) => {
|
||||||
if ((!text && !avatar && !emoji && !rid) || !server) {
|
if ((!text && !avatar && !emoji && !rid) || !server) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,15 @@ import { Q } from '@nozbe/watermelondb';
|
||||||
|
|
||||||
import database from '../../lib/database';
|
import database from '../../lib/database';
|
||||||
import { getUserSelector } from '../../selectors/login';
|
import { getUserSelector } from '../../selectors/login';
|
||||||
import Avatar, {IAvatar} from './Avatar';
|
import Avatar from './Avatar';
|
||||||
|
import {TAvatar} from "./types";
|
||||||
|
|
||||||
class AvatarContainer extends React.Component<Partial<IAvatar>, any> {
|
|
||||||
|
class AvatarContainer extends React.Component<Partial<TAvatar>, any> {
|
||||||
private mounted: boolean;
|
private mounted: boolean;
|
||||||
private subscription!: any;
|
private subscription!: any;
|
||||||
|
|
||||||
constructor(props: Partial<IAvatar>) {
|
constructor(props: Partial<TAvatar>) {
|
||||||
super(props);
|
super(props);
|
||||||
this.mounted = false;
|
this.mounted = false;
|
||||||
this.state = { avatarETag: '' };
|
this.state = { avatarETag: '' };
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
export type TAvatar = {
|
||||||
|
server: string;
|
||||||
|
style: any,
|
||||||
|
text: string;
|
||||||
|
avatar: string;
|
||||||
|
emoji: string;
|
||||||
|
size: number;
|
||||||
|
borderRadius: number;
|
||||||
|
type: string;
|
||||||
|
children: JSX.Element;
|
||||||
|
user: {
|
||||||
|
id: string;
|
||||||
|
token: string;
|
||||||
|
};
|
||||||
|
theme: string;
|
||||||
|
onPress(): void;
|
||||||
|
getCustomEmoji(): any;
|
||||||
|
avatarETag: string;
|
||||||
|
isStatic: boolean;
|
||||||
|
rid: string;
|
||||||
|
blockUnauthenticatedAccess: boolean;
|
||||||
|
serverVersion: string;
|
||||||
|
}
|
Loading…
Reference in New Issue