Skip to content

Commit 448441e

Browse files
committed
compare hours elapsed within range instead of dates
1 parent 1b2e8cd commit 448441e

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/features.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { StoredFeaturePreviewUsagePeriod } from './constants.storage';
2-
import { proFeaturePreviewUsages } from './constants.subscription';
2+
import { proFeaturePreviewUsageDurationInDays, proFeaturePreviewUsages } from './constants.subscription';
33
import type { RepositoryVisibility } from './git/gitProvider';
44
import type { RequiredSubscriptionPlans, Subscription } from './plus/gk/account/subscription';
55
import { capitalize } from './system/string';
@@ -64,13 +64,20 @@ export function isFeaturePreviewActive(featurePreview?: FeaturePreview) {
6464
const usages = featurePreview?.usages;
6565
if (usages == null || usages.length === 0) return false;
6666

67-
return usages.length <= proFeaturePreviewUsages && new Date(usages[usages.length - 1].expiresOn) > new Date();
67+
const remainingHours = (new Date(usages[usages.length - 1].expiresOn).getTime() - new Date().getTime()) / 3600000;
68+
return (
69+
usages.length <= proFeaturePreviewUsages &&
70+
remainingHours > 0 &&
71+
remainingHours < 24 * proFeaturePreviewUsageDurationInDays
72+
);
6873
}
6974

7075
export function isFeaturePreviewExpired(featurePreview: FeaturePreview) {
7176
const usages = featurePreview.usages;
77+
const remainingHours = (new Date(usages[usages.length - 1].expiresOn).getTime() - new Date().getTime()) / 3600000;
7278
return (
7379
usages.length > proFeaturePreviewUsages ||
74-
(usages.length === proFeaturePreviewUsages && new Date(usages[usages.length - 1].expiresOn) < new Date())
80+
(usages.length === proFeaturePreviewUsages && remainingHours <= 0) ||
81+
remainingHours >= 24 * proFeaturePreviewUsageDurationInDays
7582
);
7683
}

0 commit comments

Comments
 (0)