mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-22 16:35:20 +08:00
- Expose the workspace's purchased plan revision from the entitlement snapshot. - Stack the purchased revision card in front of the latest revision in the plan comparison dialog; both cards share the same layout, and the purchased card's copy and prices come from the Space revision endpoint while benefits stay on the entitlement snapshot. - Add a cancel-first tooltip for subscribing to the newer revision. Co-Authored-By: Claude Opus 5.5 <[email protected]>
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
import { createRoot } from 'react-dom/client';
|
|
import { createInstance } from 'i18next';
|
|
import { I18nextProvider } from 'react-i18next';
|
|
import enUS from '../../src/i18n/locales/en-US';
|
|
import CloudPlansDialog from '../../src/app/home/components/workspace-settings/CloudPlansDialog';
|
|
import '../../src/app/global.css';
|
|
const mode = new URLSearchParams(location.search).get('mode') || 'changed';
|
|
const current = {
|
|
name: 'pro',
|
|
subscription_started_at: 1790812800,
|
|
revision: 1,
|
|
limits: {
|
|
'bots.max': 2,
|
|
'members.max': 3,
|
|
'chat_history.retention_days': 30,
|
|
},
|
|
entitlement_features: { mcp_stdio: false, 'platform.telegram': false },
|
|
monthly_bonus_credits: 10,
|
|
};
|
|
const i18n = createInstance();
|
|
await i18n.init({
|
|
lng: 'en-US',
|
|
resources: { 'en-US': { translation: enUS } },
|
|
});
|
|
createRoot(document.getElementById('root')!).render(
|
|
<I18nextProvider i18n={i18n}>
|
|
<CloudPlansDialog
|
|
open
|
|
onOpenChange={() => {}}
|
|
workspace={
|
|
{
|
|
workspace: { uuid: 'fixture', name: 'Review workspace' },
|
|
membership: { role: mode === 'member' ? 'viewer' : 'owner' },
|
|
plan_name: 'pro',
|
|
current_plan: mode === 'unknown' ? null : current,
|
|
} as any
|
|
}
|
|
spaceURL="https://space.example.test"
|
|
/>
|
|
</I18nextProvider>,
|
|
);
|