Skip to content

Commit

Permalink
Minor Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
R1c4rdCo5t4 committed Jul 8, 2024
1 parent 887db8d commit aa68517
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 14 deletions.
6 changes: 4 additions & 2 deletions code/client/src/contexts/workspace/WorkspaceContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ type WorkspaceContextType = {
workspace?: WorkspaceMeta;
resources?: Resources;
operations?: WorkspaceOperations;
isMember?: boolean;
isMember: boolean;
};

export const WorkspaceContext = createContext<WorkspaceContextType>({});
export const WorkspaceContext = createContext<WorkspaceContextType>({
isMember: false,
});

export function WorkspaceProvider({ children }: { children: React.ReactNode }) {
const services = useWorkspaceService();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function TreeResourceView({
}: TreeResourceViewProps) {
const { isMember } = useWorkspace();
const [isOpen, setIsOpen] = useState(true);
const { component, isEditing, setIsEditing } = useEditing(resource.name || 'Untitled', (name: string) =>
const { component, isEditing, setIsEditing } = useEditing(resource.name || 'Untitled', isMember, (name: string) =>
onRenameResource!(resource.id, name)
);

Expand Down
6 changes: 2 additions & 4 deletions code/client/src/ui/hooks/useEditing.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { useEffect, useState } from 'react';
import useWorkspace from '@/contexts/workspace/useWorkspace';

function useEditing(initialValue: string, onEdit: (value: string) => void) {
function useEditing(initialValue: string, allowEdit: boolean, onEdit: (value: string) => void) {
const [value, setValue] = useState(initialValue);
const [isEditing, setIsEditing] = useState(false);
const { isMember } = useWorkspace();

// listen for changes in the initial value
useEffect(() => {
Expand Down Expand Up @@ -35,7 +33,7 @@ function useEditing(initialValue: string, onEdit: (value: string) => void) {
return {
component,
isEditing,
setIsEditing: isMember ? setIsEditing : () => {},
setIsEditing: allowEdit ? setIsEditing : () => {},
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ type DocumentViewProps = {

function DocumentView({ document, onSelect, onDelete, onRename, onDuplicate, selected }: DocumentViewProps) {
const { wid } = useParams();
const { component, isEditing, setIsEditing } = useEditing(document.name || 'Untitled', onRename);
const [isSelected, setSelected] = useState(selected);
const { isMember } = useWorkspace();
const { component, isEditing, setIsEditing } = useEditing(document.name || 'Untitled', isMember, onRename);
const [isSelected, setSelected] = useState(selected);

useEffect(() => {
setSelected(selected);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ function WorkspaceView({
onRemoveMember,
toggleVisibility,
}: WorkspacePreviewProps) {
const { component, isEditing, setIsEditing } = useEditing(workspace.name, onRename);
const { component, isEditing, setIsEditing } = useEditing(workspace.name, true, onRename);
const [isSelected, setSelected] = useState(selected);

useEffect(() => {
Expand All @@ -49,9 +49,7 @@ function WorkspaceView({
<p>{workspace.isPrivate ? 'Private' : 'Public'}</p>
</div>
);
return isEditing ? (
WorkspaceComponent
) : (
return (
<WorkspaceContextMenu
workspace={workspace}
onRename={() => setIsEditing(true)}
Expand All @@ -60,7 +58,7 @@ function WorkspaceView({
onRemoveMember={onRemoveMember}
toggleVisibility={toggleVisibility}
>
<Link to={`/workspaces/${workspace.id}`}>{WorkspaceComponent}</Link>
{isEditing ? WorkspaceComponent : <Link to={`/workspaces/${workspace.id}`}>{WorkspaceComponent}</Link>}
</WorkspaceContextMenu>
);
}
Expand Down

0 comments on commit aa68517

Please sign in to comment.