aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/timeline/TimelineItem.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-08-04 18:14:41 +0800
committerGitHub <noreply@github.com>2020-08-04 18:14:41 +0800
commit0791682e1f333adb5c79b979e3e8c5c50bb5f85a (patch)
tree47b85b9bfb5026743a4a9984c5c24b8363e8a5af /Timeline/ClientApp/src/app/timeline/TimelineItem.tsx
parent66417650b46f27f8238cc6997e2ff14579c1244a (diff)
parent89806d334fe2c7ef0ea8b3d12c74759e8e3ba860 (diff)
downloadtimeline-0791682e1f333adb5c79b979e3e8c5c50bb5f85a.tar.gz
timeline-0791682e1f333adb5c79b979e3e8c5c50bb5f85a.tar.bz2
timeline-0791682e1f333adb5c79b979e3e8c5c50bb5f85a.zip
Merge pull request #132 from crupest/refactor
Refactor a lot of things.
Diffstat (limited to 'Timeline/ClientApp/src/app/timeline/TimelineItem.tsx')
-rw-r--r--Timeline/ClientApp/src/app/timeline/TimelineItem.tsx24
1 files changed, 12 insertions, 12 deletions
diff --git a/Timeline/ClientApp/src/app/timeline/TimelineItem.tsx b/Timeline/ClientApp/src/app/timeline/TimelineItem.tsx
index 11ac9f08..727de1fe 100644
--- a/Timeline/ClientApp/src/app/timeline/TimelineItem.tsx
+++ b/Timeline/ClientApp/src/app/timeline/TimelineItem.tsx
@@ -16,8 +16,10 @@ import Svg from 'react-inlinesvg';
import chevronDownIcon from 'bootstrap-icons/icons/chevron-down.svg';
import trashIcon from 'bootstrap-icons/icons/trash.svg';
-import { useAvatarUrl } from '../data/user';
-import { TimelinePostInfo, usePostDataUrl } from '../data/timeline';
+import BlobImage from '../common/BlobImage';
+
+import { useAvatar } from '../data/user';
+import { TimelinePostInfo } from '../data/timeline';
const TimelinePostDeleteConfirmDialog: React.FC<{
toggle: () => void;
@@ -70,13 +72,7 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => {
const { more, onResize } = props;
- const avatarUrl = useAvatarUrl(props.post.author.username);
-
- const dataUrl = usePostDataUrl(
- props.post.content.type === 'image',
- props.post.timelineName,
- props.post.id
- );
+ const avatar = useAvatar(props.post.author.username);
const [deleteDialog, setDeleteDialog] = React.useState<boolean>(false);
const toggleDeleteDialog = React.useCallback(
@@ -132,7 +128,11 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => {
className="float-right float-sm-left mx-2"
to={'/users/' + props.post.author.username}
>
- <img onLoad={onResize} src={avatarUrl} className="avatar rounded" />
+ <BlobImage
+ onLoad={onResize}
+ blob={avatar}
+ className="avatar rounded"
+ />
</Link>
{(() => {
const { content } = props.post;
@@ -140,9 +140,9 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => {
return content.text;
} else {
return (
- <img
+ <BlobImage
onLoad={onResize}
- src={dataUrl}
+ blob={content.data}
className="timeline-content-image"
/>
);