diff options
| author | AAGaming <aagaming@riseup.net> | 2026-10-26 23:50:59 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2026-10-26 23:50:59 -0400 |
| commit | e82a55e9582fbd6d84f3f4510b04480c35e41fe4 (patch) | |
| tree | 1fe05c2296bbedbf301137a67a28ef542804fd69 /frontend/src/components/NotificationBadge.tsx | |
| parent | 6301508037b30489c42ee9ea8acee97cdea76297 (diff) | |
| download | decky-loader-e82a55e9582fbd6d84f3f4510b04480c35e41fe4.tar.gz decky-loader-e82a55e9582fbd6d84f3f4510b04480c35e41fe4.zip | |
feat: initial VERY VERY incomplete steam frame support
Diffstat (limited to 'frontend/src/components/NotificationBadge.tsx')
| -rw-r--r-- | frontend/src/components/NotificationBadge.tsx | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/frontend/src/components/NotificationBadge.tsx b/frontend/src/components/NotificationBadge.tsx index 3c5d8215..1d14d576 100644 --- a/frontend/src/components/NotificationBadge.tsx +++ b/frontend/src/components/NotificationBadge.tsx @@ -2,23 +2,52 @@ import { CSSProperties, FunctionComponent } from 'react'; interface NotificationBadgeProps { show?: boolean; + vr?: boolean; style?: CSSProperties; } -const NotificationBadge: FunctionComponent<NotificationBadgeProps> = ({ show, style }) => { +const NotificationBadge: FunctionComponent<NotificationBadgeProps> = ({ show, style, vr }) => { return show ? ( - <div - style={{ - position: 'absolute', - top: '8px', - right: '8px', - height: '10px', - width: '10px', - background: 'orange', - borderRadius: '50%', - ...style, - }} - /> + vr ? ( + // whoever made transform:scale completely break absolute positioning goes straight to super turbo hell this took me an hour + <div + style={{ + top: 0, + left: 0, + marginLeft: 'auto', + width: 0, + height: 0, + overflow: 'visible', + transform: 'translate(0px, 0px)', + }} + > + <div + style={{ + position: 'fixed', + top: '-18px', + right: '-6px', + width: '10px', + height: '10px', + background: 'orange', + borderRadius: '50%', + ...style, + }} + /> + </div> + ) : ( + <div + style={{ + position: 'absolute', + top: '8px', + right: '8px', + height: '10px', + width: '10px', + background: 'orange', + borderRadius: '50%', + ...style, + }} + /> + ) ) : null; }; |
