Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc00d66f

Browse files
author
FalkWolsky
committed
Updating Promo Pages
1 parent3a855b4 commitc00d66f

File tree

6 files changed

+323
-65
lines changed

6 files changed

+323
-65
lines changed

‎client/packages/lowcoder/src/i18n/locales/en.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2484,7 +2484,7 @@ export const en = {
24842484
"GrantUpdateDeletePermission":"Grant or update permissions",
24852485
"LibraryQueryActions":"Create / Update / Delete library queries",
24862486
"PublishLibraryQuery":"Publish library query",
2487-
"AuditLogsPreviewTitle":"Preview the Audit Log in action",
2487+
"AuditLogsPreviewTitle":"Preview the Audit Log in action (click to zoom)",
24882488
"ScreenshotPlaceholder1":"[ Screenshot 1 Placeholder ]",
24892489
"ScreenshotPlaceholder2":"[ Screenshot 2 Placeholder ]",
24902490
"ScreenshotPlaceholder3":"[ Screenshot 3 Placeholder ]",
@@ -2514,7 +2514,7 @@ export const en = {
25142514
"MetricDevices":"Access by device (desktop, tablet, mobile)",
25152515
"MetricBrowsers":"Access by browser and OS",
25162516
"MetricCountries":"Geographic origin of users",
2517-
"AppUsageScreenshotsTitle":"App Usage Analytics in action",
2517+
"AppUsageScreenshotsTitle":"App Usage Analytics in action (click to zoom)",
25182518
"AppUsageScreenshot1":"[ App Usage Dashboard Screenshot ]",
25192519
"AppUsageScreenshot2":"[ Per-App Views Chart ]",
25202520
"AppUsageScreenshot3":"[ Geo Distribution Map ]",
@@ -2538,19 +2538,23 @@ export const en = {
25382538
"EnvironmentsIntro1":"Lowcoder Environments allow you to separate your Dev, Test, and Prod stages cleanly and safely.",
25392539
"EnvironmentsIntro2":"Enterprise teams benefit from structured release workflows, approval processes, and version stability across stages.",
25402540
"EnvironmentsIntro3":"With the Environments feature, admins can control what gets deployed, when, and where — all from a single interface.",
2541+
"EnvironmentsIntro4" :"Lowcoder includes multiple object types like Workspaces, Data Sources, Data Queries, and Apps. Since many of these objects are interconnected (e.g. a Data Source can be shared across multiple Apps), a pure Git-based export would not capture all dependencies consistently. Instead, Lowcoder offers a selective, integrated deployment mechanism directly within the UI. Apps, data sources, and queries can be selectively managed and deployed across environments. Managed objects ensure safe, controlled staging and production releases.",
25412542
"yourDeploymentID" :"Your Deployment ID",
2542-
"EnvironmentsFeaturePreviewTitle" :"Environments & Deployment in action",
2543+
"EnvironmentsFeaturePreviewTitle" :"Environments & Deployment in action (click to zoom)",
25432544

2544-
"EnvironmentsUseCasesTitle":"Why Use Environments?",
2545+
"EnvironmentsUseCasesTitle":"Why Use Environments? (Staging)",
25452546
"EnvironmentsUseCase1":"Prevent unintended changes in production by testing apps in dedicated Dev or QA environments.",
25462547
"EnvironmentsUseCase2":"Align with corporate IT governance by implementing staged deployments with audit-ready tracking.",
25472548
"EnvironmentsUseCase3":"Empower teams to build confidently with environment-specific configurations, data, and integrations.",
25482549

25492550
"EnvironmentsFeaturesTitle":"What You Get",
25502551
"EnvironmentsFeature1":"Centralized dashboard to view and manage all Lowcoder environments.",
2551-
"EnvironmentsFeature2":"Deployment of applications, data sources, and configurations between environments, directly from the UI.",
2552+
"EnvironmentsFeature2":"Deployment of applications, data sources, and configurations between environments, directly from the UI without the need for Additional CI/CD tools.",
25522553
"EnvironmentsFeature3":"Environment-specific access controls and visibility rules.",
25532554
"EnvironmentsFeature5":"Clear separation of concerns for staging, sandbox, and production operations.",
2555+
2556+
"apiUsage" :"API Calls.",
2557+
"loadingApiUsage" :"Loading API usage data..."
25542558
},
25552559

25562560
"subscription":{

‎client/packages/lowcoder/src/pages/setting/advanced/AdvancedSetting.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,8 @@ export function AdvancedSetting() {
326326
<divclassName="section-title">{trans("advanced.APIConsumption")}</div>
327327
<HelpTextstyle={{marginBottom:12}}>{trans("advanced.APIConsumptionDescription")}</HelpText>
328328
<divclassName="section-content">
329-
{trans("advanced.overallAPIConsumption")} :{apiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(apiUsage)+"API Calls.":'Loading API usage data...'}<br/>
330-
{trans("advanced.lastMonthAPIConsumption")} :{lastMonthApiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(lastMonthApiUsage)+"API Calls." :'Loading API usage data...'}
329+
{trans("advanced.overallAPIConsumption")} :{apiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(apiUsage)+""+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}<br/>
330+
{trans("advanced.lastMonthAPIConsumption")} :{lastMonthApiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(lastMonthApiUsage)+""+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}
331331
</div>
332332
</AdvancedSettingContent>
333333
</Level1SettingPageContent>

‎client/packages/lowcoder/src/pages/setting/appUsage/index.tsx

Lines changed: 94 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ import { APP_USAGE_DASHBOARD, APP_USAGE_DETAIL } from "@lowcoder-ee/constants/ro
22
import{Route,Switch}from"react-router-dom";
33
import{AppUsageDashboard}from"./dashboard";
44
import{AppUsageDetail}from"./detail";
5-
import{useSelector}from"react-redux";
5+
import{useSelector,useDispatch}from"react-redux";
66
import{selectIsLicenseActive}from"redux/selectors/enterpriseSelectors";
77
importstyledfrom"styled-components";
8-
import{Card,Row,Col,Typography}from"antd";
8+
import{Card,Row,Col,Typography,Divider}from"antd";
99
import{Level1SettingPageContent,Level1SettingPageTitle}from"../styled";
1010
import{trans}from"i18n";
1111

12+
import{Image}from'antd';
13+
import{getUser}from"@lowcoder-ee/redux/selectors/usersSelectors";
14+
import{getDeploymentId}from"@lowcoder-ee/redux/selectors/configSelectors";
15+
import{getOrgApiUsage,getOrgLastMonthApiUsage}from"redux/selectors/orgSelectors";
16+
import{fetchAPIUsageAction,fetchLastMonthAPIUsageAction}from"redux/reduxActions/orgActions";
17+
import{HelpText}from"components/HelpText";
18+
import{useEffect}from"react";
19+
1220
const{ Paragraph, Text}=Typography;
1321

1422
constStyledSection=styled.div`
@@ -43,6 +51,21 @@ const AppUsageRoutes = () => (
4351
);
4452

4553
constAppUsageDoc=()=>{
54+
55+
constuser=useSelector(getUser);
56+
constdeploymentId=useSelector(getDeploymentId);
57+
constdispatch=useDispatch();
58+
59+
constapiUsage=useSelector(getOrgApiUsage);
60+
useEffect(()=>{
61+
dispatch(fetchAPIUsageAction(user.currentOrgId));
62+
},[user.currentOrgId])
63+
64+
constlastMonthApiUsage=useSelector(getOrgLastMonthApiUsage);
65+
useEffect(()=>{
66+
dispatch(fetchLastMonthAPIUsageAction(user.currentOrgId));
67+
},[user.currentOrgId])
68+
4669
return(
4770
<Level1SettingPageContent>
4871
<Level1SettingPageTitle>{trans("enterprise.AppUsageTitle")}</Level1SettingPageTitle>
@@ -72,23 +95,81 @@ const AppUsageDoc = () => {
7295
<Cardtitle={trans("enterprise.AppUsageScreenshotsTitle")}>
7396
<Rowgutter={[24,24]}>
7497
<Colspan={8}>
75-
<divclassName="image-placeholder">
76-
<Texttype="secondary">{trans("enterprise.AppUsageScreenshot1")}</Text>
77-
</div>
98+
<Image
99+
width="100%"
100+
height={180}
101+
src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/refs/heads/main/images/Enterprise%20Edition%20%7C%20App%20Usage%20Metrics%20Geomap.png"
102+
alt="Enterprise Edition | App Usage Metrics Geomap"
103+
style={{borderRadius:8,objectFit:'cover',border:"1px solid #d9d9d9"}}
104+
preview={{
105+
mask:<Text>Enterprise Edition | App Usage Metrics Geomap</Text>,
106+
}}
107+
/>
78108
</Col>
79109
<Colspan={8}>
80-
<divclassName="image-placeholder">
81-
<Texttype="secondary">{trans("enterprise.AppUsageScreenshot2")}</Text>
82-
</div>
83-
</Col>
84-
<Colspan={8}>
85-
<divclassName="image-placeholder">
86-
<Texttype="secondary">{trans("enterprise.AppUsageScreenshot3")}</Text>
87-
</div>
110+
<Image
111+
width="100%"
112+
height={180}
113+
src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/refs/heads/main/images/Enterprise%20Edition%20%7C%20App%20Usage%20Metrics%20Stats.png"
114+
alt="Enterprise Edition | App Usage Metrics and Statistics"
115+
style={{borderRadius:8,objectFit:'cover',border:"1px solid #d9d9d9"}}
116+
preview={{
117+
mask:<Text>Enterprise Edition | App Usage Metrics and Statistics</Text>,
118+
}}
119+
/>
88120
</Col>
89121
</Row>
90122
</Card>
91123
</StyledSection>
124+
125+
<StyledSection>
126+
<Cardtitle={trans("enterprise.yourDeploymentID")}>
127+
<Paragraph><h3>{deploymentId}</h3></Paragraph>
128+
</Card>
129+
</StyledSection>
130+
131+
<StyledSection>
132+
<Cardtitle={trans("enterprise.PricingTitle")}>
133+
<Paragraph>{trans("enterprise.PricingIntro")}</Paragraph>
134+
135+
<Paragraph>
136+
<Textstrong>{trans("enterprise.FlatRateTitle")}</Text>
137+
<br/>
138+
{trans("enterprise.FlatRateDesc")}
139+
</Paragraph>
140+
<ul>
141+
<li>{trans("enterprise.FlatRatePoint1")}</li>
142+
<li>{trans("enterprise.FlatRatePoint2")}</li>
143+
</ul>
144+
145+
<Divider/>
146+
147+
<Paragraph>
148+
<Textstrong>{trans("enterprise.UsagePricingTitle")}</Text>
149+
<br/>
150+
{trans("enterprise.UsagePricingDesc")}
151+
</Paragraph>
152+
<ul>
153+
<li>{trans("enterprise.API100k")}</li>
154+
<li>{trans("enterprise.API1M")}</li>
155+
<li>{trans("enterprise.API10M")}</li>
156+
</ul>
157+
158+
<Paragraph>{trans("enterprise.UsageOverrunDesc")}</Paragraph>
159+
<Paragraph>{trans("enterprise.UsageTopUpInfo")}</Paragraph>
160+
161+
<Divider/>
162+
163+
<TextstrongclassName="section-title">{trans("advanced.APIConsumption")}</Text>
164+
<HelpTextstyle={{marginBottom:12}}>{trans("advanced.APIConsumptionDescription")}</HelpText>
165+
<divclassName="section-content">
166+
{trans("advanced.overallAPIConsumption")} :{apiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(apiUsage)+" "+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}<br/>
167+
{trans("advanced.lastMonthAPIConsumption")} :{lastMonthApiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(lastMonthApiUsage)+" "+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}
168+
</div>
169+
170+
</Card>
171+
</StyledSection>
172+
92173
</Level1SettingPageContent>
93174
);
94175
};

‎client/packages/lowcoder/src/pages/setting/audit/index.tsx

Lines changed: 68 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,19 @@ import { AUDIT_LOG_DASHBOARD, AUDIT_LOG_DETAIL } from "@lowcoder-ee/constants/ro
22
import{Route,Switch}from"react-router-dom";
33
import{AuditLogDashboard}from"./dashboard";
44
import{AuditLogDetail}from"./detail";
5-
import{useSelector}from"react-redux";
5+
import{useSelector,useDispatch}from"react-redux";
66
importstyledfrom"styled-components";
77
import{Card,Divider,Typography,Row,Col,Image}from"antd";
88
import{HelpText}from"components/HelpText";
99
import{Level1SettingPageContent,Level1SettingPageTitle}from"../styled";
1010
import{trans}from"i18n";
1111
import{selectIsLicenseActive}from"redux/selectors/enterpriseSelectors";
12-
// import { getOrgApiUsage, getOrgLastMonthApiUsage } from "redux/selectors/orgSelectors";
12+
13+
import{getUser}from"@lowcoder-ee/redux/selectors/usersSelectors";
14+
import{getDeploymentId}from"@lowcoder-ee/redux/selectors/configSelectors";
15+
import{getOrgApiUsage,getOrgLastMonthApiUsage}from"redux/selectors/orgSelectors";
16+
import{fetchAPIUsageAction,fetchLastMonthAPIUsageAction}from"redux/reduxActions/orgActions";
17+
import{useEffect}from"react";
1318

1419
const{ Title, Paragraph, Text}=Typography;
1520

@@ -45,14 +50,28 @@ const AuditLogRoutes = () => (
4550
);
4651

4752
constAudit=()=>{
53+
54+
constuser=useSelector(getUser);
55+
constdeploymentId=useSelector(getDeploymentId);
56+
constdispatch=useDispatch();
57+
58+
constapiUsage=useSelector(getOrgApiUsage);
59+
useEffect(()=>{
60+
dispatch(fetchAPIUsageAction(user.currentOrgId));
61+
},[user.currentOrgId])
62+
63+
constlastMonthApiUsage=useSelector(getOrgLastMonthApiUsage);
64+
useEffect(()=>{
65+
dispatch(fetchLastMonthAPIUsageAction(user.currentOrgId));
66+
},[user.currentOrgId])
67+
4868
return(
4969
<Level1SettingPageContent>
5070
<Level1SettingPageTitle>{trans("enterprise.AuditLogsTitle")}</Level1SettingPageTitle>
5171

5272
<StyledSection>
5373
<Cardtitle={trans("enterprise.AuditLogsIntroTitle")}>
54-
<Paragraph>{trans("enterprise.AuditLogsIntro1")}</Paragraph>
55-
<Paragraph>{trans("enterprise.AuditLogsIntro2")}</Paragraph>
74+
<Paragraph>{trans("enterprise.AuditLogsIntro1")}{trans("enterprise.AuditLogsIntro2")}</Paragraph>
5675
<Paragraph>{trans("enterprise.AuditLogsIntro3")}</Paragraph>
5776
</Card>
5877
</StyledSection>
@@ -104,24 +123,51 @@ const Audit = () => {
104123
<Cardtitle={trans("enterprise.AuditLogsPreviewTitle")}>
105124
<Rowgutter={[24,24]}>
106125
<Colspan={8}>
107-
<divclassName="image-placeholder">
108-
<Texttype="secondary">{trans("enterprise.ScreenshotPlaceholder1")}</Text>
109-
</div>
126+
<Image
127+
width="100%"
128+
height={180}
129+
src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/refs/heads/main/images/Enterprise%20Edition%20%7C%20Audit%20Log%20Filters.png"
130+
alt="Enterprise Edition | Audit Log Data Filters"
131+
style={{borderRadius:8,objectFit:'cover',border:"1px solid #d9d9d9"}}
132+
preview={{
133+
mask:<Text>Enterprise Edition | Audit Log Data Filters</Text>,
134+
}}
135+
/>
110136
</Col>
111137
<Colspan={8}>
112-
<divclassName="image-placeholder">
113-
<Texttype="secondary">{trans("enterprise.ScreenshotPlaceholder2")}</Text>
114-
</div>
138+
<Image
139+
width="100%"
140+
height={180}
141+
src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/refs/heads/main/images/Enterprise%20Edition%20%7C%20Audit%20Log%20Table.png"
142+
alt="Enterprise Edition | Audit Log Table"
143+
style={{borderRadius:8,objectFit:'cover',border:"1px solid #d9d9d9"}}
144+
preview={{
145+
mask:<Text>Enterprise Edition | Audit Log Table</Text>,
146+
}}
147+
/>
115148
</Col>
116149
<Colspan={8}>
117-
<divclassName="image-placeholder">
118-
<Texttype="secondary">{trans("enterprise.ScreenshotPlaceholder3")}</Text>
119-
</div>
150+
<Image
151+
width="100%"
152+
height={180}
153+
src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/refs/heads/main/images/Enterprise%20Edition%20%7C%20Audit%20Log%20Details.png"
154+
alt="Enterprise Edition | Audit Log Details"
155+
style={{borderRadius:8,objectFit:'cover',border:"1px solid #d9d9d9"}}
156+
preview={{
157+
mask:<Text>Enterprise Edition | Audit Log Details</Text>,
158+
}}
159+
/>
120160
</Col>
121161
</Row>
122162
</Card>
123163
</StyledSection>
124164

165+
<StyledSection>
166+
<Cardtitle={trans("enterprise.yourDeploymentID")}>
167+
<Paragraph><h3>{deploymentId}</h3></Paragraph>
168+
</Card>
169+
</StyledSection>
170+
125171
<StyledSection>
126172
<Cardtitle={trans("enterprise.PricingTitle")}>
127173
<Paragraph>{trans("enterprise.PricingIntro")}</Paragraph>
@@ -151,6 +197,15 @@ const Audit = () => {
151197

152198
<Paragraph>{trans("enterprise.UsageOverrunDesc")}</Paragraph>
153199
<Paragraph>{trans("enterprise.UsageTopUpInfo")}</Paragraph>
200+
201+
<Divider/>
202+
203+
<TextstrongclassName="section-title">{trans("advanced.APIConsumption")}</Text>
204+
<HelpTextstyle={{marginBottom:12}}>{trans("advanced.APIConsumptionDescription")}</HelpText>
205+
<divclassName="section-content">
206+
{trans("advanced.overallAPIConsumption")} :{apiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(apiUsage)+" "+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}<br/>
207+
{trans("advanced.lastMonthAPIConsumption")} :{lastMonthApiUsage ?Intl.NumberFormat('en-GB',{maximumFractionDigits:2}).format(lastMonthApiUsage)+" "+trans("enterprise.apiUsage") :trans("enterprise.loadingApiUsage")}
208+
</div>
154209
</Card>
155210
</StyledSection>
156211
</Level1SettingPageContent>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp