Skip to content

Commit

Permalink
Merge pull request #296 from Tencent/fix/avatar/demo
Browse files Browse the repository at this point in the history
feat(avatar): update demo
  • Loading branch information
LeeJim authored Oct 25, 2022
2 parents 1171e4e + 2722793 commit e208b7d
Show file tree
Hide file tree
Showing 7 changed files with 178 additions and 184 deletions.
2 changes: 1 addition & 1 deletion src/_common
Submodule _common updated 264 files
54 changes: 54 additions & 0 deletions src/avatar/_example/action.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import React from 'react';
import { Avatar } from 'tdesign-mobile-react';
import { UserAddIcon } from 'tdesign-icons-react';

const imageList = [
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
];

export default function AvatarTypeDemo() {
return (
<>
<div className="avatar-group-demo">
<Avatar.Group
cascading="left-up"
max={5}
size="small"
collapseAvatar={<UserAddIcon style={{ fontSize: '16px' }} />}
>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group
cascading="left-up"
max={5}
size="40px"
collapseAvatar={<UserAddIcon style={{ fontSize: '20px' }} />}
>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="left-up" max={5} collapseAvatar={<UserAddIcon style={{ fontSize: '24px' }} />}>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
</>
);
}
43 changes: 43 additions & 0 deletions src/avatar/_example/exhibition.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import React from 'react';
import { Avatar } from 'tdesign-mobile-react';

const imageList = [
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
];

export default function AvatarTypeDemo() {
return (
<>
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="small">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="medium">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="large">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
</>
);
}
76 changes: 6 additions & 70 deletions src/avatar/_example/index.jsx
Original file line number Diff line number Diff line change
@@ -1,90 +1,26 @@
import React from 'react';
import { Avatar } from 'tdesign-mobile-react';
import { UserAddIcon } from 'tdesign-icons-react';
import TDemoHeader from '../../../site/mobile/components/DemoHeader';
import TDemoBlock from '../../../site/mobile/components/DemoBlock';
import TypeDemo from './type';
import ShapeDemo from './shape';
import ExhibitionDemo from './exhibition';
import ActionDemo from './action';
import SizeDemo from './size';

import './style/index.less';

const imageList = [
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_1.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_2.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_3.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_4.png',
'https://tdesign.gtimg.com/mobile/demos/avatar_5.png',
];

export default function () {
return (
<div className="tdesign-mobile-demo">
<TDemoHeader title="Avatar 头像" summary="用于展示用户头像信息,除了纯展示也可点击进入个人详情等操作。" />
<TDemoBlock title="01 头像类型" summary="头像样式可为默认头像、微信头像圆形、方形、自定义文字">
<div className="avatar-demo">
<TypeDemo />
<ShapeDemo />
</div>
</TDemoBlock>
<TDemoBlock title="02 特殊类型" summary="纯展示 从上往下">
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="small">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="medium">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="right-up" max={5} size="large">
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<ExhibitionDemo />
</TDemoBlock>
<TDemoBlock summary="带操作 从下往上">
<div className="avatar-group-demo">
<Avatar.Group
cascading="left-up"
max={5}
size="small"
collapseAvatar={<UserAddIcon style={{ fontSize: '16px' }} />}
>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group
cascading="left-up"
max={5}
size="40px"
collapseAvatar={<UserAddIcon style={{ fontSize: '20px' }} />}
>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<div className="avatar-group-demo">
<Avatar.Group cascading="left-up" max={5} collapseAvatar={<UserAddIcon style={{ fontSize: '24px' }} />}>
{imageList.map((url, idx) => (
<Avatar key={idx} shape="circle" image={url} />
))}
</Avatar.Group>
</div>
<ActionDemo />
</TDemoBlock>
<TDemoBlock title="03 规格" summary="头像大小尺寸">
<SizeDemo />
Expand Down
18 changes: 13 additions & 5 deletions src/avatar/_example/shape.jsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
import React from 'react';
import { UserIcon } from 'tdesign-icons-react';
import { Avatar } from 'tdesign-mobile-react';

export default function AvatarShapeDemo() {
const demoPicture = 'https://tdesign.gtimg.com/mobile/demos/avatar_1.png';

export default function AvatarTypeDemo() {
return (
<div className="tdesign-demo-block">
<Avatar shape="circle"></Avatar>
<Avatar shape="round"></Avatar>
</div>
<>
<Avatar icon={<UserIcon />} />

<Avatar alt="示例图片" hideOnLoadFailed={false} image={demoPicture}></Avatar>

<Avatar icon={<img src={demoPicture} alt="示例图片" />} />
<Avatar image={demoPicture} shape="round" />
<Avatar className="custom">A</Avatar>
</>
);
}
122 changes: 61 additions & 61 deletions src/avatar/_example/size.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,67 @@ export default function AvatarSizeDemo() {
return (
<>
<div className="avatar-demo">
<Avatar shape="circle" size="large" icon={<UserIcon />}></Avatar>
<Avatar shape="circle" size="medium" icon={<UserIcon />}></Avatar>
<Avatar shape="circle" size="small" icon={<UserIcon />}></Avatar>
</div>
<div className="avatar-demo">
<Avatar
shape="circle"
size="large"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="circle"
size="medium"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="circle"
size="small"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ dot: true }}
></Avatar>
</div>
<div className="avatar-demo">
<Avatar
shape="round"
size="large"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="round"
size="medium"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="round"
size="small"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ dot: true }}
></Avatar>
</div>
<div className="avatar-demo">
<Avatar shape="circle" size="large" className="custom">
A
</Avatar>
<Avatar shape="circle" size="medium" className="custom">
A
</Avatar>
<Avatar shape="circle" size="small" className="custom">
A
</Avatar>
</div>
<Avatar shape="circle" size="large" icon={<UserIcon />}></Avatar>
<Avatar shape="circle" size="medium" icon={<UserIcon />}></Avatar>
<Avatar shape="circle" size="small" icon={<UserIcon />}></Avatar>
</div>
<div className="avatar-demo">
<Avatar
shape="circle"
size="large"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="circle"
size="medium"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="circle"
size="small"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ dot: true }}
></Avatar>
</div>
<div className="avatar-demo">
<Avatar
shape="round"
size="large"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="round"
size="medium"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ count: 10 }}
></Avatar>
<Avatar
shape="round"
size="small"
image="https://tdesign.gtimg.com/mobile/demos/avatar_1.png"
alt="示例图片"
badgeProps={{ dot: true }}
></Avatar>
</div>
<div className="avatar-demo">
<Avatar shape="circle" size="large" className="custom">
A
</Avatar>
<Avatar shape="circle" size="medium" className="custom">
A
</Avatar>
<Avatar shape="circle" size="small" className="custom">
A
</Avatar>
</div>
</>
);
}
Loading

0 comments on commit e208b7d

Please sign in to comment.