fix(sample): fix shop-i18n client (#1005)
This commit is contained in:
		
							parent
							
								
									d5680f80d7
								
							
						
					
					
						commit
						1065e5e616
					
				| @ -1,15 +1,15 @@ | ||||
| # Modeling for simple shop scenario | ||||
| # I18n for simple shop scenario | ||||
| 
 | ||||
| ## Register | ||||
| 
 | ||||
| ```ts | ||||
| yarn pm add sample-shop-modeling | ||||
| yarn pm add sample-shop-i18n | ||||
| ``` | ||||
| 
 | ||||
| ## Activate | ||||
| 
 | ||||
| ```bash | ||||
| yarn pm enable sample-shop-modeling | ||||
| yarn pm enable sample-shop-i18n | ||||
| ``` | ||||
| 
 | ||||
| ## Launch the app | ||||
|  | ||||
| @ -1,10 +1,15 @@ | ||||
| 
 | ||||
| import React from 'react'; | ||||
| import { Select } from 'antd'; | ||||
| import { i18n } from '@nocobase/client'; | ||||
| import React, { useContext } from 'react'; | ||||
| import { useHistory } from 'react-router-dom'; | ||||
| import { useTranslation } from 'react-i18next'; | ||||
| import { Select } from 'antd'; | ||||
| import { ShopOutlined } from '@ant-design/icons'; | ||||
| import { i18n, PluginManager, PluginManagerContext, RouteSwitchContext, SettingsCenterProvider } from '@nocobase/client'; | ||||
| 
 | ||||
| i18n.addResources('zh-CN', '@nocobase/plugin-sample-shop-i18n', { | ||||
| const ns = '@nocobase/plugin-sample-shop-i18n'; | ||||
| 
 | ||||
| i18n.addResources('zh-CN', ns, { | ||||
|   Shop: '店铺', | ||||
|   I18n: '国际化', | ||||
|   Pending: '已下单', | ||||
|   Paid: '已支付', | ||||
|   Delivered: '已发货', | ||||
| @ -20,7 +25,7 @@ const ORDER_STATUS_LIST = [ | ||||
| ] | ||||
| 
 | ||||
| function OrderStatusSelect() { | ||||
|   const { t } = useTranslation('@nocobase/plugin-sample-shop-i18n'); | ||||
|   const { t } = useTranslation(ns); | ||||
| 
 | ||||
|   return ( | ||||
|     <Select style={{ minWidth: '8em' }}> | ||||
| @ -31,6 +36,52 @@ function OrderStatusSelect() { | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export const ShopShortcut = () => { | ||||
|   const { t } = useTranslation(); | ||||
|   const history = useHistory(); | ||||
|   return ( | ||||
|     <PluginManager.Toolbar.Item | ||||
|       key="workflow" | ||||
|       icon={<ShopOutlined />} | ||||
|       title={t('Workflow')} | ||||
|       onClick={() => { | ||||
|         history.push('/admin/settings/workflow/workflows'); | ||||
|       }} | ||||
|     /> | ||||
|   ); | ||||
| }; | ||||
| 
 | ||||
| export default React.memo((props) => { | ||||
|   return <OrderStatusSelect />; | ||||
|   const ctx = useContext(PluginManagerContext); | ||||
|   const { routes, components, ...others } = useContext(RouteSwitchContext); | ||||
| 
 | ||||
|   return ( | ||||
|     <SettingsCenterProvider | ||||
|       settings={{ | ||||
|         workflow: { | ||||
|           icon: 'ShopOutlined', | ||||
|           title: `{{t("Shop", { ns: "${ns}" })}}`, | ||||
|           tabs: { | ||||
|             workflows: { | ||||
|               title: `{{t("I18n", { ns: "${ns}" })}}`, | ||||
|               component: OrderStatusSelect, | ||||
|             }, | ||||
|           }, | ||||
|         }, | ||||
|       }} | ||||
|     > | ||||
|       <PluginManagerContext.Provider | ||||
|         value={{ | ||||
|           components: { | ||||
|             ...ctx?.components, | ||||
|             ShopShortcut, | ||||
|           }, | ||||
|         }} | ||||
|       > | ||||
|         <RouteSwitchContext.Provider value={{ components: { ...components }, ...others, routes }}> | ||||
|           {props.children} | ||||
|         </RouteSwitchContext.Provider> | ||||
|       </PluginManagerContext.Provider> | ||||
|     </SettingsCenterProvider> | ||||
|   ); | ||||
| }); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user