Skip to content

Rafactor/chore#73

Open
kapitulin24 wants to merge 5 commits into
devfrom
rafactor/styles
Open

Rafactor/chore#73
kapitulin24 wants to merge 5 commits into
devfrom
rafactor/styles

Conversation

@kapitulin24

Copy link
Copy Markdown
Contributor

Что сделано

  • Перенесен профильный раздел с /profile/* на /user/* с обновлением маршрутов, редиректов и навигации.
  • Разделены страницы команд и приглашений на отдельные модули (teams и invitations) с переносом связанной логики.
  • Рефакторинг сайдбара: вынесены отдельные виджеты для проектов/команды, добавлен заголовок раздела в layout.
  • Унифицировано поведение диалогов (контролируемое open/onOpenChange, корректное закрытие и reset состояния).

Зачем

  • Упростить структуру роутинга и сделать ее более консистентной.
  • Повысить читаемость и поддерживаемость UI за счет декомпозиции крупных компонентов.
  • Сделать поведение модалок предсказуемым при повторном использовании в разных местах.

Проверка

  • Авторизация и переход после входа/регистрации ведут на /user.
  • Навигация по вкладкам профиля/команд работает корректно.
  • Сайдбар отображает команды, проекты и действия без регрессий.
  • Диалоги приглашения/удаления/архивации открываются и закрываются корректно.
  • Typecheck и линтеры проходят.

kapitulin24 and others added 4 commits June 9, 2026 13:21
@kapitulin24 kapitulin24 requested review from AlexandrNel and soorq June 9, 2026 11:18
@github-actions github-actions Bot added devops ui-kit Shared UI components, styles and storybook core-logic Global providers, api instances and core shared libs features User scenarios and sliced features views Pages, widgets and layouts config labels Jun 9, 2026
Comment thread src/features/projects/archive/ui/RestoreProjectDialog.tsx
Comment thread src/features/teams/invite/model/useInviteTeamMember.ts

const TeamContent = dynamic(() => import('./TeamContent').then((mod) => mod.TeamContent), {
ssr: false,
loading: () => <TeamFallback />,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не поможет, переходи в Suspense, лучше так к слову не делать, и не удобно собирать всю страницу компонентами лоадеров, тебе легче сделать под маленькие компоненты и из них собирать общий лоадер, а так если глобально, вдруг у тебя пришли данные н-ые, но у тебя будет лоадер всей страницы, компонента, а так монолитно разбираешь и все

}
};

if (!projects.data) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше наверх выносить эту историю, чтоб начать сразу из отрицания


export function ProjectActions({ project, teamId, ...props }: ProjectActionsProps) {
const { isMobile } = useSidebar();
const [dropdownOpen, setDropdownOpen] = useState(false);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Батчинг, приветик =)
Тут легче тебе заложить в 1 стейт, и жить с ним

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config core-logic Global providers, api instances and core shared libs devops features User scenarios and sliced features ui-kit Shared UI components, styles and storybook views Pages, widgets and layouts

Projects

None yet

2 participants