Skip to content

Commit

Permalink
clearer naming
Browse files Browse the repository at this point in the history
  • Loading branch information
jonesmac committed Sep 6, 2024
1 parent b9cda22 commit 9b68a95
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { ReactNode } from 'react'
import type { To } from 'react-router-dom'

export interface XnsNameCaptureBuyCallbacks {
onBuyName?: (name: string) => Promise<void>
onCaptureName?: (name: string) => Promise<void>
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ const Default = Template.bind({})
Default.args = {}

const WithOnBuyName = Template.bind({})
WithOnBuyName.args = { xnsName: 'testing123', onBuyName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }
WithOnBuyName.args = { xnsName: 'testing123', onCaptureName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }

export { Default, WithOnBuyName }
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const XnsCaptureSecondaryLink: React.FC<XnsCaptureSecondaryLinkProps> = (
funnel = 'xns',
mixpanel,
navigate,
onBuyName,
onCaptureName,
paramsString = '',
placement = '',
setError,
Expand All @@ -50,7 +50,7 @@ export const XnsCaptureSecondaryLink: React.FC<XnsCaptureSecondaryLinkProps> = (
if (valid) {
await userEvents?.userClick({ elementName: event, elementType: 'xns-cta' })
navigate?.(`${to}?username=${xnsName}${paramsString}`)
await onBuyName?.(xnsName)
await onCaptureName?.(xnsName)
} else {
setError?.(new Error(errors.join(', ')))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ const Default = Template.bind({})
Default.args = {}

const WithOnBuyName = Template.bind({})
WithOnBuyName.args = { navigate: (to: To) => alert(`navigated to: ${to}`), onBuyName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }
WithOnBuyName.args = { navigate: (to: To) => alert(`navigated to: ${to}`), onCaptureName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }

export { Default, WithOnBuyName }
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export const XnsNameCapture: React.FC<XnsNameCaptureProps> = ({
mixpanel,
mobileButtonText = 'Buy',
navigate,
onBuyName: onBuyNameProp,
onCaptureName: onCaptureNameProp,
paramsString = '',
placement = '',
showSecondary = false,
Expand All @@ -37,17 +37,16 @@ export const XnsNameCapture: React.FC<XnsNameCaptureProps> = ({
const theme = useTheme()
const isMobile = useMediaQuery(theme.breakpoints.down('md'))

const buyDisabled = !xnsName || xnsName.length < MIN_DOMAIN_LENGTH
const captureDisabled = !xnsName || xnsName.length < MIN_DOMAIN_LENGTH

const handleChange: StandardTextFieldProps['onChange'] = (event) => {
const NsName = XnsNameHelper.mask(event.target.value)
setXnsName(NsName)
setError(undefined)
}

const onBuyName = useCallback(async () => {
if (!xnsName) return

const onCaptureName = useCallback(async () => {
if (captureDisabled) return
mixpanel?.track(event, {
Funnel: funnel,
Placement: placement,
Expand All @@ -57,18 +56,18 @@ export const XnsNameCapture: React.FC<XnsNameCaptureProps> = ({
const [valid, errors] = await helper.validate()
if (valid) {
await userEvents?.userClick({ elementName: event, elementType: 'xns-cta' })
await onBuyNameProp?.(xnsName)
await onCaptureNameProp?.(xnsName)
navigate?.(`${to}?username=${xnsName}${paramsString}`)
} else {
setError(new Error(errors.join(', ')))
}
}, [event, funnel, mixpanel, paramsString, placement, to, userEvents, xnsName])

const onKeyDown: KeyboardEventHandler<HTMLDivElement> = useCallback(async (event) => {
if (event.key === 'Enter' && !buyDisabled) {
await onBuyName?.()
if (event.key === 'Enter' && !captureDisabled) {
await onCaptureName?.()
}
}, [buyDisabled, onBuyName])
}, [captureDisabled, onCaptureName])

return (
<FlexCol gap={showSecondary ? 1.5 : 0} alignItems="center" {...props}>
Expand All @@ -84,11 +83,11 @@ export const XnsNameCapture: React.FC<XnsNameCaptureProps> = ({
onBlur={handleChange}
/>
<ButtonEx
disabled={buyDisabled}
disabled={captureDisabled}
variant="contained"
color="success"
endIcon={<KeyboardArrowRightRounded />}
onClick={onBuyName}
onClick={onCaptureName}
>
{isMobile ? mobileButtonText : buttonText}
</ButtonEx>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ const Default = Template.bind({})
Default.args = {}

const WithOnBuyName = Template.bind({})
WithOnBuyName.args = { navigate: (to: To) => alert(`navigated to: ${to}`), onBuyName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }
WithOnBuyName.args = { navigate: (to: To) => alert(`navigated to: ${to}`), onCaptureName: (name: string) => Promise.resolve(alert(`Buy Name: ${name}`)) }

export { Default, WithOnBuyName }

0 comments on commit 9b68a95

Please sign in to comment.