Refactor: 간단한 오류 수정
This commit is contained in:
parent
7fb5ba10af
commit
557a2b6e37
@ -1,5 +1,5 @@
|
||||
import { ResizablePanel, ResizableHandle } from '../ui/resizable';
|
||||
import { Link, useLocation, useParams } from 'react-router-dom';
|
||||
import { Link, useLocation, useNavigate, useParams } from 'react-router-dom';
|
||||
import { SquarePen } from 'lucide-react';
|
||||
import useProjectListQuery from '@/queries/projects/useProjectListQuery';
|
||||
import useCreateProjectQuery from '@/queries/projects/useCreateProjectQuery';
|
||||
@ -11,6 +11,7 @@ import { cn } from '@/lib/utils';
|
||||
|
||||
export default function AdminProjectSidebar(): JSX.Element {
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
const { workspaceId } = useParams<{ workspaceId: string }>();
|
||||
const profile = useAuthStore((state) => state.profile);
|
||||
const memberId = profile?.id || 0;
|
||||
@ -33,6 +34,13 @@ export default function AdminProjectSidebar(): JSX.Element {
|
||||
|
||||
const selectedProjectId = new URLSearchParams(location.search).get('projectId');
|
||||
|
||||
const handleHeaderClick = () => {
|
||||
navigate({
|
||||
pathname: location.pathname,
|
||||
search: '',
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<ResizablePanel
|
||||
@ -44,9 +52,7 @@ export default function AdminProjectSidebar(): JSX.Element {
|
||||
<header className="flex w-full items-center justify-between gap-2 border-b border-gray-200 p-4">
|
||||
<h1
|
||||
className="heading w-full cursor-pointer overflow-hidden text-ellipsis whitespace-nowrap text-xl font-bold text-gray-900"
|
||||
onClick={() => {
|
||||
window.history.replaceState({}, '', location.pathname);
|
||||
}}
|
||||
onClick={handleHeaderClick}
|
||||
>
|
||||
{workspaceTitle}
|
||||
</h1>
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Link, useParams } from 'react-router-dom';
|
||||
import { useNavigate, useParams } from 'react-router-dom';
|
||||
import ProjectCard from '@/components/ProjectCard';
|
||||
import { Smile } from 'lucide-react';
|
||||
import ProjectCreateModal from '../components/ProjectCreateModal';
|
||||
@ -14,6 +14,7 @@ export default function WorkspaceBrowseDetail() {
|
||||
const workspaceId = Number(params.workspaceId);
|
||||
const { profile } = useAuthStore();
|
||||
const memberId = profile?.id ?? 0;
|
||||
const navigate = useNavigate();
|
||||
|
||||
const { data: workspaceData } = useWorkspaceQuery(workspaceId, memberId);
|
||||
const { data: projectsResponse, isError } = useProjectListQuery(workspaceId, memberId);
|
||||
@ -42,6 +43,7 @@ export default function WorkspaceBrowseDetail() {
|
||||
<ProjectList
|
||||
projects={projects}
|
||||
workspaceId={workspaceId}
|
||||
navigate={navigate}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
@ -84,7 +86,14 @@ function EmptyStateMessage({ workspaceId }: { workspaceId: number }) {
|
||||
);
|
||||
}
|
||||
|
||||
function ProjectList({ projects, workspaceId }: { projects: ProjectResponse[]; workspaceId: number }) {
|
||||
function ProjectList({
|
||||
projects,
|
||||
workspaceId,
|
||||
}: {
|
||||
projects: ProjectResponse[];
|
||||
workspaceId: number;
|
||||
navigate: ReturnType<typeof useNavigate>;
|
||||
}) {
|
||||
if (projects.length === 0) {
|
||||
return (
|
||||
<div className="flex h-full w-full flex-col items-center justify-center">
|
||||
@ -100,7 +109,7 @@ function ProjectList({ projects, workspaceId }: { projects: ProjectResponse[]; w
|
||||
return (
|
||||
<div className="flex flex-wrap gap-6">
|
||||
{projects.map((project: ProjectResponse) => (
|
||||
<Link
|
||||
<ProjectCard
|
||||
key={project.id}
|
||||
title={project.title}
|
||||
to={`${webPath.workspace()}/${workspaceId}/${project.id}`}
|
||||
|
Loading…
Reference in New Issue
Block a user