mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
feat: add example
This commit is contained in:
1
.templates/route/{{name.kebabCase}}/index.ts
Normal file
1
.templates/route/{{name.kebabCase}}/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { {{name.pascalCase}}Route } from './{{name.kebabCase}}.route'
|
||||
@@ -0,0 +1,18 @@
|
||||
import { BusinessProvider } from '@/infra/business'
|
||||
import type { {{name.pascalCase}}BusinessProviderProps } from '../types/{{name.kebabCase}}-business-provider-props.type'
|
||||
|
||||
/**
|
||||
* Route-level provider бизнес-модулей для {{name.pascalCase}} route.
|
||||
*
|
||||
* Используется для:
|
||||
* - владения business API в lifecycle route-ветки
|
||||
*/
|
||||
export const {{name.pascalCase}}BusinessProvider = (props: {{name.pascalCase}}BusinessProviderProps) => {
|
||||
const { children } = props
|
||||
|
||||
return (
|
||||
<BusinessProvider value={{}}>
|
||||
{children}
|
||||
</BusinessProvider>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import type { ReactNode } from 'react'
|
||||
|
||||
/**
|
||||
* Параметры {{name.pascalCase}}BusinessProvider.
|
||||
*/
|
||||
export type {{name.pascalCase}}BusinessProviderProps = {
|
||||
/** Дочернее дерево {{name.pascalCase}} route. */
|
||||
children: ReactNode
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { {{name.pascalCase}}Screen } from '@/compositions/screens/{{name.kebabCase}}'
|
||||
import { {{name.pascalCase}}BusinessProvider } from './providers/{{name.kebabCase}}-business.provider'
|
||||
|
||||
/**
|
||||
* Route module страницы {{name.pascalCase}}.
|
||||
*
|
||||
* Используется для:
|
||||
* - сборки route-level business graph и screen страницы
|
||||
*/
|
||||
export const {{name.pascalCase}}Route = () => {
|
||||
return (
|
||||
<{{name.pascalCase}}BusinessProvider>
|
||||
<{{name.pascalCase}}Screen />
|
||||
</{{name.pascalCase}}BusinessProvider>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user