|
|
|
|
@ -80,7 +80,17 @@ const Reactions: React.FC<ReactionsProps> = ({ issueId, commentId }) => {
|
|
|
|
|
handleReactionClick(emojiData.emoji);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (isLoading || !myUserId) return null;
|
|
|
|
|
if (isLoading) {
|
|
|
|
|
return (
|
|
|
|
|
<div style={styles.container}>
|
|
|
|
|
<div style={{ ...styles.skeleton, width: '50px' }}></div>
|
|
|
|
|
<div style={{ ...styles.skeleton, width: '45px' }}></div>
|
|
|
|
|
<div style={styles.addButtonSkeleton}></div>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!myUserId) return null;
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div style={styles.container}>
|
|
|
|
|
@ -109,7 +119,7 @@ const Reactions: React.FC<ReactionsProps> = ({ issueId, commentId }) => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const styles: { [key: string]: React.CSSProperties } = {
|
|
|
|
|
container: { display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: '6px', marginTop: '8px', marginBottom: '8px', paddingLeft: '10px', fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', fontSize: '13px' },
|
|
|
|
|
container: { display: 'flex', alignItems: 'center', flexWrap: 'wrap', gap: '6px', marginTop: '8px', marginBottom: '8px', paddingLeft: '10px', fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', fontSize: '13px', minHeight: '36px' },
|
|
|
|
|
badge: { display: 'flex', alignItems: 'center', padding: '2px 8px', border: '1px solid #dcdcdc', borderRadius: '12px', cursor: 'pointer', transition: 'background-color 0.2s', backgroundColor: '#f7f7f7' },
|
|
|
|
|
badgeSelected: { backgroundColor: '#e6f2ff', borderColor: '#99ccff' },
|
|
|
|
|
emoji: { marginRight: '4px', fontSize: '15px', lineHeight: '1' },
|
|
|
|
|
@ -117,6 +127,8 @@ const styles: { [key: string]: React.CSSProperties } = {
|
|
|
|
|
countSelected: { color: '#005cc5' },
|
|
|
|
|
addButton: { display: 'flex', alignItems: 'center', padding: '2px 8px', border: '1px dashed #ccc', borderRadius: '12px', backgroundColor: 'transparent', cursor: 'pointer', color: '#555', fontFamily: 'inherit', fontSize: '13px' },
|
|
|
|
|
pickerWrapper: { position: 'absolute', bottom: '100%', left: 0, marginBottom: '10px', zIndex: 1000 },
|
|
|
|
|
skeleton: { height: '26px', backgroundColor: '#eef0f2', borderRadius: '12px', animation: 'reactions-pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite' },
|
|
|
|
|
addButtonSkeleton: { height: '26px', width: '42px', backgroundColor: 'transparent', border: '1px dashed #e0e0e0', borderRadius: '12px' },
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default Reactions;
|
|
|
|
|
|