From 5f0d1e865643ee3d25aa1fb9ddd663254b59343a Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Sat, 17 Dec 2022 17:26:41 +0800 Subject: [PATCH] Refactor action buttons + optimistic UI --- src/components/status.css | 13 +-- src/components/status.jsx | 197 ++++++++++++++++++++------------------ 2 files changed, 111 insertions(+), 99 deletions(-) diff --git a/src/components/status.css b/src/components/status.css index 2be410d..731dfb4 100644 --- a/src/components/status.css +++ b/src/components/status.css @@ -294,6 +294,7 @@ } .status .media-audio { border: 0; + min-height: 0; } .status .media-audio audio { width: 100%; @@ -471,7 +472,7 @@ a.card:hover { .status .actions > button.plain.reblog-button:hover { color: var(--reblog-color); } -.status .actions > button.plain.reblog-button.reblogged { +.status .actions > button.plain.reblog-button.checked { color: var(--reblog-color); border-color: var(--reblog-color); } @@ -490,13 +491,13 @@ a.card:hover { opacity: 0; } } -.status .actions > button.plain.reblog-button.reblogged .icon { +.status .actions > button.plain.reblog-button.checked .icon { animation: reblogged 1s ease-in-out; } .status .actions > button.plain.favourite-button:hover { color: var(--favourite-color); } -.status .actions > button.plain.favourite-button.favourited { +.status .actions > button.plain.favourite-button.checked { color: var(--favourite-color); border-color: var(--favourite-color); } @@ -518,11 +519,11 @@ a.card:hover { opacity: 0; } } -.status .actions > button.plain.favourite-button.favourited .icon { +.status .actions > button.plain.favourite-button.checked .icon { transform-origin: bottom center; animation: hearted 1s ease-in-out; } -.status .actions > button.plain.bookmark-button.bookmarked { +.status .actions > button.plain.bookmark-button.checked { color: var(--link-color); border-color: var(--link-color); } @@ -544,7 +545,7 @@ a.card:hover { opacity: 1; } } -.status .actions > button.plain.bookmark-button.bookmarked .icon { +.status .actions > button.plain.bookmark-button.checked .icon { animation: bookmarked 1s ease-in-out; } diff --git a/src/components/status.jsx b/src/components/status.jsx index d31f5f3..d445761 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -857,42 +857,35 @@ function Status({ )}
- + /> {/* TODO: if visibility = private, only can reblog own statuses */} {visibility !== 'direct' && ( - + /> )} - - + /> {isSelf && ( + ); +} + export default Status;