PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.17
Yatra – Travel Booking & Tour Operator Software v3.0.17
3.0.17 3.0.16 3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 All 85 releases
← All changes | resources/js/pages/License.tsx +6 -3 3.0.5.1 → 3.0.17 View file →
@@ -1,7 +1,8 @@
1 1 import React, { useState, useEffect } from "react";
2 2 import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3 3 import { apiClient } from "../lib/api-client";
4 +import { toDateValue } from "../lib/dateFormat";
4 5 import { __ } from "../lib/i18n";
5 6 import { useToast } from "../components/ui/toast";
6 7 import {
7 8 Key,
@@ -593,9 +594,9 @@
593 594 </span>
594 595 {licenseInfo.plan.is_agency && (
595 596 <span className="inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[11px] font-semibold bg-gradient-to-r from-purple-600 to-indigo-500 text-white">
596 597 <Crown className="w-3 h-3" />
597 - {__("Agency", "yatra")}
598 + {__("Scale", "yatra")}
598 599 </span>
599 600 )}
600 601 {licenseInfo.plan.is_growth && (
601 602 <span className="inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[11px] font-semibold bg-blue-600 text-white">
@@ -618,9 +619,9 @@
618 619 )}
619 620 {licenseInfo.plan.matched_by === "fallback" && (
620 621 <p className="mt-2 text-[11px] text-amber-600 dark:text-amber-400">
621 622 {__(
622 - "Could not match price ID or label — defaulted to Personal. Contact support if your subscription is Growth or Agency.",
623 + "Could not match price ID or label — defaulted to Starter. Contact support if your subscription is Growth or Scale.",
623 624 "yatra",
624 625 )}
625 626 </p>
626 627 )}
@@ -657,9 +658,11 @@
657 658 </div>
658 659 <div className="font-medium text-gray-900 dark:text-white">
659 660 {(() => {
660 661 try {
661 - const date = new Date(
662 + // toDateValue: a date-only "expires" must not roll back a
663 + // day in behind-UTC zones (datetime values pass through).
664 + const date = toDateValue(
662 665 licenseInfo.server_response.expires,
663 666 );
664 667 return isNaN(date.getTime())
665 668 ? licenseInfo.server_response.expires