import React from 'react'; import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton'; import { SessionToggle } from '../basic/SessionToggle'; import { SessionConfirmDialogProps } from '../dialog/SessionConfirm'; import styled from 'styled-components'; type ButtonSettingsProps = { title?: string; description?: string; buttonColor: SessionButtonColor; buttonType: SessionButtonType; buttonText: string; dataTestId?: string; onClick: () => void; }; const StyledDescription = styled.div` font-family: var(--font-default); font-size: var(--font-size-sm); font-weight: 400; max-width: 700px; color: var(--color-text-subtle); `; const StyledTitle = styled.div` line-height: 1.7; font-size: var(--font-size-lg); font-weight: bold; `; const StyledInfo = styled.div` padding-inline-end: var(--margins-lg); `; const SettingsTitleAndDescription = (props: { title?: string; description?: string }) => { return ( {props.title} {props.description && {props.description}} ); }; export const SessionSettingsItemWrapper = (props: { inline: boolean; title?: string; description?: string; children?: React.ReactNode; }) => { const ComponentToRender = props.inline ? StyledSettingItemInline : StyledSettingItem; return (
{props.children}
); }; const StyledSettingItem = styled.div` font-size: var(--font-size-md); padding: var(--margins-lg); margin-bottom: 20px; background: var(--color-cell-background); color: var(--color-text); border-bottom: var(--border-session); `; const StyledSettingItemInline = styled(StyledSettingItem)` display: flex; align-items: center; justify-content: space-between; `; export const SessionToggleWithDescription = (props: { title?: string; description?: string; active: boolean; onClickToggle: () => void; confirmationDialogParams?: SessionConfirmDialogProps; }) => { const { title, description, active, onClickToggle, confirmationDialogParams } = props; return ( ); }; export const SessionSettingButtonItem = (props: ButtonSettingsProps) => { const { title, description, buttonColor, buttonType, buttonText, dataTestId, onClick } = props; return ( ); };