mirror of
https://github.com/aljazceru/mutiny-web.git
synced 2025-12-29 20:04:23 +01:00
add three day grace period
This commit is contained in:
@@ -27,6 +27,7 @@ import eify from "~/utils/eify";
|
||||
import party from "~/assets/party.gif";
|
||||
import { LoadingShimmer } from "~/components/BalanceBox";
|
||||
import { useI18n } from "~/i18n/context";
|
||||
import { subscriptionValid } from "~/utils/subscriptions";
|
||||
|
||||
function Perks(props: { alreadySubbed?: boolean }) {
|
||||
const i18n = useI18n();
|
||||
@@ -114,10 +115,7 @@ function PlusCTA() {
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
state.subscription_timestamp &&
|
||||
state.subscription_timestamp < Math.ceil(Date.now() / 1000)
|
||||
) {
|
||||
if (!subscriptionValid(state.subscription_timestamp)) {
|
||||
setError(
|
||||
new Error(
|
||||
i18n.t("settings.plus.error_expired_subscription")
|
||||
|
||||
@@ -23,6 +23,7 @@ import { checkBrowserCompatibility } from "~/logic/browserCompatibility";
|
||||
import eify from "~/utils/eify";
|
||||
import { timeout } from "~/utils/timeout";
|
||||
import { ParsedParams } from "~/logic/waila";
|
||||
import { subscriptionValid } from "~/utils/subscriptions";
|
||||
|
||||
const MegaStoreContext = createContext<MegaStore>();
|
||||
|
||||
@@ -81,13 +82,8 @@ export const Provider: ParentComponent = (props) => {
|
||||
existing_tab_detected: false,
|
||||
subscription_timestamp: undefined as number | undefined,
|
||||
get mutiny_plus(): boolean {
|
||||
// No subscription
|
||||
if (!state.subscription_timestamp) return false;
|
||||
|
||||
// Expired
|
||||
if (state.subscription_timestamp < Math.ceil(Date.now() / 1000))
|
||||
return false;
|
||||
else return true;
|
||||
// Make sure the subscription hasn't expired
|
||||
return subscriptionValid(state.subscription_timestamp);
|
||||
},
|
||||
needs_password: false,
|
||||
load_stage: "fresh" as LoadStage,
|
||||
|
||||
7
src/utils/subscriptions.ts
Normal file
7
src/utils/subscriptions.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
const GRACE = 60 * 60 * 24 * 3; // 3 days
|
||||
|
||||
export function subscriptionValid(subscriptionExpiresTimestamp?: number) {
|
||||
if (!subscriptionExpiresTimestamp) return false;
|
||||
|
||||
return subscriptionExpiresTimestamp + GRACE > Math.ceil(Date.now() / 1000);
|
||||
}
|
||||
Reference in New Issue
Block a user