mirror of
				https://github.com/lingble/twenty.git
				synced 2025-10-30 20:27:55 +00:00 
			
		
		
		
	![gitstart-app[bot]](/assets/img/avatar_default.png) 0a28c15747
			
		
	
	0a28c15747
	
	
	
		
			
			This PR was created by [GitStart](https://gitstart.com/) to address the requirements from this ticket: [TWNTY-7529](https://clients.gitstart.com/twenty/5449/tickets/TWNTY-7529). --- ### Description - Migrated all button components to `twenty-ui` \ \ `Button`\ `ButtonGroup`\ `ColorPickerButton`\ `FloatingButton`\ `FloatingButtonGroup`\ `FloatingIconButton`\ `FloatingIconButtonGroup`\ `IconButton`\ `IconButtonGroup`\ `LightButton`\ `LightIconButton`\ `LightIconButtonGroup`\ `MainButton`\ \ Fixes twentyhq/private-issues#89 Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: Charles Bochet <charles@twenty.com>
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { SettingsSummaryCard } from '@/settings/components/SettingsSummaryCard';
 | |
| import { SettingsIntegrationDatabaseConnectionSyncStatus } from '@/settings/integrations/database-connection/components/SettingsIntegrationDatabaseConnectionSyncStatus';
 | |
| import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
 | |
| import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu';
 | |
| import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
 | |
| import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
 | |
| import styled from '@emotion/styled';
 | |
| import {
 | |
|   IconDotsVertical,
 | |
|   IconPencil,
 | |
|   IconTrash,
 | |
|   LightIconButton,
 | |
|   UndecoratedLink,
 | |
| } from 'twenty-ui';
 | |
| 
 | |
| type SettingsIntegrationDatabaseConnectionSummaryCardProps = {
 | |
|   databaseLogoUrl: string;
 | |
|   connectionId: string;
 | |
|   connectionLabel: string;
 | |
|   onRemove: () => void;
 | |
| };
 | |
| 
 | |
| const StyledDatabaseLogoContainer = styled.div`
 | |
|   align-items: center;
 | |
|   display: flex;
 | |
|   height: ${({ theme }) => theme.spacing(4)};
 | |
|   justify-content: center;
 | |
|   width: ${({ theme }) => theme.spacing(4)};
 | |
| `;
 | |
| 
 | |
| const StyledDatabaseLogo = styled.img`
 | |
|   height: 100%;
 | |
| `;
 | |
| 
 | |
| export const SettingsIntegrationDatabaseConnectionSummaryCard = ({
 | |
|   databaseLogoUrl,
 | |
|   connectionId,
 | |
|   connectionLabel,
 | |
|   onRemove,
 | |
| }: SettingsIntegrationDatabaseConnectionSummaryCardProps) => {
 | |
|   const dropdownId =
 | |
|     'settings-integration-database-connection-summary-card-dropdown';
 | |
| 
 | |
|   return (
 | |
|     <SettingsSummaryCard
 | |
|       title={
 | |
|         <>
 | |
|           <StyledDatabaseLogoContainer>
 | |
|             <StyledDatabaseLogo alt="" src={databaseLogoUrl} />
 | |
|           </StyledDatabaseLogoContainer>
 | |
|           {connectionLabel}
 | |
|         </>
 | |
|       }
 | |
|       rightComponent={
 | |
|         <>
 | |
|           <SettingsIntegrationDatabaseConnectionSyncStatus
 | |
|             connectionId={connectionId}
 | |
|             shouldFetchPendingSchemaUpdates
 | |
|           />
 | |
|           <Dropdown
 | |
|             dropdownId={dropdownId}
 | |
|             dropdownHotkeyScope={{ scope: dropdownId }}
 | |
|             clickableComponent={
 | |
|               <LightIconButton Icon={IconDotsVertical} accent="tertiary" />
 | |
|             }
 | |
|             dropdownComponents={
 | |
|               <DropdownMenu>
 | |
|                 <DropdownMenuItemsContainer>
 | |
|                   <MenuItem
 | |
|                     LeftIcon={IconTrash}
 | |
|                     text="Remove"
 | |
|                     onClick={onRemove}
 | |
|                   />
 | |
|                   <UndecoratedLink to="./edit">
 | |
|                     <MenuItem LeftIcon={IconPencil} text="Edit" />
 | |
|                   </UndecoratedLink>
 | |
|                 </DropdownMenuItemsContainer>
 | |
|               </DropdownMenu>
 | |
|             }
 | |
|           />
 | |
|         </>
 | |
|       }
 | |
|     />
 | |
|   );
 | |
| };
 |