diff --git a/app/components/dashboard/app-sidebar.tsx b/app/components/dashboard/app-sidebar.tsx
index 1708ba19..f552ae62 100644
--- a/app/components/dashboard/app-sidebar.tsx
+++ b/app/components/dashboard/app-sidebar.tsx
@@ -26,13 +26,7 @@ const data = {
icon: MessageCircle,
},
],
- navSecondary: [
- {
- title: "Settings",
- url: "/dashboard/settings",
- icon: IconSettings,
- },
- ],
+ navSecondary: [],
};
export function AppSidebar({
diff --git a/app/components/dashboard/nav-user.tsx b/app/components/dashboard/nav-user.tsx
index 3ded4859..25e1177f 100644
--- a/app/components/dashboard/nav-user.tsx
+++ b/app/components/dashboard/nav-user.tsx
@@ -5,6 +5,7 @@ import {
IconUserCircle,
} from "@tabler/icons-react";
import { SettingsIcon } from "lucide-react";
+import { Link } from "react-router";
import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar";
import {
DropdownMenu,
@@ -85,9 +86,12 @@ export function NavUser({ user }: any) {
Account
-
-
- Settings
+
+
+
+
+ Settings
+
diff --git a/convex/subscriptions.ts b/convex/subscriptions.ts
index 41b2d2cc..54f12b4d 100644
--- a/convex/subscriptions.ts
+++ b/convex/subscriptions.ts
@@ -51,7 +51,6 @@ const createCheckout = async ({
customerEmail: customerEmail,
metadata: {
...metadata,
- priceId: productPriceId,
},
};
@@ -185,7 +184,7 @@ export const checkUserSubscriptionStatus = query({
}
tokenIdentifier = identity.subject;
}
-
+
const user = await ctx.db
.query("users")
.withIndex("by_token", (q) => q.eq("tokenIdentifier", tokenIdentifier))
@@ -194,10 +193,11 @@ export const checkUserSubscriptionStatus = query({
if (!user) {
return { hasActiveSubscription: false };
}
-
+
const subscription = await ctx.db
.query("subscriptions")
.withIndex("userId", (q) => q.eq("userId", user.tokenIdentifier))
+ .filter((q) => q.eq(q.field("status"), "active"))
.first();
const hasActiveSubscription = subscription?.status === "active";
@@ -234,6 +234,7 @@ export const checkUserSubscriptionStatusByClerkId = query({
const subscription = await ctx.db
.query("subscriptions")
.withIndex("userId", (q) => q.eq("userId", user.tokenIdentifier))
+ .order("desc") // Order by createdAt in descending order
.first();
const hasActiveSubscription = subscription?.status === "active";
@@ -261,6 +262,7 @@ export const fetchUserSubscription = query({
const subscription = await ctx.db
.query("subscriptions")
.withIndex("userId", (q) => q.eq("userId", user.tokenIdentifier))
+ .order("desc") // Order by createdAt in descending order
.first();
return subscription;
@@ -328,6 +330,7 @@ export const handleWebhookEvent = mutation({
if (existingSub) {
await ctx.db.patch(existingSub._id, {
+ polarPriceId: args.body.data.price_id,
amount: args.body.data.amount,
status: args.body.data.status,
currentPeriodStart: new Date(