[BUGFIX] Account owner should not be clickable & [Refactor] Chip.tsx links (#10359)
# Introduction closes #10196 Initially fixing the `Account Owner` record field value should not be clickable and redirects on current page bug. This has been fixed computing whereas the current filed is a workspace member dynamically rendering a stale Chip components instead of an interactive one ## Refactor Refactored the `AvatarChip` `to` props logic to be scoped to lower level scope `Chip`. Now we have `LinkChip` `Chip`, `LinkAvatarChip` and `AvatarChip` all exported from twenty-ui. The caller has to determine which one to call from the design system ## New rule regarding chip links As discussed with @charlesBochet and @FelixMalfait A chip link will now ***always*** have `to` defined. ( and optionally an `onClick` ). `ChipLinks` cannot be used as buttons anymore ## Factorization Deleted the `RecordIndexRecordChip.tsx` file ( aka `RecordIdentifierChip` component ) that was duplicating some logic, refactored the `RecordChip` in order to handle what was covered by `RecordIdentifierChip` ## Conclusion As always any suggestions are more than welcomed ! Took few opinionated decision/refactor regarding nested long ternaries rendering `ReactNode` elements ## Misc https://github.com/user-attachments/assets/8ef11fb2-7ba6-4e96-bd59-b0be5a425156 --------- Co-authored-by: Mohammed Razak <mohammedrazak2001@gmail.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
This commit is contained in:
16
packages/twenty-ui/src/utilities/events/isModifiedEvent.ts
Normal file
16
packages/twenty-ui/src/utilities/events/isModifiedEvent.ts
Normal file
@ -0,0 +1,16 @@
|
||||
type LimitedMouseEvent = Pick<
|
||||
MouseEvent,
|
||||
'button' | 'metaKey' | 'altKey' | 'ctrlKey' | 'shiftKey'
|
||||
>;
|
||||
|
||||
export const isModifiedEvent = ({
|
||||
altKey,
|
||||
ctrlKey,
|
||||
shiftKey,
|
||||
metaKey,
|
||||
button,
|
||||
}: LimitedMouseEvent) => {
|
||||
const pressedKey = [altKey, ctrlKey, shiftKey, metaKey].some((key) => key);
|
||||
const isLeftClick = button === 0;
|
||||
return pressedKey || !isLeftClick;
|
||||
};
|
||||
@ -10,6 +10,7 @@ export * from './device/getOsControlSymbol';
|
||||
export * from './device/getOsShortcutSeparator';
|
||||
export * from './device/getUserDevice';
|
||||
export * from './dimensions/components/AutogrowWrapper';
|
||||
export * from './events/isModifiedEvent';
|
||||
export * from './responsive/hooks/useIsMobile';
|
||||
export * from './screen-size/hooks/useScreenSize';
|
||||
export * from './state/utils/createState';
|
||||
|
||||
Reference in New Issue
Block a user