+
+
+
+
+
+
+ Deactivate Device
+
+ This will deactivate the license on this device. You can reactivate it later if you have available activation slots.
+
+
+
+ Cancel
+ deactivateMutation.mutate({
+ licenseId: license.id,
+ activationId: activation.id,
+ })}
+ >
+ Deactivate
+
+
+
+
+
+ ))}
+
+ )}
+
+ )}
+
+ ))}
+
+ )}
+
+ );
+}
diff --git a/customer-spa/src/pages/Account/components/AccountLayout.tsx b/customer-spa/src/pages/Account/components/AccountLayout.tsx
index 11d9260..493def7 100644
--- a/customer-spa/src/pages/Account/components/AccountLayout.tsx
+++ b/customer-spa/src/pages/Account/components/AccountLayout.tsx
@@ -1,6 +1,6 @@
import React, { ReactNode, useState, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
-import { LayoutDashboard, ShoppingBag, Download, MapPin, Heart, User, LogOut } from 'lucide-react';
+import { LayoutDashboard, ShoppingBag, Download, MapPin, Heart, User, LogOut, Key } from 'lucide-react';
import { useModules } from '@/hooks/useModules';
import { api } from '@/lib/api/client';
import {
@@ -53,13 +53,16 @@ export function AccountLayout({ children }: AccountLayoutProps) {
{ id: 'downloads', label: 'Downloads', path: '/my-account/downloads', icon: Download },
{ id: 'addresses', label: 'Addresses', path: '/my-account/addresses', icon: MapPin },
{ id: 'wishlist', label: 'Wishlist', path: '/my-account/wishlist', icon: Heart },
+ { id: 'licenses', label: 'Licenses', path: '/my-account/licenses', icon: Key },
{ id: 'account-details', label: 'Account Details', path: '/my-account/account-details', icon: User },
];
- // Filter out wishlist if module disabled or settings disabled
- const menuItems = allMenuItems.filter(item =>
- item.id !== 'wishlist' || (isEnabled('wishlist') && wishlistEnabled)
- );
+ // Filter out wishlist if module disabled or settings disabled, licenses if licensing disabled
+ const menuItems = allMenuItems.filter(item => {
+ if (item.id === 'wishlist') return isEnabled('wishlist') && wishlistEnabled;
+ if (item.id === 'licenses') return isEnabled('licensing');
+ return true;
+ });
const handleLogout = async () => {
setIsLoggingOut(true);
diff --git a/customer-spa/src/pages/Account/index.tsx b/customer-spa/src/pages/Account/index.tsx
index 1a19e98..306f67d 100644
--- a/customer-spa/src/pages/Account/index.tsx
+++ b/customer-spa/src/pages/Account/index.tsx
@@ -9,6 +9,7 @@ import Downloads from './Downloads';
import Addresses from './Addresses';
import Wishlist from './Wishlist';
import AccountDetails from './AccountDetails';
+import Licenses from './Licenses';
export default function Account() {
const user = (window as any).woonoowCustomer?.user;
@@ -30,6 +31,7 @@ export default function Account() {
} />
} />
} />
+ } />
} />
} />
@@ -37,3 +39,4 @@ export default function Account() {
);
}
+