diff --git a/.scripts/create-fsd-component.ts b/.scripts/create-fsd-component.ts index 08b60fa..63984a4 100644 --- a/.scripts/create-fsd-component.ts +++ b/.scripts/create-fsd-component.ts @@ -1,105 +1,125 @@ -import { mkdir, rename, rm } from "node:fs/promises" +/** + * FSD Component Generator - Flat Structure + * + * Creates components with flat structure: + * ComponentName/ + * ├── index.ts + * ├── ComponentName.tsx + * ├── ComponentName.module.scss + * └── ComponentName.d.ts + * + * Usage: bun gc + * Example: bun gc entity ProjectCard + */ + +import { mkdir, writeFile } from "node:fs/promises" -const segments = "ui,model,api" const args = Bun.argv.slice(2) function printUsageAndExit(): never { - console.error( - "Ошибка: Необходимо указать <название слоя> и <название компонента>", - ) - console.log("Пример: bun gc features MyButton") + console.error("Error: Please provide and ") + console.log("Usage: bun gc ") + console.log("Layers: shared, entity, feature, widget, page") + console.log("Example: bun gc entity ProjectCard") process.exit(1) } -function runShell(command: string): void { - console.log(`Выполняется: ${command}`) +function getComponentPath(layer: string, component: string): string { + const base = "./src/" - const result = Bun.spawnSync({ - cmd: ["sh", "-lc", command], - stdin: "inherit", - stdout: "inherit", - stderr: "inherit", - }) - - if (result.exitCode !== 0) { - const suffix = result.signalCode ? ` (signal ${result.signalCode})` : "" - throw new Error(`Команда завершилась с кодом ${result.exitCode}${suffix}`) + switch (layer) { + case "shared": + return `${base}shared/ui/${component}` + case "app": + return `${base}app/${component}` + case "entity": + case "entities": + return `${base}entities/${component}` + case "feature": + case "features": + return `${base}features/${component}` + case "widget": + case "widgets": + return `${base}widgets/${component}` + case "page": + case "pages": + return `${base}pages/${component}` + default: + return `${base}${layer}s/${component}` } } +function generateIndexTemplate(component: string): string { + return `export * from "./${component}" +` +} + +function generateComponentTemplate(component: string): string { + return `import type { I${component}Props } from "./${component}.d" +import type { JSX } from "react" + +import { FunctionComponent } from "react" + +import styles from "./${component}.module.scss" + +export const ${component}: FunctionComponent = (): JSX.Element => { + return ( +
+ ${component} +
+ ) +} +` +} + +function generateTypesTemplate(component: string): string { + return `export interface I${component}Props { + className?: string +} +` +} + +function generateStylesTemplate(): string { + return `.root { +} +` +} + if (args.length < 2) { printUsageAndExit() } const layer = args[0] const component = args[1] -const otherArgs = args.slice(2).join(" ") +const componentPath = getComponentPath(layer, component) -let componentPath = "./src/" +console.log(`Creating ${component} in ${componentPath}...`) -if (layer === "shared") { - componentPath += `${layer}/ui/${component}` -} else if (layer === "app") { - componentPath += `${layer}/${component}` -} else if (layer === "entity" || layer === "entities") { - componentPath += `entities/${component}` -} else { - componentPath += `${layer}s/${component}` -} - -const fsdCommand = `fsd ${layer} ${component} ${otherArgs} --segments ${segments} -r src` - -if (layer !== "shared") { - try { - runShell(fsdCommand) - } catch (error) { - console.error(`Ошибка выполнения команды: ${(error as Error).message}`) - process.exit(1) - } -} else { +try { await mkdir(componentPath, { recursive: true }) - console.log("Пропущен fsd для shared: создаем компонент вручную") -} -console.log(`Удаление индекс файла: ${componentPath}/index.ts`) + await Promise.all([ + writeFile(`${componentPath}/index.ts`, generateIndexTemplate(component)), + writeFile( + `${componentPath}/${component}.tsx`, + generateComponentTemplate(component), + ), + writeFile( + `${componentPath}/${component}.d.ts`, + generateTypesTemplate(component), + ), + writeFile( + `${componentPath}/${component}.module.scss`, + generateStylesTemplate(), + ), + ]) -try { - await rm(`${componentPath}/index.ts`, { force: true }) + console.log(`✅ Created ${component}:`) + console.log(` ${componentPath}/index.ts`) + console.log(` ${componentPath}/${component}.tsx`) + console.log(` ${componentPath}/${component}.d.ts`) + console.log(` ${componentPath}/${component}.module.scss`) } catch (error) { - console.error(`Ошибка выполнения команды: ${(error as Error).message}`) - process.exit(1) -} - -const createTsx = `bunx generate-react-cli component ${component} --flat --path ${componentPath}` - -try { - runShell(createTsx) -} catch (error) { - console.error(`Ошибка выполнения команды: ${(error as Error).message}`) - process.exit(1) -} - -console.log("Перемещение файлов...") - -const oldPath = `${componentPath}/${component}` -const newPath = `${componentPath}` - -try { - await mkdir(`${newPath}/ui`, { recursive: true }) - await mkdir(`${newPath}/model`, { recursive: true }) - - await rename(`${oldPath}.tsx`, `${newPath}/ui/${component}.tsx`) - console.log("TSX файл перемещен") - - await rename( - `${oldPath}.module.scss`, - `${newPath}/ui/${component}.module.scss`, - ) - console.log("SCSS файл перемещен") - - await rename(`${oldPath}.d.ts`, `${newPath}/model/${component}.d.ts`) - console.log("D.TS файл перемещен") -} catch (error) { - console.error(`Ошибка выполнения команды: ${(error as Error).message}`) + console.error(`Error: ${(error as Error).message}`) process.exit(1) } diff --git a/.scripts/create-fsd-component.ts.bak b/.scripts/create-fsd-component.ts.bak new file mode 100644 index 0000000..08b60fa --- /dev/null +++ b/.scripts/create-fsd-component.ts.bak @@ -0,0 +1,105 @@ +import { mkdir, rename, rm } from "node:fs/promises" + +const segments = "ui,model,api" +const args = Bun.argv.slice(2) + +function printUsageAndExit(): never { + console.error( + "Ошибка: Необходимо указать <название слоя> и <название компонента>", + ) + console.log("Пример: bun gc features MyButton") + process.exit(1) +} + +function runShell(command: string): void { + console.log(`Выполняется: ${command}`) + + const result = Bun.spawnSync({ + cmd: ["sh", "-lc", command], + stdin: "inherit", + stdout: "inherit", + stderr: "inherit", + }) + + if (result.exitCode !== 0) { + const suffix = result.signalCode ? ` (signal ${result.signalCode})` : "" + throw new Error(`Команда завершилась с кодом ${result.exitCode}${suffix}`) + } +} + +if (args.length < 2) { + printUsageAndExit() +} + +const layer = args[0] +const component = args[1] +const otherArgs = args.slice(2).join(" ") + +let componentPath = "./src/" + +if (layer === "shared") { + componentPath += `${layer}/ui/${component}` +} else if (layer === "app") { + componentPath += `${layer}/${component}` +} else if (layer === "entity" || layer === "entities") { + componentPath += `entities/${component}` +} else { + componentPath += `${layer}s/${component}` +} + +const fsdCommand = `fsd ${layer} ${component} ${otherArgs} --segments ${segments} -r src` + +if (layer !== "shared") { + try { + runShell(fsdCommand) + } catch (error) { + console.error(`Ошибка выполнения команды: ${(error as Error).message}`) + process.exit(1) + } +} else { + await mkdir(componentPath, { recursive: true }) + console.log("Пропущен fsd для shared: создаем компонент вручную") +} + +console.log(`Удаление индекс файла: ${componentPath}/index.ts`) + +try { + await rm(`${componentPath}/index.ts`, { force: true }) +} catch (error) { + console.error(`Ошибка выполнения команды: ${(error as Error).message}`) + process.exit(1) +} + +const createTsx = `bunx generate-react-cli component ${component} --flat --path ${componentPath}` + +try { + runShell(createTsx) +} catch (error) { + console.error(`Ошибка выполнения команды: ${(error as Error).message}`) + process.exit(1) +} + +console.log("Перемещение файлов...") + +const oldPath = `${componentPath}/${component}` +const newPath = `${componentPath}` + +try { + await mkdir(`${newPath}/ui`, { recursive: true }) + await mkdir(`${newPath}/model`, { recursive: true }) + + await rename(`${oldPath}.tsx`, `${newPath}/ui/${component}.tsx`) + console.log("TSX файл перемещен") + + await rename( + `${oldPath}.module.scss`, + `${newPath}/ui/${component}.module.scss`, + ) + console.log("SCSS файл перемещен") + + await rename(`${oldPath}.d.ts`, `${newPath}/model/${component}.d.ts`) + console.log("D.TS файл перемещен") +} catch (error) { + console.error(`Ошибка выполнения команды: ${(error as Error).message}`) + process.exit(1) +} diff --git a/.templates/component/TemplateName.tsx b/.templates/component/TemplateName.tsx index 02f0d77..83ba812 100644 --- a/.templates/component/TemplateName.tsx +++ b/.templates/component/TemplateName.tsx @@ -2,7 +2,7 @@ import type { JSX } from "react" import { FunctionComponent } from "react" -import { ITemplateNameProps } from "../model/TemplateName.d" +import { ITemplateNameProps } from "./TemplateName.d" import styles from "./TemplateName.module.scss" export const TemplateName: FunctionComponent< diff --git a/.templates/component/index.ts b/.templates/component/index.ts index f38c08f..35ce5dd 100644 --- a/.templates/component/index.ts +++ b/.templates/component/index.ts @@ -1 +1 @@ -export * from "./ui/TemplateName" +export * from "./TemplateName" diff --git a/AGENTS.md b/AGENTS.md index 88b2bad..abf49c0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -74,27 +74,28 @@ src/ ## Component Structure -Each component follows FSD slice structure: +Each component follows **flat FSD structure** (simplified for MVP): ``` ComponentName/ -├── index.ts # Public API (re-export) -├── ui/ -│ ├── ComponentName.tsx -│ └── ComponentName.module.scss -├── model/ -│ └── ComponentName.d.ts # Props interface -└── api/ # Optional: component-specific API +├── index.ts # Public API (re-export) +├── ComponentName.tsx # Component + imports +├── ComponentName.module.scss # Styles +├── ComponentName.d.ts # Props interface +└── useComponentApi.ts # Optional: hooks/API if needed ``` +> **Note:** Old nested structure (`ui/`, `model/`, `api/` folders) has been deprecated. +> The backup of the old generator is at `.scripts/create-fsd-component.ts.bak` + ### Component Template ```tsx +import type { IComponentNameProps } from "./ComponentName.d" import type { JSX } from "react" import { FunctionComponent } from "react" -import { IComponentNameProps } from "../model/ComponentName.d" import styles from "./ComponentName.module.scss" export const ComponentName: FunctionComponent< @@ -108,6 +109,14 @@ export const ComponentName: FunctionComponent< } ``` +### Props Interface Template (ComponentName.d.ts) + +```typescript +export interface IComponentNameProps { + className?: string +} +``` + ### Generate Component Use one of these commands to generate new project-wide standardized component, don't create new component file by file by yourself @@ -166,6 +175,13 @@ export const Button: FC = ({ variant, onClick }): JSX.Element => { 3. **No Cross-Slice Imports** — features cannot import from other features 4. **Shared is Agnostic** — no business logic in shared layer +### When to Split Files + +Split into separate files **only when**: +- Hook/API is reused by multiple components +- File exceeds ~200 lines +- Props interface is shared across 3+ components + ### File Naming | Type | Convention | Example | diff --git a/app/(protected)/projects/[project_id]/page.tsx b/app/(protected)/projects/[project_id]/page.tsx new file mode 100644 index 0000000..f8c3993 --- /dev/null +++ b/app/(protected)/projects/[project_id]/page.tsx @@ -0,0 +1,11 @@ +import { JSX } from "react" + +import { ProjectWorkspacePage } from "@pages/ProjectWorkspacePage" + +export default function Projects(): JSX.Element { + return ( +
+ +
+ ) +} \ No newline at end of file diff --git a/src/entities/NavigationDrawer/model/NavigationDrawer.d.ts b/src/entities/NavigationDrawer/NavigationDrawer.d.ts similarity index 100% rename from src/entities/NavigationDrawer/model/NavigationDrawer.d.ts rename to src/entities/NavigationDrawer/NavigationDrawer.d.ts diff --git a/src/entities/NavigationDrawer/ui/NavigationDrawer.module.scss b/src/entities/NavigationDrawer/NavigationDrawer.module.scss similarity index 100% rename from src/entities/NavigationDrawer/ui/NavigationDrawer.module.scss rename to src/entities/NavigationDrawer/NavigationDrawer.module.scss diff --git a/src/entities/NavigationDrawer/ui/NavigationDrawer.tsx b/src/entities/NavigationDrawer/NavigationDrawer.tsx similarity index 96% rename from src/entities/NavigationDrawer/ui/NavigationDrawer.tsx rename to src/entities/NavigationDrawer/NavigationDrawer.tsx index 2e16c6c..467a79a 100644 --- a/src/entities/NavigationDrawer/ui/NavigationDrawer.tsx +++ b/src/entities/NavigationDrawer/NavigationDrawer.tsx @@ -6,7 +6,7 @@ import Drawer from "react-modern-drawer" import cs from "classnames" import Link from "next/link" -import { INavigationDrawerProps } from "../model/NavigationDrawer.d" +import { INavigationDrawerProps } from "./NavigationDrawer.d" import styles from "./NavigationDrawer.module.scss" import "react-modern-drawer/dist/index.css" diff --git a/src/entities/NavigationDrawer/index.ts b/src/entities/NavigationDrawer/index.ts index 0e328b9..361523d 100644 --- a/src/entities/NavigationDrawer/index.ts +++ b/src/entities/NavigationDrawer/index.ts @@ -1 +1 @@ -export * from "./ui/NavigationDrawer" +export * from "./NavigationDrawer" diff --git a/src/entities/ProjectCard/model/ProjectCard.d.ts b/src/entities/ProjectCard/ProjectCard.d.ts similarity index 100% rename from src/entities/ProjectCard/model/ProjectCard.d.ts rename to src/entities/ProjectCard/ProjectCard.d.ts diff --git a/src/entities/ProjectCard/ui/ProjectCard.module.scss b/src/entities/ProjectCard/ProjectCard.module.scss similarity index 100% rename from src/entities/ProjectCard/ui/ProjectCard.module.scss rename to src/entities/ProjectCard/ProjectCard.module.scss diff --git a/src/entities/ProjectCard/ui/ProjectCard.tsx b/src/entities/ProjectCard/ProjectCard.tsx similarity index 98% rename from src/entities/ProjectCard/ui/ProjectCard.tsx rename to src/entities/ProjectCard/ProjectCard.tsx index a978b3e..8c4629b 100644 --- a/src/entities/ProjectCard/ui/ProjectCard.tsx +++ b/src/entities/ProjectCard/ProjectCard.tsx @@ -1,6 +1,6 @@ "use client" -import type { IProjectCardProps } from "../model/ProjectCard.d" +import type { IProjectCardProps } from "./ProjectCard.d" import type { JSX } from "react" import { Image as ImageIcon, MoreHorizontal } from "lucide-react" diff --git a/src/entities/ProjectCard/index.ts b/src/entities/ProjectCard/index.ts index ed01eac..fa4e425 100644 --- a/src/entities/ProjectCard/index.ts +++ b/src/entities/ProjectCard/index.ts @@ -1 +1 @@ -export * from "./ui/ProjectCard" +export * from "./ProjectCard" diff --git a/src/entities/UserDropdown/model/UserDropdown.d.ts b/src/entities/UserDropdown/UserDropdown.d.ts similarity index 100% rename from src/entities/UserDropdown/model/UserDropdown.d.ts rename to src/entities/UserDropdown/UserDropdown.d.ts diff --git a/src/entities/UserDropdown/ui/UserDropdown.module.scss b/src/entities/UserDropdown/UserDropdown.module.scss similarity index 100% rename from src/entities/UserDropdown/ui/UserDropdown.module.scss rename to src/entities/UserDropdown/UserDropdown.module.scss diff --git a/src/entities/UserDropdown/ui/UserDropdown.tsx b/src/entities/UserDropdown/UserDropdown.tsx similarity index 89% rename from src/entities/UserDropdown/ui/UserDropdown.tsx rename to src/entities/UserDropdown/UserDropdown.tsx index f43e03a..c1cc83b 100644 --- a/src/entities/UserDropdown/ui/UserDropdown.tsx +++ b/src/entities/UserDropdown/UserDropdown.tsx @@ -11,8 +11,8 @@ import { DropdownTrigger, } from "@shared/ui/Dropdown" -import { userDropdownValues } from "../model/constants" -import { IUserDropdownProps } from "../model/UserDropdown.d" +import { userDropdownValues } from "./constants" +import { IUserDropdownProps } from "./UserDropdown.d" import styles from "./UserDropdown.module.scss" export const UserDropdown: FunctionComponent = ({ diff --git a/src/entities/UserDropdown/model/constants.ts b/src/entities/UserDropdown/constants.ts similarity index 100% rename from src/entities/UserDropdown/model/constants.ts rename to src/entities/UserDropdown/constants.ts diff --git a/src/entities/UserDropdown/index.ts b/src/entities/UserDropdown/index.ts index 36ed88a..4eb4245 100644 --- a/src/entities/UserDropdown/index.ts +++ b/src/entities/UserDropdown/index.ts @@ -1 +1 @@ -export * from "./ui/UserDropdown" +export * from "./UserDropdown" diff --git a/src/features/CreateProjectModal/model/CreateProjectModal.d.ts b/src/features/CreateProjectModal/CreateProjectModal.d.ts similarity index 100% rename from src/features/CreateProjectModal/model/CreateProjectModal.d.ts rename to src/features/CreateProjectModal/CreateProjectModal.d.ts diff --git a/src/features/CreateProjectModal/ui/CreateProjectModal.module.scss b/src/features/CreateProjectModal/CreateProjectModal.module.scss similarity index 100% rename from src/features/CreateProjectModal/ui/CreateProjectModal.module.scss rename to src/features/CreateProjectModal/CreateProjectModal.module.scss diff --git a/src/features/CreateProjectModal/ui/CreateProjectModal.tsx b/src/features/CreateProjectModal/CreateProjectModal.tsx similarity index 95% rename from src/features/CreateProjectModal/ui/CreateProjectModal.tsx rename to src/features/CreateProjectModal/CreateProjectModal.tsx index a2fc163..84b3e1d 100644 --- a/src/features/CreateProjectModal/ui/CreateProjectModal.tsx +++ b/src/features/CreateProjectModal/CreateProjectModal.tsx @@ -1,7 +1,7 @@ "use client" -import type { ProjectCreateBody } from "../api/useCreateProject" -import type { ICreateProjectModalProps } from "../model/CreateProjectModal.d" +import type { ProjectCreateBody } from "./useCreateProject" +import type { ICreateProjectModalProps } from "./CreateProjectModal.d" import type { JSX } from "react" import { FunctionComponent, useEffect } from "react" @@ -9,7 +9,7 @@ import { Controller, useForm } from "react-hook-form" import { Button, Form, Modal, Select, SelectItem, TextField } from "@shared/ui" -import { useCreateProject } from "../api/useCreateProject" +import { useCreateProject } from "./useCreateProject" import styles from "./CreateProjectModal.module.scss" type ProjectStatus = ProjectCreateBody["status"] diff --git a/src/features/CreateProjectModal/index.ts b/src/features/CreateProjectModal/index.ts index c740fb6..2ebd760 100644 --- a/src/features/CreateProjectModal/index.ts +++ b/src/features/CreateProjectModal/index.ts @@ -1,3 +1,3 @@ -export { CreateProjectModal } from "./ui/CreateProjectModal" +export { CreateProjectModal } from "./CreateProjectModal" -export type { ICreateProjectModalProps } from "./model/CreateProjectModal.d" +export type { ICreateProjectModalProps } from "./CreateProjectModal.d" diff --git a/src/features/CreateProjectModal/api/useCreateProject.ts b/src/features/CreateProjectModal/useCreateProject.ts similarity index 100% rename from src/features/CreateProjectModal/api/useCreateProject.ts rename to src/features/CreateProjectModal/useCreateProject.ts diff --git a/src/pages/HomePage/ui/HomePage.module.scss b/src/pages/HomePage/HomePage.module.scss similarity index 100% rename from src/pages/HomePage/ui/HomePage.module.scss rename to src/pages/HomePage/HomePage.module.scss diff --git a/src/pages/HomePage/ui/HomePage.test.tsx b/src/pages/HomePage/HomePage.test.tsx similarity index 100% rename from src/pages/HomePage/ui/HomePage.test.tsx rename to src/pages/HomePage/HomePage.test.tsx diff --git a/src/pages/HomePage/ui/HomePage.tsx b/src/pages/HomePage/HomePage.tsx similarity index 100% rename from src/pages/HomePage/ui/HomePage.tsx rename to src/pages/HomePage/HomePage.tsx diff --git a/src/pages/HomePage/index.ts b/src/pages/HomePage/index.ts index 691a4b6..231c74a 100644 --- a/src/pages/HomePage/index.ts +++ b/src/pages/HomePage/index.ts @@ -1,3 +1,3 @@ -import HomePage from "./ui/HomePage" +import HomePage from "./HomePage" export { HomePage } diff --git a/src/pages/LoginPage/model/LoginPage.d.ts b/src/pages/LoginPage/LoginPage.d.ts similarity index 100% rename from src/pages/LoginPage/model/LoginPage.d.ts rename to src/pages/LoginPage/LoginPage.d.ts diff --git a/src/pages/LoginPage/ui/LoginPage.module.scss b/src/pages/LoginPage/LoginPage.module.scss similarity index 100% rename from src/pages/LoginPage/ui/LoginPage.module.scss rename to src/pages/LoginPage/LoginPage.module.scss diff --git a/src/pages/LoginPage/ui/LoginPage.tsx b/src/pages/LoginPage/LoginPage.tsx similarity index 97% rename from src/pages/LoginPage/ui/LoginPage.tsx rename to src/pages/LoginPage/LoginPage.tsx index 62e9b3a..32e29aa 100644 --- a/src/pages/LoginPage/ui/LoginPage.tsx +++ b/src/pages/LoginPage/LoginPage.tsx @@ -16,7 +16,7 @@ import { } from "@shared/lib/constants" import { Button, Form, TextField } from "@shared/ui" -import { ILoginPageProps } from "../model/LoginPage.d" +import { ILoginPageProps } from "./LoginPage.d" import styles from "./LoginPage.module.scss" interface ILoginFormData { diff --git a/src/pages/LoginPage/index.ts b/src/pages/LoginPage/index.ts index dc2b166..cdcae76 100644 --- a/src/pages/LoginPage/index.ts +++ b/src/pages/LoginPage/index.ts @@ -1 +1 @@ -export * from "./ui/LoginPage" +export * from "./LoginPage" diff --git a/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.d.ts b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.d.ts new file mode 100644 index 0000000..4d623c5 --- /dev/null +++ b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.d.ts @@ -0,0 +1,3 @@ +export interface IProjectWorkspacePageProps { + message?: string +} diff --git a/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.module.scss b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.module.scss new file mode 100644 index 0000000..c3a2af6 --- /dev/null +++ b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.module.scss @@ -0,0 +1,2 @@ +.root { +} diff --git a/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.tsx b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.tsx new file mode 100644 index 0000000..8868a60 --- /dev/null +++ b/src/pages/ProjectWorkspacePage/ProjectWorkspacePage.tsx @@ -0,0 +1,16 @@ +import type { JSX } from "react" + +import { FunctionComponent } from "react" + +import { IProjectWorkspacePageProps } from "./ProjectWorkspacePage.d" +import styles from "./ProjectWorkspacePage.module.scss" + +export const ProjectWorkspacePage: FunctionComponent< + IProjectWorkspacePageProps +> = (): JSX.Element => { + return ( +
+ ProjectWorkspacePage Component +
+ ) +} diff --git a/src/pages/ProjectWorkspacePage/index.ts b/src/pages/ProjectWorkspacePage/index.ts new file mode 100644 index 0000000..949b191 --- /dev/null +++ b/src/pages/ProjectWorkspacePage/index.ts @@ -0,0 +1 @@ +export * from "./ProjectWorkspacePage" diff --git a/src/pages/ProjectsPage/model/ProjectsPage.d.ts b/src/pages/ProjectsPage/ProjectsPage.d.ts similarity index 100% rename from src/pages/ProjectsPage/model/ProjectsPage.d.ts rename to src/pages/ProjectsPage/ProjectsPage.d.ts diff --git a/src/pages/ProjectsPage/ui/ProjectsPage.module.scss b/src/pages/ProjectsPage/ProjectsPage.module.scss similarity index 100% rename from src/pages/ProjectsPage/ui/ProjectsPage.module.scss rename to src/pages/ProjectsPage/ProjectsPage.module.scss diff --git a/src/pages/ProjectsPage/ui/ProjectsPage.tsx b/src/pages/ProjectsPage/ProjectsPage.tsx similarity index 91% rename from src/pages/ProjectsPage/ui/ProjectsPage.tsx rename to src/pages/ProjectsPage/ProjectsPage.tsx index 208fafd..78bcf86 100644 --- a/src/pages/ProjectsPage/ui/ProjectsPage.tsx +++ b/src/pages/ProjectsPage/ProjectsPage.tsx @@ -10,14 +10,16 @@ import { CreateProjectModal } from "@features/CreateProjectModal" import api from "@shared/api" import { Button } from "@shared/ui" import { StaticLoader } from "@shared/ui/Loader" -import { ProjectsHeader } from "@widgets/Projects/ProjectsHeader/ui/ProjectsHeader" +import { ProjectsHeader } from "@widgets/Projects/ProjectsHeader" -import { IProjectsPageProps } from "../model/ProjectsPage.d" +import { IProjectsPageProps } from "./ProjectsPage.d" import styles from "./ProjectsPage.module.scss" +import { useRouter } from "next/navigation" export const ProjectsPage: FunctionComponent< IProjectsPageProps > = (): JSX.Element => { + const router = useRouter(); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false) const { @@ -67,6 +69,7 @@ export const ProjectsPage: FunctionComponent< currentAction={ project.status === "PROCESSING" ? "Rendering" : undefined } + onClick={() => router.push(`/projects/${project.id}`)} /> ))} diff --git a/src/pages/ProjectsPage/index.ts b/src/pages/ProjectsPage/index.ts index 06d9f88..9064007 100644 --- a/src/pages/ProjectsPage/index.ts +++ b/src/pages/ProjectsPage/index.ts @@ -1 +1 @@ -export * from "./ui/ProjectsPage" +export * from "./ProjectsPage" diff --git a/src/pages/RegisterPage/model/RegisterPage.d.ts b/src/pages/RegisterPage/RegisterPage.d.ts similarity index 100% rename from src/pages/RegisterPage/model/RegisterPage.d.ts rename to src/pages/RegisterPage/RegisterPage.d.ts diff --git a/src/pages/RegisterPage/ui/RegisterPage.module.scss b/src/pages/RegisterPage/RegisterPage.module.scss similarity index 100% rename from src/pages/RegisterPage/ui/RegisterPage.module.scss rename to src/pages/RegisterPage/RegisterPage.module.scss diff --git a/src/pages/RegisterPage/ui/RegisterPage.tsx b/src/pages/RegisterPage/RegisterPage.tsx similarity index 97% rename from src/pages/RegisterPage/ui/RegisterPage.tsx rename to src/pages/RegisterPage/RegisterPage.tsx index 1dfea83..68a5bcc 100644 --- a/src/pages/RegisterPage/ui/RegisterPage.tsx +++ b/src/pages/RegisterPage/RegisterPage.tsx @@ -10,7 +10,7 @@ import { useHookFormMask } from "use-mask-input" import api from "@shared/api" import { Button, Form, TextField } from "@shared/ui" -import { IRegisterPageProps } from "../model/RegisterPage.d" +import { IRegisterPageProps } from "./RegisterPage.d" import styles from "./RegisterPage.module.scss" interface IRegisterFormData { diff --git a/src/pages/RegisterPage/index.ts b/src/pages/RegisterPage/index.ts index 62e46c2..0c5b879 100644 --- a/src/pages/RegisterPage/index.ts +++ b/src/pages/RegisterPage/index.ts @@ -1 +1 @@ -export * from "./ui/RegisterPage" +export * from "./RegisterPage" diff --git a/src/shared/ui/Alert/model/Alert.d.ts b/src/shared/ui/Alert/Alert.d.ts similarity index 100% rename from src/shared/ui/Alert/model/Alert.d.ts rename to src/shared/ui/Alert/Alert.d.ts diff --git a/src/shared/ui/Alert/ui/Alert.module.scss b/src/shared/ui/Alert/Alert.module.scss similarity index 100% rename from src/shared/ui/Alert/ui/Alert.module.scss rename to src/shared/ui/Alert/Alert.module.scss diff --git a/src/shared/ui/Alert/ui/Alert.tsx b/src/shared/ui/Alert/Alert.tsx similarity index 94% rename from src/shared/ui/Alert/ui/Alert.tsx rename to src/shared/ui/Alert/Alert.tsx index 5b4bc80..a0ec2a1 100644 --- a/src/shared/ui/Alert/ui/Alert.tsx +++ b/src/shared/ui/Alert/Alert.tsx @@ -1,6 +1,6 @@ "use client" -import type { IAlertProps } from "../model/Alert.d" +import type { IAlertProps } from "./Alert.d" import type { JSX } from "react" import { Callout } from "@radix-ui/themes" diff --git a/src/shared/ui/Alert/index.ts b/src/shared/ui/Alert/index.ts index 30fc0d4..319b7c7 100644 --- a/src/shared/ui/Alert/index.ts +++ b/src/shared/ui/Alert/index.ts @@ -1 +1 @@ -export * from "./ui/Alert" +export * from "./Alert" diff --git a/src/shared/ui/Avatar/model/Avatar.d.ts b/src/shared/ui/Avatar/Avatar.d.ts similarity index 100% rename from src/shared/ui/Avatar/model/Avatar.d.ts rename to src/shared/ui/Avatar/Avatar.d.ts diff --git a/src/shared/ui/Avatar/ui/Avatar.module.scss b/src/shared/ui/Avatar/Avatar.module.scss similarity index 100% rename from src/shared/ui/Avatar/ui/Avatar.module.scss rename to src/shared/ui/Avatar/Avatar.module.scss diff --git a/src/shared/ui/Avatar/ui/Avatar.tsx b/src/shared/ui/Avatar/Avatar.tsx similarity index 97% rename from src/shared/ui/Avatar/ui/Avatar.tsx rename to src/shared/ui/Avatar/Avatar.tsx index 6d9e5bb..8e89b77 100644 --- a/src/shared/ui/Avatar/ui/Avatar.tsx +++ b/src/shared/ui/Avatar/Avatar.tsx @@ -6,7 +6,7 @@ import cs from "classnames" import Image from "next/image" import avatarPlaceholder from "@shared/assets/placeholder.png" -import { IAvatarProps } from "../model/Avatar" +import { IAvatarProps } from "./Avatar.d" import styles from "./Avatar.module.scss" const avatarProperties = { diff --git a/src/shared/ui/Avatar/index.ts b/src/shared/ui/Avatar/index.ts index 58d576c..c5ddb58 100644 --- a/src/shared/ui/Avatar/index.ts +++ b/src/shared/ui/Avatar/index.ts @@ -1 +1 @@ -export * from "./ui/Avatar" +export * from "./Avatar" diff --git a/src/shared/ui/Badge/model/Badge.d.ts b/src/shared/ui/Badge/Badge.d.ts similarity index 100% rename from src/shared/ui/Badge/model/Badge.d.ts rename to src/shared/ui/Badge/Badge.d.ts diff --git a/src/shared/ui/Badge/ui/Badge.module.scss b/src/shared/ui/Badge/Badge.module.scss similarity index 100% rename from src/shared/ui/Badge/ui/Badge.module.scss rename to src/shared/ui/Badge/Badge.module.scss diff --git a/src/shared/ui/Badge/ui/Badge.tsx b/src/shared/ui/Badge/Badge.tsx similarity index 91% rename from src/shared/ui/Badge/ui/Badge.tsx rename to src/shared/ui/Badge/Badge.tsx index 067309d..721d93a 100644 --- a/src/shared/ui/Badge/ui/Badge.tsx +++ b/src/shared/ui/Badge/Badge.tsx @@ -1,6 +1,6 @@ "use client" -import type { IBadgeProps } from "../model/Badge.d" +import type { IBadgeProps } from "./Badge.d" import type { JSX } from "react" import { Badge as RadixBadge } from "@radix-ui/themes" diff --git a/src/shared/ui/Badge/index.ts b/src/shared/ui/Badge/index.ts index db92aa5..9d37d5f 100644 --- a/src/shared/ui/Badge/index.ts +++ b/src/shared/ui/Badge/index.ts @@ -1 +1 @@ -export * from "./ui/Badge" +export * from "./Badge" diff --git a/src/shared/ui/Button/model/Button.d.ts b/src/shared/ui/Button/Button.d.ts similarity index 100% rename from src/shared/ui/Button/model/Button.d.ts rename to src/shared/ui/Button/Button.d.ts diff --git a/src/shared/ui/Button/ui/Button.module.scss b/src/shared/ui/Button/Button.module.scss similarity index 100% rename from src/shared/ui/Button/ui/Button.module.scss rename to src/shared/ui/Button/Button.module.scss diff --git a/src/shared/ui/Button/ui/Button.tsx b/src/shared/ui/Button/Button.tsx similarity index 96% rename from src/shared/ui/Button/ui/Button.tsx rename to src/shared/ui/Button/Button.tsx index 7eb5e82..9c17072 100644 --- a/src/shared/ui/Button/ui/Button.tsx +++ b/src/shared/ui/Button/Button.tsx @@ -1,6 +1,6 @@ "use client" -import type { IButtonProps } from "../model/Button.d" +import type { IButtonProps } from "./Button.d" import type { JSX } from "react" import { forwardRef } from "react" diff --git a/src/shared/ui/Button/index.ts b/src/shared/ui/Button/index.ts index 60d6887..6783701 100644 --- a/src/shared/ui/Button/index.ts +++ b/src/shared/ui/Button/index.ts @@ -1 +1 @@ -export * from "./ui/Button" +export * from "./Button" diff --git a/src/shared/ui/Card/model/Card.d.ts b/src/shared/ui/Card/Card.d.ts similarity index 100% rename from src/shared/ui/Card/model/Card.d.ts rename to src/shared/ui/Card/Card.d.ts diff --git a/src/shared/ui/Card/ui/Card.module.scss b/src/shared/ui/Card/Card.module.scss similarity index 100% rename from src/shared/ui/Card/ui/Card.module.scss rename to src/shared/ui/Card/Card.module.scss diff --git a/src/shared/ui/Card/ui/Card.tsx b/src/shared/ui/Card/Card.tsx similarity index 87% rename from src/shared/ui/Card/ui/Card.tsx rename to src/shared/ui/Card/Card.tsx index 3fcd0bc..545f7a0 100644 --- a/src/shared/ui/Card/ui/Card.tsx +++ b/src/shared/ui/Card/Card.tsx @@ -1,6 +1,6 @@ "use client" -import type { ICardProps } from "../model/Card.d" +import type { ICardProps } from "./Card.d" import type { JSX } from "react" import { Card as RadixCard } from "@radix-ui/themes" diff --git a/src/shared/ui/Card/index.ts b/src/shared/ui/Card/index.ts index d92b158..1ae2698 100644 --- a/src/shared/ui/Card/index.ts +++ b/src/shared/ui/Card/index.ts @@ -1 +1 @@ -export * from "./ui/Card" +export * from "./Card" diff --git a/src/shared/ui/Checkbox/model/Checkbox.d.ts b/src/shared/ui/Checkbox/Checkbox.d.ts similarity index 100% rename from src/shared/ui/Checkbox/model/Checkbox.d.ts rename to src/shared/ui/Checkbox/Checkbox.d.ts diff --git a/src/shared/ui/Checkbox/ui/Checkbox.module.scss b/src/shared/ui/Checkbox/Checkbox.module.scss similarity index 100% rename from src/shared/ui/Checkbox/ui/Checkbox.module.scss rename to src/shared/ui/Checkbox/Checkbox.module.scss diff --git a/src/shared/ui/Checkbox/ui/Checkbox.tsx b/src/shared/ui/Checkbox/Checkbox.tsx similarity index 90% rename from src/shared/ui/Checkbox/ui/Checkbox.tsx rename to src/shared/ui/Checkbox/Checkbox.tsx index 4f16f33..892a43b 100644 --- a/src/shared/ui/Checkbox/ui/Checkbox.tsx +++ b/src/shared/ui/Checkbox/Checkbox.tsx @@ -1,6 +1,6 @@ "use client" -import type { ICheckboxProps } from "../model/Checkbox.d" +import type { ICheckboxProps } from "./Checkbox.d" import type { JSX } from "react" import { Checkbox as RadixCheckbox, Flex, Text } from "@radix-ui/themes" diff --git a/src/shared/ui/Checkbox/index.ts b/src/shared/ui/Checkbox/index.ts index e5e0f22..e767999 100644 --- a/src/shared/ui/Checkbox/index.ts +++ b/src/shared/ui/Checkbox/index.ts @@ -1 +1 @@ -export * from "./ui/Checkbox" +export * from "./Checkbox" diff --git a/src/shared/ui/CircularProgress/model/CircularProgress.d.ts b/src/shared/ui/CircularProgress/CircularProgress.d.ts similarity index 100% rename from src/shared/ui/CircularProgress/model/CircularProgress.d.ts rename to src/shared/ui/CircularProgress/CircularProgress.d.ts diff --git a/src/shared/ui/CircularProgress/ui/CircularProgress.module.scss b/src/shared/ui/CircularProgress/CircularProgress.module.scss similarity index 100% rename from src/shared/ui/CircularProgress/ui/CircularProgress.module.scss rename to src/shared/ui/CircularProgress/CircularProgress.module.scss diff --git a/src/shared/ui/CircularProgress/ui/CircularProgress.tsx b/src/shared/ui/CircularProgress/CircularProgress.tsx similarity index 95% rename from src/shared/ui/CircularProgress/ui/CircularProgress.tsx rename to src/shared/ui/CircularProgress/CircularProgress.tsx index 12eddd2..99e2f91 100644 --- a/src/shared/ui/CircularProgress/ui/CircularProgress.tsx +++ b/src/shared/ui/CircularProgress/CircularProgress.tsx @@ -1,4 +1,4 @@ -import type { ICircularProgressProps } from "../model/CircularProgress.d" +import type { ICircularProgressProps } from "./CircularProgress.d" import type { JSX } from "react" import { FunctionComponent } from "react" diff --git a/src/shared/ui/CircularProgress/index.ts b/src/shared/ui/CircularProgress/index.ts index 7c66120..e9aaa4c 100644 --- a/src/shared/ui/CircularProgress/index.ts +++ b/src/shared/ui/CircularProgress/index.ts @@ -1 +1 @@ -export * from "./ui/CircularProgress" +export * from "./CircularProgress" diff --git a/src/shared/ui/Dropdown/model/Dropdown.d.ts b/src/shared/ui/Dropdown/Dropdown.d.ts similarity index 100% rename from src/shared/ui/Dropdown/model/Dropdown.d.ts rename to src/shared/ui/Dropdown/Dropdown.d.ts diff --git a/src/shared/ui/Dropdown/ui/Dropdown.module.scss b/src/shared/ui/Dropdown/Dropdown.module.scss similarity index 100% rename from src/shared/ui/Dropdown/ui/Dropdown.module.scss rename to src/shared/ui/Dropdown/Dropdown.module.scss diff --git a/src/shared/ui/Dropdown/ui/Dropdown.tsx b/src/shared/ui/Dropdown/Dropdown.tsx similarity index 99% rename from src/shared/ui/Dropdown/ui/Dropdown.tsx rename to src/shared/ui/Dropdown/Dropdown.tsx index a981824..4f89193 100644 --- a/src/shared/ui/Dropdown/ui/Dropdown.tsx +++ b/src/shared/ui/Dropdown/Dropdown.tsx @@ -13,7 +13,7 @@ import type { IDropdownSubProps, IDropdownSubTriggerProps, IDropdownTriggerProps, -} from "../model/Dropdown.d" +} from "./Dropdown.d" import type { JSX } from "react" import * as DropdownMenu from "@radix-ui/react-dropdown-menu" diff --git a/src/shared/ui/Dropdown/index.ts b/src/shared/ui/Dropdown/index.ts index 145a56d..6336f62 100644 --- a/src/shared/ui/Dropdown/index.ts +++ b/src/shared/ui/Dropdown/index.ts @@ -11,7 +11,7 @@ export { DropdownSubContent, DropdownSubTrigger, DropdownTrigger, -} from "./ui/Dropdown" +} from "./Dropdown" export type { IDropdownCheckboxItemProps, @@ -26,4 +26,4 @@ export type { IDropdownSubProps, IDropdownSubTriggerProps, IDropdownTriggerProps, -} from "./model/Dropdown.d" +} from "./Dropdown.d" diff --git a/src/shared/ui/Form/model/Form.d.ts b/src/shared/ui/Form/Form.d.ts similarity index 100% rename from src/shared/ui/Form/model/Form.d.ts rename to src/shared/ui/Form/Form.d.ts diff --git a/src/shared/ui/Form/ui/Form.module.scss b/src/shared/ui/Form/Form.module.scss similarity index 100% rename from src/shared/ui/Form/ui/Form.module.scss rename to src/shared/ui/Form/Form.module.scss diff --git a/src/shared/ui/Form/ui/Form.tsx b/src/shared/ui/Form/Form.tsx similarity index 89% rename from src/shared/ui/Form/ui/Form.tsx rename to src/shared/ui/Form/Form.tsx index 6fdea2a..6aa2161 100644 --- a/src/shared/ui/Form/ui/Form.tsx +++ b/src/shared/ui/Form/Form.tsx @@ -1,6 +1,6 @@ "use client" -import type { IFormProps } from "../model/Form.d" +import type { IFormProps } from "./Form.d" import type { JSX } from "react" import { forwardRef } from "react" diff --git a/src/shared/ui/Form/index.ts b/src/shared/ui/Form/index.ts index 4058e71..957bf30 100644 --- a/src/shared/ui/Form/index.ts +++ b/src/shared/ui/Form/index.ts @@ -1 +1 @@ -export * from "./ui/Form" +export * from "./Form" diff --git a/src/shared/ui/Modal/model/Modal.d.ts b/src/shared/ui/Modal/Modal.d.ts similarity index 100% rename from src/shared/ui/Modal/model/Modal.d.ts rename to src/shared/ui/Modal/Modal.d.ts diff --git a/src/shared/ui/Modal/ui/Modal.module.scss b/src/shared/ui/Modal/Modal.module.scss similarity index 100% rename from src/shared/ui/Modal/ui/Modal.module.scss rename to src/shared/ui/Modal/Modal.module.scss diff --git a/src/shared/ui/Modal/ui/Modal.tsx b/src/shared/ui/Modal/Modal.tsx similarity index 92% rename from src/shared/ui/Modal/ui/Modal.tsx rename to src/shared/ui/Modal/Modal.tsx index f061ec9..38b3479 100644 --- a/src/shared/ui/Modal/ui/Modal.tsx +++ b/src/shared/ui/Modal/Modal.tsx @@ -1,6 +1,6 @@ "use client" -import type { IModalProps } from "../model/Modal.d" +import type { IModalProps } from "./Modal.d" import type { JSX } from "react" import { Dialog } from "@radix-ui/themes" diff --git a/src/shared/ui/Modal/index.ts b/src/shared/ui/Modal/index.ts index 1615d64..6555521 100644 --- a/src/shared/ui/Modal/index.ts +++ b/src/shared/ui/Modal/index.ts @@ -1 +1 @@ -export * from "./ui/Modal" +export * from "./Modal" diff --git a/src/shared/ui/Pagination/model/Pagination.d.ts b/src/shared/ui/Pagination/Pagination.d.ts similarity index 100% rename from src/shared/ui/Pagination/model/Pagination.d.ts rename to src/shared/ui/Pagination/Pagination.d.ts diff --git a/src/shared/ui/Pagination/ui/Pagination.module.scss b/src/shared/ui/Pagination/Pagination.module.scss similarity index 100% rename from src/shared/ui/Pagination/ui/Pagination.module.scss rename to src/shared/ui/Pagination/Pagination.module.scss diff --git a/src/shared/ui/Pagination/ui/Pagination.tsx b/src/shared/ui/Pagination/Pagination.tsx similarity index 97% rename from src/shared/ui/Pagination/ui/Pagination.tsx rename to src/shared/ui/Pagination/Pagination.tsx index 2ca1923..9d98175 100644 --- a/src/shared/ui/Pagination/ui/Pagination.tsx +++ b/src/shared/ui/Pagination/Pagination.tsx @@ -1,6 +1,6 @@ "use client" -import type { IPaginationProps } from "../model/Pagination.d" +import type { IPaginationProps } from "./Pagination.d" import type { JSX } from "react" import { Flex, IconButton, Text } from "@radix-ui/themes" diff --git a/src/shared/ui/Pagination/index.ts b/src/shared/ui/Pagination/index.ts index 7cf01a3..b084c37 100644 --- a/src/shared/ui/Pagination/index.ts +++ b/src/shared/ui/Pagination/index.ts @@ -1 +1 @@ -export * from "./ui/Pagination" +export * from "./Pagination" diff --git a/src/shared/ui/Radio/model/Radio.d.ts b/src/shared/ui/Radio/Radio.d.ts similarity index 100% rename from src/shared/ui/Radio/model/Radio.d.ts rename to src/shared/ui/Radio/Radio.d.ts diff --git a/src/shared/ui/Radio/ui/Radio.module.scss b/src/shared/ui/Radio/Radio.module.scss similarity index 100% rename from src/shared/ui/Radio/ui/Radio.module.scss rename to src/shared/ui/Radio/Radio.module.scss diff --git a/src/shared/ui/Radio/ui/Radio.tsx b/src/shared/ui/Radio/Radio.tsx similarity index 91% rename from src/shared/ui/Radio/ui/Radio.tsx rename to src/shared/ui/Radio/Radio.tsx index b7b99ff..d9f5c35 100644 --- a/src/shared/ui/Radio/ui/Radio.tsx +++ b/src/shared/ui/Radio/Radio.tsx @@ -1,6 +1,6 @@ "use client" -import type { IRadioGroupProps, IRadioProps } from "../model/Radio.d" +import type { IRadioGroupProps, IRadioProps } from "./Radio.d" import type { JSX } from "react" import { Flex, RadioGroup, Text } from "@radix-ui/themes" diff --git a/src/shared/ui/Radio/index.ts b/src/shared/ui/Radio/index.ts index 8a7a1b7..93fe2ec 100644 --- a/src/shared/ui/Radio/index.ts +++ b/src/shared/ui/Radio/index.ts @@ -1 +1 @@ -export * from "./ui/Radio" +export * from "./Radio" diff --git a/src/shared/ui/Select/model/Select.d.ts b/src/shared/ui/Select/Select.d.ts similarity index 100% rename from src/shared/ui/Select/model/Select.d.ts rename to src/shared/ui/Select/Select.d.ts diff --git a/src/shared/ui/Select/ui/Select.module.scss b/src/shared/ui/Select/Select.module.scss similarity index 100% rename from src/shared/ui/Select/ui/Select.module.scss rename to src/shared/ui/Select/Select.module.scss diff --git a/src/shared/ui/Select/ui/Select.tsx b/src/shared/ui/Select/Select.tsx similarity index 92% rename from src/shared/ui/Select/ui/Select.tsx rename to src/shared/ui/Select/Select.tsx index eeb0e00..50a963b 100644 --- a/src/shared/ui/Select/ui/Select.tsx +++ b/src/shared/ui/Select/Select.tsx @@ -1,6 +1,6 @@ "use client" -import type { ISelectItemProps, ISelectProps } from "../model/Select.d" +import type { ISelectItemProps, ISelectProps } from "./Select.d" import type { JSX } from "react" import { Select as RadixSelect } from "@radix-ui/themes" diff --git a/src/shared/ui/Select/index.ts b/src/shared/ui/Select/index.ts index ad2f54a..30f6b8a 100644 --- a/src/shared/ui/Select/index.ts +++ b/src/shared/ui/Select/index.ts @@ -1 +1 @@ -export * from "./ui/Select" +export * from "./Select" diff --git a/src/shared/ui/Table/model/Table.d.ts b/src/shared/ui/Table/Table.d.ts similarity index 100% rename from src/shared/ui/Table/model/Table.d.ts rename to src/shared/ui/Table/Table.d.ts diff --git a/src/shared/ui/Table/ui/Table.module.scss b/src/shared/ui/Table/Table.module.scss similarity index 100% rename from src/shared/ui/Table/ui/Table.module.scss rename to src/shared/ui/Table/Table.module.scss diff --git a/src/shared/ui/Table/ui/Table.tsx b/src/shared/ui/Table/Table.tsx similarity index 92% rename from src/shared/ui/Table/ui/Table.tsx rename to src/shared/ui/Table/Table.tsx index 34a8296..8cb79e8 100644 --- a/src/shared/ui/Table/ui/Table.tsx +++ b/src/shared/ui/Table/Table.tsx @@ -1,6 +1,6 @@ "use client" -import type { ITableProps } from "../model/Table.d" +import type { ITableProps } from "./Table.d" import type { JSX } from "react" import { Table as RadixTable } from "@radix-ui/themes" diff --git a/src/shared/ui/Table/index.ts b/src/shared/ui/Table/index.ts index 3425854..e7ae861 100644 --- a/src/shared/ui/Table/index.ts +++ b/src/shared/ui/Table/index.ts @@ -1 +1 @@ -export * from "./ui/Table" +export * from "./Table" diff --git a/src/shared/ui/Tabs/model/Tabs.d.ts b/src/shared/ui/Tabs/Tabs.d.ts similarity index 100% rename from src/shared/ui/Tabs/model/Tabs.d.ts rename to src/shared/ui/Tabs/Tabs.d.ts diff --git a/src/shared/ui/Tabs/ui/Tabs.module.scss b/src/shared/ui/Tabs/Tabs.module.scss similarity index 100% rename from src/shared/ui/Tabs/ui/Tabs.module.scss rename to src/shared/ui/Tabs/Tabs.module.scss diff --git a/src/shared/ui/Tabs/ui/Tabs.tsx b/src/shared/ui/Tabs/Tabs.tsx similarity index 97% rename from src/shared/ui/Tabs/ui/Tabs.tsx rename to src/shared/ui/Tabs/Tabs.tsx index a46ab57..cb61b92 100644 --- a/src/shared/ui/Tabs/ui/Tabs.tsx +++ b/src/shared/ui/Tabs/Tabs.tsx @@ -5,7 +5,7 @@ import type { ITabsListProps, ITabsProps, ITabsTriggerProps, -} from "../model/Tabs.d" +} from "./Tabs.d" import type { JSX } from "react" import { Tabs as RadixTabs } from "@radix-ui/themes" diff --git a/src/shared/ui/Tabs/index.ts b/src/shared/ui/Tabs/index.ts index a8eb638..592637b 100644 --- a/src/shared/ui/Tabs/index.ts +++ b/src/shared/ui/Tabs/index.ts @@ -1 +1 @@ -export * from "./ui/Tabs" +export * from "./Tabs" diff --git a/src/shared/ui/TextField/model/TextField.d.ts b/src/shared/ui/TextField/TextField.d.ts similarity index 100% rename from src/shared/ui/TextField/model/TextField.d.ts rename to src/shared/ui/TextField/TextField.d.ts diff --git a/src/shared/ui/TextField/ui/TextField.module.scss b/src/shared/ui/TextField/TextField.module.scss similarity index 100% rename from src/shared/ui/TextField/ui/TextField.module.scss rename to src/shared/ui/TextField/TextField.module.scss diff --git a/src/shared/ui/TextField/ui/TextField.tsx b/src/shared/ui/TextField/TextField.tsx similarity index 95% rename from src/shared/ui/TextField/ui/TextField.tsx rename to src/shared/ui/TextField/TextField.tsx index e39828d..854073d 100644 --- a/src/shared/ui/TextField/ui/TextField.tsx +++ b/src/shared/ui/TextField/TextField.tsx @@ -1,6 +1,6 @@ "use client" -import type { ITextFieldProps } from "../model/TextField.d" +import type { ITextFieldProps } from "./TextField.d" import type { JSX } from "react" import { forwardRef } from "react" diff --git a/src/shared/ui/TextField/index.ts b/src/shared/ui/TextField/index.ts index 20ef7b8..f05689e 100644 --- a/src/shared/ui/TextField/index.ts +++ b/src/shared/ui/TextField/index.ts @@ -1 +1 @@ -export * from "./ui/TextField" +export * from "./TextField" diff --git a/src/widgets/Header/model/Header.d.ts b/src/widgets/Header/Header.d.ts similarity index 62% rename from src/widgets/Header/model/Header.d.ts rename to src/widgets/Header/Header.d.ts index 21074d3..8619fd5 100644 --- a/src/widgets/Header/model/Header.d.ts +++ b/src/widgets/Header/Header.d.ts @@ -1,3 +1,3 @@ export interface IHeaderProps { - message?: string + className?: string } diff --git a/src/widgets/Header/ui/Header.module.scss b/src/widgets/Header/Header.module.scss similarity index 100% rename from src/widgets/Header/ui/Header.module.scss rename to src/widgets/Header/Header.module.scss diff --git a/src/widgets/Header/ui/Header.tsx b/src/widgets/Header/Header.tsx similarity index 96% rename from src/widgets/Header/ui/Header.tsx rename to src/widgets/Header/Header.tsx index 2b7d125..d71a42d 100644 --- a/src/widgets/Header/ui/Header.tsx +++ b/src/widgets/Header/Header.tsx @@ -10,7 +10,7 @@ import { UserDropdown } from "@entities/UserDropdown" import { useAppSelector } from "@shared/hooks/useAppSelector" import { Button } from "@shared/ui" -import { IHeaderProps } from "../model/Header.d" +import { IHeaderProps } from "./Header.d" import styles from "./Header.module.scss" export const Header: FunctionComponent = (): JSX.Element => { diff --git a/src/widgets/Header/index.ts b/src/widgets/Header/index.ts index 5d11955..661052e 100644 --- a/src/widgets/Header/index.ts +++ b/src/widgets/Header/index.ts @@ -1 +1 @@ -export * from "./ui/Header" +export * from "./Header" diff --git a/src/widgets/Projects/ProjectsHeader/model/ProjectsHeader.d.ts b/src/widgets/Projects/ProjectsHeader/ProjectsHeader.d.ts similarity index 67% rename from src/widgets/Projects/ProjectsHeader/model/ProjectsHeader.d.ts rename to src/widgets/Projects/ProjectsHeader/ProjectsHeader.d.ts index f97acbe..09c0443 100644 --- a/src/widgets/Projects/ProjectsHeader/model/ProjectsHeader.d.ts +++ b/src/widgets/Projects/ProjectsHeader/ProjectsHeader.d.ts @@ -1,3 +1,3 @@ export interface IProjectsHeaderProps { - message?: string + className?: string } diff --git a/src/widgets/Projects/ProjectsHeader/ui/ProjectsHeader.module.scss b/src/widgets/Projects/ProjectsHeader/ProjectsHeader.module.scss similarity index 100% rename from src/widgets/Projects/ProjectsHeader/ui/ProjectsHeader.module.scss rename to src/widgets/Projects/ProjectsHeader/ProjectsHeader.module.scss diff --git a/src/widgets/Projects/ProjectsHeader/ui/ProjectsHeader.tsx b/src/widgets/Projects/ProjectsHeader/ProjectsHeader.tsx similarity index 93% rename from src/widgets/Projects/ProjectsHeader/ui/ProjectsHeader.tsx rename to src/widgets/Projects/ProjectsHeader/ProjectsHeader.tsx index bf994c9..d48461a 100644 --- a/src/widgets/Projects/ProjectsHeader/ui/ProjectsHeader.tsx +++ b/src/widgets/Projects/ProjectsHeader/ProjectsHeader.tsx @@ -7,7 +7,7 @@ import { Separator } from "@radix-ui/themes" import { Button, TextField } from "@shared/ui" -import { IProjectsHeaderProps } from "../model/ProjectsHeader.d" +import { IProjectsHeaderProps } from "./ProjectsHeader.d" import styles from "./ProjectsHeader.module.scss" export const ProjectsHeader: FunctionComponent< diff --git a/src/widgets/Projects/ProjectsHeader/index.ts b/src/widgets/Projects/ProjectsHeader/index.ts index 567ff7a..6d41e31 100644 --- a/src/widgets/Projects/ProjectsHeader/index.ts +++ b/src/widgets/Projects/ProjectsHeader/index.ts @@ -1 +1 @@ -export * from "./ui/ProjectsHeader" +export * from "./ProjectsHeader"