diff --git a/web/settings/relationship/friend-list-row.css b/web/settings/relationship/friend-list-row.css --- a/web/settings/relationship/friend-list-row.css +++ b/web/settings/relationship/friend-list-row.css @@ -6,3 +6,27 @@ font-size: var(--l-font-18); line-height: var(--line-height-display); } + +.buttons { + display: flex; + flex-direction: row; + align-items: center; + gap: 8px; +} + +.button { + font-size: var(--s-font-14); + line-height: var(--line-height-text); + color: var(--btn-bg-primary); + cursor: pointer; + background: none; + border: none; +} + +.destructive { + color: var(--btn-bg-danger); +} + +.edit_button { + color: var(--relationship-modal-color); +} diff --git a/web/settings/relationship/friend-list-row.react.js b/web/settings/relationship/friend-list-row.react.js --- a/web/settings/relationship/friend-list-row.react.js +++ b/web/settings/relationship/friend-list-row.react.js @@ -1,14 +1,48 @@ // @flow +import classnames from 'classnames'; import * as React from 'react'; +import { userRelationshipStatus } from 'lib/types/relationship-types'; + +import SWMansionIcon from '../../SWMansionIcon.react'; import css from './friend-list-row.css'; import type { UserRowProps } from './user-list.react'; function FriendListRow(props: UserRowProps): React.Node { const { userInfo } = props; + let buttons = null; + if (userInfo.relationshipStatus === userRelationshipStatus.REQUEST_SENT) { + buttons = ( + + ); + } else if ( + userInfo.relationshipStatus === userRelationshipStatus.REQUEST_RECEIVED + ) { + buttons = ( + <> + + + + ); + } else if (userInfo.relationshipStatus === userRelationshipStatus.FRIEND) { + buttons = ( + + ); + } - return
{userInfo.username}
; + return ( +
+ {userInfo.username} +
{buttons}
+
+ ); } export default FriendListRow;