Skip to content

Commit a1cd6c8

Browse files
subirjollySubir Jolly
andauthored
feat: add checkout query param2 (#3277)
* feat: add checkout query param for credit for experiment users * chore: change from remaining to used days * chore: remove debug logs Co-authored-by: Subir Jolly <subirjolly@Subirs-MacBook-Pro.local>
1 parent 4050396 commit a1cd6c8

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

src/checkout/context/checkout.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ export const CheckoutContext = React.createContext<CheckoutContextType>(
8787
DEFAULT_CONTEXT
8888
)
8989

90+
const CHECKOUT_PARAM_CODE = '757vMPJiCMdTFkO4'
91+
9092
export const CheckoutProvider: FC<Props> = React.memo(({children}) => {
9193
const dispatch = useDispatch()
9294

@@ -256,9 +258,12 @@ export const CheckoutProvider: FC<Props> = React.memo(({children}) => {
256258
return errs.length
257259
}
258260

261+
const query = new URLSearchParams(window.location.search)
262+
const checkoutCode = query.get('c')
259263
const isPaygCreditActive =
260264
isFlagEnabled('paygCheckoutCredit') &&
261-
getExperimentVariantId(PAYG_CREDIT_EXPERIMENT_ID) === '1'
265+
getExperimentVariantId(PAYG_CREDIT_EXPERIMENT_ID) === '1' &&
266+
checkoutCode === CHECKOUT_PARAM_CODE
262267

263268
const handleSubmit = useCallback(
264269
async (paymentMethodId: string) => {

src/me/components/UsagePanelDetails.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {PAYG_CREDIT_DAYS, PAYG_MAX_CREDIT} from 'src/shared/constants'
1111
// Types
1212

1313
const UsagePanelDetails: FC = () => {
14-
const {creditUsage, creditDaysRemaining} = useContext(UsageContext)
14+
const {creditUsage, creditDaysUsed} = useContext(UsageContext)
1515

1616
return (
1717
<>
@@ -25,19 +25,17 @@ const UsagePanelDetails: FC = () => {
2525
maxText={`$${PAYG_MAX_CREDIT} credit`}
2626
/>
2727
<ProgressBar
28-
value={PAYG_CREDIT_DAYS - creditDaysRemaining}
28+
value={creditDaysUsed}
2929
max={PAYG_CREDIT_DAYS}
3030
barGradient={
31-
creditDaysRemaining > 15
32-
? Gradients.HotelBreakfast
33-
: Gradients.DangerDark
31+
creditDaysUsed <= 15 ? Gradients.HotelBreakfast : Gradients.DangerDark
3432
}
3533
color={
36-
creditDaysRemaining > 15 ? InfluxColors.Wasabi : InfluxColors.Curacao
34+
creditDaysUsed <= 15 ? InfluxColors.Wasabi : InfluxColors.Curacao
3735
}
3836
label="Credit Period"
39-
valueText={`${creditDaysRemaining}`}
40-
maxText={`${PAYG_CREDIT_DAYS} days remaining`}
37+
valueText={`${creditDaysUsed}`}
38+
maxText={`${PAYG_CREDIT_DAYS} days used`}
4139
/>
4240
</>
4341
)

src/usage/context/usage.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export interface UsageContextType {
5252
usageStatsStatus: RemoteDataState
5353
usageVectors: UsageVector[]
5454
creditUsage: Usage
55-
creditDaysRemaining: number
55+
creditDaysUsed: number
5656
paygCreditEnabled: boolean
5757
}
5858

@@ -70,7 +70,7 @@ export const DEFAULT_CONTEXT: UsageContextType = {
7070
usageStatsStatus: RemoteDataState.NotStarted,
7171
usageVectors: [],
7272
creditUsage: DEFAULT_USAGE,
73-
creditDaysRemaining: 0,
73+
creditDaysUsed: 0,
7474
paygCreditEnabled: false,
7575
}
7676

@@ -100,17 +100,15 @@ export const UsageProvider: FC<Props> = React.memo(({children}) => {
100100
DEFAULT_USAGE_TIME_RANGE
101101
)
102102
const {quartzMe} = useSelector(getMe)
103-
const creditDaysRemaining = useMemo(() => {
103+
const creditDaysUsed = useMemo(() => {
104104
const startDate = new Date(quartzMe?.paygCreditStartDate)
105105
const current = new Date()
106106
const diffTime = Math.abs(current.getTime() - startDate.getTime())
107-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))
108-
109-
return PAYG_CREDIT_DAYS - diffDays
107+
return Math.floor(diffTime / (1000 * 60 * 60 * 24))
110108
}, [quartzMe?.paygCreditStartDate])
111109

112110
const paygCreditEnabled =
113-
creditDaysRemaining > 0 && creditDaysRemaining <= PAYG_CREDIT_DAYS
111+
creditDaysUsed >= 0 && creditDaysUsed < PAYG_CREDIT_DAYS
114112

115113
const handleSetTimeRange = useCallback(
116114
(range: SelectableDurationTimeRange) => {
@@ -338,7 +336,7 @@ export const UsageProvider: FC<Props> = React.memo(({children}) => {
338336
usageStatsStatus,
339337
usageVectors,
340338
creditUsage,
341-
creditDaysRemaining,
339+
creditDaysUsed,
342340
paygCreditEnabled,
343341
}}
344342
>

0 commit comments

Comments
 (0)