init: шаблон Next.js приложения
- Next.js 16 + React 19 + TypeScript - Mantine UI + PostCSS Modules - Biome (линтинг и форматирование) - Zustand, SWR - Структура FSD (screens, widgets, features, entities, shared) - Шаблоны генерации (.templates/): component, screen, feature, widget, entity, layout, store - Конфигурация VS Code (расширения, настройки) - CSS-токены (цвета, отступы, радиусы, медиа) - Open Graph метаданные - Тестовый home screen с Mantine
This commit is contained in:
1
.templates/component/{{name.kebabCase}}/index.ts
Normal file
1
.templates/component/{{name.kebabCase}}/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { {{name.pascalCase}} } from './{{name.kebabCase}}.ui'
|
||||
@@ -0,0 +1,3 @@
|
||||
.root {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import type { HTMLAttributes } from 'react'
|
||||
|
||||
/**
|
||||
* Параметры {{name.pascalCase}}.
|
||||
*/
|
||||
export interface {{name.pascalCase}}Props extends HTMLAttributes<HTMLDivElement> {}
|
||||
@@ -0,0 +1,15 @@
|
||||
import type { FC } from 'react'
|
||||
import cl from 'clsx'
|
||||
import type { {{name.pascalCase}}Props } from './types/{{name.kebabCase}}.interface'
|
||||
import styles from './styles/{{name.kebabCase}}.module.css'
|
||||
|
||||
/**
|
||||
* {{name.pascalCase}}.
|
||||
*/
|
||||
export const {{name.pascalCase}}: FC<{{name.pascalCase}}Props> = ({ className, ...htmlAttr }) => {
|
||||
return (
|
||||
<div {...htmlAttr} className={cl(styles.root, className)}>
|
||||
{{name.kebabCase}}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user