Merge #69 into develop_web from feature/20251219_zy

fix(web): pricing UI

* feature/20251219_zy: (1 commits)
  fix(web): pricing UI

Signed-off-by: zhaoying <zhaoying@redbearai.com>
Merged-by: zhaoying <zhaoying@redbearai.com>

CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/69
This commit is contained in:
赵莹
2025-12-26 13:59:07 +08:00
6 changed files with 16 additions and 8 deletions

View File

@@ -1525,7 +1525,7 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
schema: 'Schema',
schemaPlaceholder: 'Enter your OpenAPI schema here',
authentication: 'Authentication Method',
tag: 'Tag',
tags: 'Tag',
created_at: 'Created At',
headerName: 'Header Name',
null: 'None',

View File

@@ -1626,7 +1626,7 @@ export const zh = {
schema: 'Schema',
schemaPlaceholder: '在此处输入您的 OpenAPI schema',
authentication: '鉴权方式',
tag: '标签',
tags: '标签',
created_at: '创建时间',
headerName: 'Header 名称',
null: '无',

View File

@@ -364,7 +364,7 @@ const OrderPayment: React.FC = () => {
label={t('pricing.transferDate')}
required
>
<DatePicker className="rb:w-full" />
<DatePicker className="rb:w-full" placeholder={t('common.pleaseSelect')} />
</Form.Item>
<Form.Item
name="remarks"

View File

@@ -203,7 +203,7 @@ const PricingView: React.FC = () => {
<div className="rb:mb-5">
{typeof item.priceObj.price !== 'undefined' ? (
<div className="rb:flex rb:items-baseline rb:h-16">
<span className="rb:text-[16px] rb:text-[#5B6167] rb:font-regular rb:mr-1 rb:mb-1">¥</span>
<span className="rb:text-[16px] rb:text-[#5B6167] rb:font-regular rb:mr-1 rb:mb-1">$</span>
<span className="rb:text-[40px] rb:font-extrabold">
{item.priceObj.price.toLocaleString()}
</span>
@@ -227,6 +227,12 @@ const PricingView: React.FC = () => {
>
{item.btnType === 'started' ? t('pricing.startedBtn') : item.btnType === 'choosePlan' ? t('pricing.choosePlanBtn') : t('pricing.contactBtn')}
</Button>
{Object.keys(item.priceDescObj).map(key => (
<div key={key} className="rb:mt-4 rb:border-t rb:border-[#DFE4ED]">
<div className="rb:font-[Gilroy] rb:font-extrabold rb:text-[12px] rb:h-auto rb:leading-4 rb:mt-4">{t(`pricing.${key}`)}</div>
<div className="rb:font-[PingFangSC] rb:font-normal rb:text-[12px] rb:text-[#5B6167] rb:leading-4 rb:mt-1.5">{t(item.priceDescObj[key as keyof typeof item.priceDescObj])}</div>
</div>
))}
{/* Features */}
<div className="rb:space-y-3 rb:border-t rb:border-t-[#DFE4ED] rb:mt-6 rb:pt-6">
@@ -239,7 +245,7 @@ const PricingView: React.FC = () => {
<div className="rb:flex rb:mb-2">
<img src={checkIcon} className="rb:w-4 rb:h-4 rb:mr-1 rb:mt-0.5" />
<div className="rb:font-regular rb:text-[12px] rb:text-[#5B6167] rb:leading-5">
{t('pricing.intelligentSearchFrequency')}<span className="rb:text-[#FFFFFF]">{ item.intelligentSearchFrequency } {t('pricing.timesMonth')}</span>
{t('pricing.intelligentSearchFrequency')}<span>{ item.intelligentSearchFrequency } {t('pricing.timesMonth')}</span>
</div>
</div>
{['supportServices', 'flexibleDeployment', 'reliableGuarantee'].map(type => {

View File

@@ -98,7 +98,7 @@ const Custom: React.FC<{ getStatusTag: (status: string) => ReactNode }> = ({ get
extra={getStatusTag(item.status)}
>
<div>
{['auth_type', 'tag', 'created_at'].map(key => (
{['auth_type', 'tags', 'created_at'].map(key => (
<div
key={key}
className="rb:flex rb:gap-4 rb:justify-start rb:text-[#5B6167] rb:text-[14px] rb:leading-5 rb:mb-3"
@@ -108,7 +108,9 @@ const Custom: React.FC<{ getStatusTag: (status: string) => ReactNode }> = ({ get
{key === 'created_at' && item[key]
? dayjs(item[key]).format('YYYY-MM-DD HH:mm:ss')
: key === 'auth_type'
? t(`tool.${(item.config_data as any)?.[key]}`)
? t(`tool.${(item.config_data as any)?.[key]}`)
: key === 'tags'
? (item[key] as string[]).join('、')
: (item.config_data as any)?.[key] || '-'
}
</div>

View File

@@ -268,7 +268,7 @@ const CustomToolModal = forwardRef<CustomToolModalRef, CustomToolModalProps>(({
</>
<FormItem
name="tags"
label={t('tool.tag')}
label={t('tool.tags')}
extra={t('tool.tagDesc')}
>
<Select