From 2a206f11b963f4f0059bb7b5db3c7ee661fed54c Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 28 Nov 2020 09:58:05 +0100 Subject: [PATCH] Renamed DomainsDropdown to DomainSelector --- ...mainsDropdown.scss => DomainSelector.scss} | 5 ++++ ...DomainsDropdown.tsx => DomainSelector.tsx} | 24 ++++++++++++++----- src/domains/services/provideServices.ts | 6 ++--- src/short-urls/CreateShortUrl.tsx | 12 +++++----- src/short-urls/services/provideServices.ts | 2 +- 5 files changed, 33 insertions(+), 16 deletions(-) rename src/domains/{DomainsDropdown.scss => DomainSelector.scss} (83%) rename src/domains/{DomainsDropdown.tsx => DomainSelector.tsx} (76%) diff --git a/src/domains/DomainsDropdown.scss b/src/domains/DomainSelector.scss similarity index 83% rename from src/domains/DomainsDropdown.scss rename to src/domains/DomainSelector.scss index ba789483..c9ab0ba0 100644 --- a/src/domains/DomainsDropdown.scss +++ b/src/domains/DomainSelector.scss @@ -15,6 +15,11 @@ color: #495057; } +.domains-dropdown__back-btn.domains-dropdown__back-btn, +.domains-dropdown__back-btn.domains-dropdown__back-btn:hover { + border-color: #ced4da; +} + .domains-dropdown__toggle-btn.domains-dropdown__toggle-btn::after { right: .75rem; diff --git a/src/domains/DomainsDropdown.tsx b/src/domains/DomainSelector.tsx similarity index 76% rename from src/domains/DomainsDropdown.tsx rename to src/domains/DomainSelector.tsx index c46ef3b5..fe3c6780 100644 --- a/src/domains/DomainsDropdown.tsx +++ b/src/domains/DomainSelector.tsx @@ -17,19 +17,19 @@ import { isEmpty, pipe } from 'ramda'; import classNames from 'classnames'; import { useToggle } from '../utils/helpers/hooks'; import { DomainsList } from './reducers/domainsList'; -import './DomainsDropdown.scss'; +import './DomainSelector.scss'; -export interface DomainsDropdownProps extends Omit { +export interface DomainSelectorProps extends Omit { value?: string; onChange: (domain?: string) => void; } -interface DomainsDropdownConnectProps extends DomainsDropdownProps { +interface DomainSelectorConnectProps extends DomainSelectorProps { listDomains: Function; domainsList: DomainsList; } -export const DomainsDropdown = ({ listDomains, value, domainsList, onChange }: DomainsDropdownConnectProps) => { +export const DomainSelector = ({ listDomains, value, domainsList, onChange }: DomainSelectorConnectProps) => { const [ inputDisplayed,, showInput, hideInput ] = useToggle(); const [ isDropdownOpen, toggleDropdown ] = useToggle(); const { domains } = domainsList; @@ -48,7 +48,13 @@ export const DomainsDropdown = ({ listDomains, value, domainsList, onChange }: D onChange={(e) => onChange(e.target.value)} /> - @@ -58,7 +64,13 @@ export const DomainsDropdown = ({ listDomains, value, domainsList, onChange }: D ) : ( - + {valueIsEmpty && <>Domain} {!valueIsEmpty && <>Domain: {value}} diff --git a/src/domains/services/provideServices.ts b/src/domains/services/provideServices.ts index 61655ee5..bd56d8a2 100644 --- a/src/domains/services/provideServices.ts +++ b/src/domains/services/provideServices.ts @@ -1,12 +1,12 @@ import Bottle from 'bottlejs'; import { ConnectDecorator } from '../../container/types'; import { listDomains } from '../reducers/domainsList'; -import { DomainsDropdown } from '../DomainsDropdown'; +import { DomainSelector } from '../DomainSelector'; const provideServices = (bottle: Bottle, connect: ConnectDecorator) => { // Components - bottle.serviceFactory('DomainsDropdown', () => DomainsDropdown); - bottle.decorator('DomainsDropdown', connect([ 'domainsList' ], [ 'listDomains' ])); + bottle.serviceFactory('DomainSelector', () => DomainSelector); + bottle.decorator('DomainSelector', connect([ 'domainsList' ], [ 'listDomains' ])); // Actions bottle.serviceFactory('listDomains', listDomains, 'buildShlinkApiClient'); diff --git a/src/short-urls/CreateShortUrl.tsx b/src/short-urls/CreateShortUrl.tsx index 963f039d..da07dffa 100644 --- a/src/short-urls/CreateShortUrl.tsx +++ b/src/short-urls/CreateShortUrl.tsx @@ -13,7 +13,7 @@ import { useToggle } from '../utils/helpers/hooks'; import { isReachableServer, SelectedServer } from '../servers/data'; import { formatIsoDate } from '../utils/helpers/date'; import { TagsSelectorProps } from '../tags/helpers/TagsSelector'; -import { DomainsDropdownProps } from '../domains/DomainsDropdown'; +import { DomainSelectorProps } from '../domains/DomainSelector'; import { ShortUrlData } from './data'; import { ShortUrlCreation } from './reducers/shortUrlCreation'; import UseExistingIfFoundInfoIcon from './UseExistingIfFoundInfoIcon'; @@ -47,7 +47,7 @@ const CreateShortUrl = ( TagsSelector: FC, CreateShortUrlResult: FC, ForServerVersion: FC, - DomainsDropdown: FC, + DomainSelector: FC, ) => ({ createShortUrl, shortUrlCreationResult, resetCreateShortUrl, selectedServer }: CreateShortUrlProps) => { const [ shortUrlCreation, setShortUrlCreation ] = useState(initialState); const [ moreOptionsVisible, toggleMoreOptionsVisible ] = useToggle(); @@ -89,7 +89,7 @@ const CreateShortUrl = ( const currentServerVersion = isReachableServer(selectedServer) ? selectedServer.version : ''; const disableDomain = !versionMatch(currentServerVersion, { minVersion: '1.19.0-beta.1' }); - const showDomainsDropdown = versionMatch(currentServerVersion, { minVersion: '2.4.0' }); + const showDomainSelector = versionMatch(currentServerVersion, { minVersion: '2.4.0' }); const disableShortCodeLength = !versionMatch(currentServerVersion, { minVersion: '2.1.0' }); return ( @@ -126,13 +126,13 @@ const CreateShortUrl = ( })}
- {!showDomainsDropdown && renderOptionalInput('domain', 'Domain', 'text', { + {!showDomainSelector && renderOptionalInput('domain', 'Domain', 'text', { disabled: disableDomain, ...disableDomain && { title: 'Shlink 1.19.0 or higher is required to be able to provide the domain' }, })} - {showDomainsDropdown && ( + {showDomainSelector && ( - setShortUrlCreation({ ...shortUrlCreation, domain })} /> diff --git a/src/short-urls/services/provideServices.ts b/src/short-urls/services/provideServices.ts index d0ab357c..0735af20 100644 --- a/src/short-urls/services/provideServices.ts +++ b/src/short-urls/services/provideServices.ts @@ -57,7 +57,7 @@ const provideServices = (bottle: Bottle, connect: ConnectDecorator) => { 'TagsSelector', 'CreateShortUrlResult', 'ForServerVersion', - 'DomainsDropdown', + 'DomainSelector', ); bottle.decorator( 'CreateShortUrl',