@microcosmmoney/portal-react 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auction/auction-page.js +0 -1
- package/dist/components/dashboard/assets-summary.js +2 -3
- package/dist/components/dashboard/dashboard-overview.js +0 -1
- package/dist/components/dashboard/ecosystem-stats.js +0 -1
- package/dist/components/dashboard/lock-periods.js +0 -1
- package/dist/components/dashboard/market-overview-bar.js +0 -1
- package/dist/components/dashboard/mcc-token-stats.js +0 -1
- package/dist/components/dashboard/mcd-stats.js +0 -1
- package/dist/components/dashboard/mining-weight.js +4 -4
- package/dist/components/dashboard/minting-stats.js +0 -1
- package/dist/components/dashboard/my-mining.js +0 -1
- package/dist/components/dashboard/price-chart.js +0 -1
- package/dist/components/dashboard/quick-actions.js +0 -1
- package/dist/components/fragment/fragment-page.js +0 -1
- package/dist/components/kpi-radial-chart.js +0 -1
- package/dist/components/lending/lending-page.js +0 -1
- package/dist/components/mcd/mcd-page.js +0 -1
- package/dist/components/menu-section.js +0 -1
- package/dist/components/messages/messages-page.d.ts +7 -0
- package/dist/components/messages/messages-page.js +10 -0
- package/dist/components/mining/mining-page.js +0 -1
- package/dist/components/mining-progress-bar.js +0 -1
- package/dist/components/notifications/notifications-page.d.ts +8 -0
- package/dist/components/notifications/notifications-page.js +10 -0
- package/dist/components/organization/organization-page.js +0 -1
- package/dist/components/terminal-countdown.js +0 -1
- package/dist/components/terminal-dialog.js +0 -1
- package/dist/components/terminal-input.js +0 -1
- package/dist/components/terminal-table.js +0 -1
- package/dist/components/terminal-tabs.js +0 -1
- package/dist/components/terminal-tooltip.js +0 -1
- package/dist/components/terminal.js +0 -1
- package/dist/components/territory/territory-page.js +0 -1
- package/dist/components/territory-card.js +0 -1
- package/dist/components/vote-result-bar.js +0 -1
- package/dist/components/voting/voting-page.js +0 -1
- package/dist/components/wallet/wallet-page.js +0 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -2
- package/dist/lib/cn.js +0 -1
- package/dist/link-context.d.ts +15 -0
- package/dist/link-context.js +15 -0
- package/dist/menu-config.js +0 -1
- package/package.json +3 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// AI-generated · AI-managed · AI-maintained
|
|
3
2
|
'use client';
|
|
4
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
4
|
exports.MicrocosmAssetsSummary = MicrocosmAssetsSummary;
|
|
@@ -12,7 +11,7 @@ const RANK_COLOR = {
|
|
|
12
11
|
function MicrocosmAssetsSummary({ basePath = '', onNavigate, accentColor }) {
|
|
13
12
|
const { balance: mccData, loading: mccLoading } = (0, auth_react_1.useMCC)(120000);
|
|
14
13
|
const { balance: mcdData, loading: mcdLoading } = (0, auth_react_1.useMCD)(120000);
|
|
15
|
-
const { data: levelData } = (0, auth_react_1.
|
|
14
|
+
const { data: levelData } = (0, auth_react_1.useLevelProgress)();
|
|
16
15
|
const { data: wallets } = (0, auth_react_1.useWallets)();
|
|
17
16
|
const { data: locks } = (0, auth_react_1.useMCCLocks)();
|
|
18
17
|
const { data: marketData } = (0, auth_react_1.useMarketData)();
|
|
@@ -28,7 +27,7 @@ function MicrocosmAssetsSummary({ basePath = '', onNavigate, accentColor }) {
|
|
|
28
27
|
const lockedAmount = activeLocks.reduce((sum, l) => sum + (l.amount || 0), 0);
|
|
29
28
|
const rank = levelData?.level ?? null;
|
|
30
29
|
const nextRank = levelData?.next_level ?? null;
|
|
31
|
-
const progress = levelData?.
|
|
30
|
+
const progress = levelData?.progress_percent ?? 0;
|
|
32
31
|
const fmt = (n, d = 2) => n.toLocaleString('en-US', { minimumFractionDigits: d, maximumFractionDigits: d });
|
|
33
32
|
const rankColor = accentColor
|
|
34
33
|
? undefined
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// AI-generated · AI-managed · AI-maintained
|
|
3
2
|
'use client';
|
|
4
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
4
|
exports.MicrocosmMiningWeight = MicrocosmMiningWeight;
|
|
@@ -34,13 +33,14 @@ function getCompanionYield(rank) {
|
|
|
34
33
|
];
|
|
35
34
|
}
|
|
36
35
|
function MicrocosmMiningWeight({ accentColor } = {}) {
|
|
37
|
-
const { data, loading: loadingLevel } = (0, auth_react_1.
|
|
36
|
+
const { data, loading: loadingLevel } = (0, auth_react_1.useLevelProgress)();
|
|
38
37
|
const { data: techBonus, loading: loadingTech } = (0, auth_react_1.useTechBonusDetail)();
|
|
39
38
|
const { data: miningStats, loading: loadingMining } = (0, auth_react_1.useMiningStats)();
|
|
40
39
|
const loading = loadingLevel || loadingTech || loadingMining;
|
|
41
40
|
const ac = accentColor || '#22d3ee';
|
|
42
|
-
const rank = data?.
|
|
43
|
-
const
|
|
41
|
+
const rank = data?.current_rank?.toLowerCase() ?? null;
|
|
42
|
+
const totalHoldings = data ? (data.holdings.station + data.holdings.matrix + data.holdings.sector + data.holdings.system) : 0;
|
|
43
|
+
const miningDays = totalHoldings > 0 ? totalHoldings : (miningStats?.active_days_30d ?? 0);
|
|
44
44
|
const companionYield = getCompanionYield(rank);
|
|
45
45
|
const bonusMultiplier = techBonus?.bonus_multiplier ?? 0;
|
|
46
46
|
const discountPct = bonusMultiplier > 0 ? `+${(bonusMultiplier * 100).toFixed(0)}%` : '0%';
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MicrocosmMenuSection = MicrocosmMenuSection;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
// AI-generated · AI-managed · AI-maintained
|
|
9
8
|
const react_1 = __importDefault(require("react"));
|
|
10
9
|
const menu_config_1 = require("../menu-config");
|
|
11
10
|
function isActive(itemPath, currentPath) {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface MicrocosmMessagesPageProps {
|
|
2
|
+
accentColor?: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
emptyText?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function MicrocosmMessagesPage({ accentColor, title, subtitle, emptyText, }?: MicrocosmMessagesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MicrocosmMessagesPage = MicrocosmMessagesPage;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const terminal_1 = require("../terminal");
|
|
8
|
+
function MicrocosmMessagesPage({ accentColor, title = 'Messages', subtitle = 'Private messages and system replies', emptyText = 'No messages yet', } = {}) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "max-w-7xl mx-auto px-3 py-4 space-y-3 xs:px-4 xs:space-y-4 sm:px-6 sm:py-6 sm:space-y-6 font-mono", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-lg sm:text-2xl font-bold text-white tracking-wider", children: title }), (0, jsx_runtime_1.jsx)("p", { className: "text-xs sm:text-sm text-neutral-400", children: subtitle })] }), (0, jsx_runtime_1.jsx)(terminal_1.TerminalCard, { children: (0, jsx_runtime_1.jsxs)("div", { className: "text-center py-8 text-neutral-500", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.MessageSquare, { className: "w-12 h-12 mx-auto mb-4 text-neutral-500" }), (0, jsx_runtime_1.jsx)("p", { children: emptyText })] }) })] }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface MicrocosmNotificationsPageProps {
|
|
2
|
+
accentColor?: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
emptyText?: string;
|
|
6
|
+
emptyHint?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function MicrocosmNotificationsPage({ accentColor, title, subtitle, emptyText, emptyHint, }?: MicrocosmNotificationsPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MicrocosmNotificationsPage = MicrocosmNotificationsPage;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const terminal_1 = require("../terminal");
|
|
8
|
+
function MicrocosmNotificationsPage({ accentColor, title = 'Notifications', subtitle = 'System alerts and messages', emptyText = 'No notifications', emptyHint = 'You will be notified when something important happens', } = {}) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "max-w-4xl mx-auto px-3 py-4 space-y-3 xs:px-4 xs:space-y-4 sm:px-6 sm:py-6 sm:space-y-6 font-mono", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-lg sm:text-2xl font-bold text-white tracking-wider", children: title }), (0, jsx_runtime_1.jsx)("p", { className: "text-xs sm:text-sm text-neutral-400", children: subtitle })] }), (0, jsx_runtime_1.jsx)(terminal_1.TerminalCard, { children: (0, jsx_runtime_1.jsxs)("div", { className: "text-center py-12 text-neutral-500", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Bell, { className: "w-12 h-12 mx-auto mb-3 opacity-50" }), (0, jsx_runtime_1.jsx)("p", { className: "text-lg", children: emptyText }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm mt-1", children: emptyHint })] }) })] }));
|
|
10
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { MicrocosmMenuSection } from './components/menu-section';
|
|
2
2
|
export type { MicrocosmMenuSectionProps } from './components/menu-section';
|
|
3
|
+
export { LinkProvider, useLinkComponent } from './link-context';
|
|
4
|
+
export type { LinkProps, LinkComponent } from './link-context';
|
|
3
5
|
export { blockchainMenu, web3OsMenu, dashboardMenu, microcosmMenuGroups, getAllMenuItems, resolveMenuPath, getMenuTitle, getMenuDescription, } from './menu-config';
|
|
4
6
|
export type { MicrocosmMenuItem, MicrocosmMenuGroup, MenuLocale } from './menu-config';
|
|
5
7
|
export { TerminalCard, StatBox, TerminalCommand, TerminalPageHeader, TerminalLoading, TerminalError, TerminalEmpty, TerminalBadge, TerminalDataRow, TerminalProgress, } from './components/terminal';
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.MicrocosmTerritoryPage = exports.MicrocosmAuctionPage = exports.MicrocosmMCDPage = exports.MicrocosmMiningPage = exports.MicrocosmWalletPage = exports.MicrocosmLendingPage = exports.MicrocosmFragmentPage = exports.MicrocosmLockPeriods = exports.MicrocosmMCDStats = exports.MicrocosmMCCTokenStats = exports.MicrocosmEcosystemStats = exports.MicrocosmMyMining = exports.MicrocosmMiningWeight = exports.MicrocosmMintingStats = exports.MicrocosmPriceChart = exports.MicrocosmAssetsSummary = exports.MicrocosmQuickActions = exports.MicrocosmMarketBar = exports.MicrocosmDashboardOverview = exports.KPIRadialChart = exports.VoteResultBar = exports.MiningProgressBar = exports.TerritoryCard = exports.TerminalTooltip = exports.TerminalInput = exports.TerminalCountdown = exports.TerminalDialog = exports.TerminalTabs = exports.TerminalTable = exports.TerminalProgress = exports.TerminalDataRow = exports.TerminalBadge = exports.TerminalEmpty = exports.TerminalError = exports.TerminalLoading = exports.TerminalPageHeader = exports.TerminalCommand = exports.StatBox = exports.TerminalCard = exports.getMenuDescription = exports.getMenuTitle = exports.resolveMenuPath = exports.getAllMenuItems = exports.microcosmMenuGroups = exports.dashboardMenu = exports.web3OsMenu = exports.blockchainMenu = exports.useLinkComponent = exports.LinkProvider = exports.MicrocosmMenuSection = void 0;
|
|
4
|
+
exports.MicrocosmVotingPage = exports.MicrocosmOrganizationPage = void 0;
|
|
5
5
|
var menu_section_1 = require("./components/menu-section");
|
|
6
6
|
Object.defineProperty(exports, "MicrocosmMenuSection", { enumerable: true, get: function () { return menu_section_1.MicrocosmMenuSection; } });
|
|
7
|
+
var link_context_1 = require("./link-context");
|
|
8
|
+
Object.defineProperty(exports, "LinkProvider", { enumerable: true, get: function () { return link_context_1.LinkProvider; } });
|
|
9
|
+
Object.defineProperty(exports, "useLinkComponent", { enumerable: true, get: function () { return link_context_1.useLinkComponent; } });
|
|
7
10
|
var menu_config_1 = require("./menu-config");
|
|
8
11
|
Object.defineProperty(exports, "blockchainMenu", { enumerable: true, get: function () { return menu_config_1.blockchainMenu; } });
|
|
9
12
|
Object.defineProperty(exports, "web3OsMenu", { enumerable: true, get: function () { return menu_config_1.web3OsMenu; } });
|
package/dist/lib/cn.js
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LinkProps {
|
|
3
|
+
href: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
7
|
+
target?: string;
|
|
8
|
+
rel?: string;
|
|
9
|
+
}
|
|
10
|
+
export type LinkComponent = React.ComponentType<LinkProps>;
|
|
11
|
+
export declare function LinkProvider({ component, children }: {
|
|
12
|
+
component: LinkComponent;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function useLinkComponent(): LinkComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.LinkProvider = LinkProvider;
|
|
5
|
+
exports.useLinkComponent = useLinkComponent;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const DefaultLink = ({ href, className, children, onClick, target, rel }) => ((0, jsx_runtime_1.jsx)("a", { href: href, className: className, onClick: onClick, target: target, rel: rel, children: children }));
|
|
9
|
+
const LinkContext = (0, react_1.createContext)(DefaultLink);
|
|
10
|
+
function LinkProvider({ component, children }) {
|
|
11
|
+
return (0, jsx_runtime_1.jsx)(LinkContext.Provider, { value: component, children: children });
|
|
12
|
+
}
|
|
13
|
+
function useLinkComponent() {
|
|
14
|
+
return (0, react_1.useContext)(LinkContext);
|
|
15
|
+
}
|
package/dist/menu-config.js
CHANGED
|
@@ -5,7 +5,6 @@ exports.getMenuTitle = getMenuTitle;
|
|
|
5
5
|
exports.getMenuDescription = getMenuDescription;
|
|
6
6
|
exports.getAllMenuItems = getAllMenuItems;
|
|
7
7
|
exports.resolveMenuPath = resolveMenuPath;
|
|
8
|
-
// AI-generated · AI-managed · AI-maintained
|
|
9
8
|
const lucide_react_1 = require("lucide-react");
|
|
10
9
|
/** Resolve localized title — falls back to `item.title` (English) */
|
|
11
10
|
function getMenuTitle(item, locale) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microcosmmoney/portal-react",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Microcosm Portal UI components for React/Next.js",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"lucide-react": ">=0.300.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@microcosmmoney/auth-core": "^2.3.
|
|
22
|
-
"@microcosmmoney/auth-react": "^2.3.
|
|
21
|
+
"@microcosmmoney/auth-core": "^2.3.2",
|
|
22
|
+
"@microcosmmoney/auth-react": "^2.3.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/react": "^18.0.0",
|