personal fork of bluesky app bsky.kelinci.net
0

Configure Feed

Select the types of activity you want to include in your feed.

refactor: remove stale stopPropagation handlers from web controls

+23 -50
+1 -6
src/components/BotBadge.tsx
··· 29 29 30 30 return ( 31 31 <> 32 - <Dialog.Trigger 33 - aria-label={m['common.account.automated']()} 34 - className={css.button} 35 - handle={handle} 36 - onClick={(e) => e.stopPropagation()} 37 - > 32 + <Dialog.Trigger aria-label={m['common.account.automated']()} className={css.button} handle={handle}> 38 33 <RobotIcon width={width} fill="currentColor" /> 39 34 </Dialog.Trigger> 40 35 <BotAccountAlert handle={handle} profile={profile} />
+1 -4
src/components/FeedInterstitials.tsx
··· 69 69 <button 70 70 aria-label={m['components.feedInterstitials.action.dismiss']()} 71 71 className={css.dismiss} 72 - onClick={(e) => { 73 - e.stopPropagation(); 74 - onDismiss(profile.did); 75 - }} 72 + onClick={() => onDismiss(profile.did)} 76 73 type="button" 77 74 > 78 75 <XIcon fill="currentColor" size="xs" />
+4
src/components/PostControls/DiscoverDebug.css.ts
··· 6 6 left: 0, 7 7 zIndex: 1000, 8 8 maxWidth: 65, 9 + padding: 0, 10 + appearance: 'none', 11 + border: 0, 12 + background: 'none', 9 13 cursor: 'pointer', 10 14 }); 11 15
+5 -6
src/components/PostControls/DiscoverDebug.tsx
··· 14 14 } 15 15 16 16 return ( 17 - // stopPropagation exempts the click from BlockLink's row navigation (it handles the press on an 18 - // ancestor); aria-hidden keeps this debug-only affordance out of the accessibility tree 19 - <div 17 + // aria-hidden keeps this debug-only affordance out of the accessibility tree 18 + <button 20 19 aria-hidden 21 20 className={css.label} 22 - onClick={(e) => { 23 - e.stopPropagation(); 21 + onClick={() => { 24 22 void navigator.clipboard.writeText(feedContext); 25 23 Toast.show(m['common.share.copiedToast']()); 26 24 }} 25 + type="button" 27 26 > 28 27 <Text className={css.text} color="contrast_400" numberOfLines={1}> 29 28 {feedContext} 30 29 </Text> 31 - </div> 30 + </button> 32 31 ); 33 32 }
-1
src/components/verification/VerificationCheckButton.tsx
··· 153 153 } 154 154 className={css.button} 155 155 handle={handle} 156 - onClick={(e) => e.stopPropagation()} 157 156 > 158 157 <VerificationCheck fill={fill} verifier={isVerifier} width={width} /> 159 158 </Dialog.Trigger>
+1 -7
src/components/web/Pills.tsx
··· 74 74 75 75 return ( 76 76 <> 77 - <Dialog.Trigger 78 - aria-label={desc.name} 79 - className={styles.pill({ bg: !noBg, size })} 80 - handle={handle} 81 - // the pill lives inside a navigable post; keep its click from bubbling to the row's nav handler. 82 - onClick={(e) => e.stopPropagation()} 83 - > 77 + <Dialog.Trigger aria-label={desc.name} className={styles.pill({ bg: !noBg, size })} handle={handle}> 84 78 {inner} 85 79 </Dialog.Trigger> 86 80 <ModerationDetailsDialog handle={handle} modcause={cause} />
+5 -7
src/components/web/ProfileCard.tsx
··· 1 - import type { MouseEvent, ReactNode } from 'react'; 1 + import type { ReactNode } from 'react'; 2 2 3 3 import type { AnyProfileView } from '@atcute/bluesky'; 4 4 import { ··· 372 372 getDisplayRestrictions(moderation, DisplayContext.ProfileBio), 373 373 ); 374 374 375 - const onPressFollow = async (e: MouseEvent<HTMLButtonElement>) => { 376 - e.stopPropagation(); 375 + const onPressFollow = async () => { 377 376 try { 378 377 await queueFollow(); 379 378 Toast.show(m['common.follow.a11y.following']({ name: name() })); ··· 384 383 } 385 384 }; 386 385 387 - const onPressUnfollow = async (e: MouseEvent<HTMLButtonElement>) => { 388 - e.stopPropagation(); 386 + const onPressUnfollow = async () => { 389 387 try { 390 388 await queueUnfollow(); 391 389 Toast.show(m['common.follow.noLongerFollowing']({ name: name() })); ··· 415 413 variant={variant === 'subtle' ? 'ghost' : 'solid'} 416 414 color="secondary" 417 415 shape={isRound ? 'round' : 'default'} 418 - onClick={(e) => void onPressUnfollow(e)} 416 + onClick={() => void onPressUnfollow()} 419 417 > 420 418 {followingWithIcon && <ButtonIcon icon={CheckIcon} />} 421 419 {!isRound && <ButtonText>{unfollowLabel}</ButtonText>} ··· 429 427 variant === 'suggested' ? 'secondary_inverted' : variant === 'subtle' ? 'primary_subtle' : 'primary' 430 428 } 431 429 shape={isRound ? 'round' : 'default'} 432 - onClick={(e) => void onPressFollow(e)} 430 + onClick={() => void onPressFollow()} 433 431 > 434 432 {followWithIcon && <ButtonIcon icon={PlusIcon} />} 435 433 {!isRound && <ButtonText>{followLabel}</ButtonText>}
+1 -5
src/screens/PostThread/components/ThreadItemAnchor.tsx
··· 481 481 type="button" 482 482 className={css.archivedPill} 483 483 aria-label={m['screens.postThread.archive.label']()} 484 - onClick={(e) => { 485 - e.preventDefault(); 486 - e.stopPropagation(); 487 - handle.open(null); 488 - }} 484 + onClick={() => handle.open(null)} 489 485 > 490 486 <CalendarClockIcon fill={colors.yellow} size="sm" aria-hidden /> 491 487 <Text size="xs" weight="semiBold" color="textContrastMedium">
+5 -14
src/view/com/notifications/NotificationFeedItem.tsx
··· 1 - import { memo, type MouseEvent, useState } from 'react'; 1 + import { memo, useState } from 'react'; 2 2 3 3 import type { AnyProfileView, AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphFollow } from '@atcute/bluesky'; 4 4 import { ··· 656 656 return null; 657 657 } 658 658 659 - const onPressFollow = async (e: MouseEvent<HTMLButtonElement>) => { 660 - e.stopPropagation(); 661 - 659 + const onPressFollow = async () => { 662 660 try { 663 661 await queueFollow(); 664 662 Toast.show( ··· 675 673 } 676 674 }; 677 675 678 - const onPressUnfollow = async (e: MouseEvent<HTMLButtonElement>) => { 679 - e.stopPropagation(); 680 - 676 + const onPressUnfollow = async () => { 681 677 try { 682 678 await queueUnfollow(); 683 679 Toast.show( ··· 713 709 return ( 714 710 <div className={css.followBtnWrap}> 715 711 {isFollowing ? ( 716 - <Button 717 - label={followingLabel} 718 - color="secondary" 719 - size="small" 720 - onClick={(e) => void onPressUnfollow(e)} 721 - > 712 + <Button label={followingLabel} color="secondary" size="small" onClick={() => void onPressUnfollow()}> 722 713 <ButtonIcon icon={CheckIcon} /> 723 714 <ButtonText>{m['common.follow.action.following']()}</ButtonText> 724 715 </Button> ··· 727 718 label={isFollowedBy ? m['common.follow.action.followBack']() : m['common.follow.action.follow']()} 728 719 color="primary" 729 720 size="small" 730 - onClick={(e) => void onPressFollow(e)} 721 + onClick={() => void onPressFollow()} 731 722 > 732 723 <ButtonIcon icon={PlusIcon} /> 733 724 <ButtonText>