feat: selected area id in provider
This commit is contained in:
parent
8369230b7c
commit
c1ad2132ac
Binary file not shown.
@ -56,7 +56,6 @@ function classNames(...classes: any[]) {
|
||||
|
||||
function Sidebar() {
|
||||
const [selectedGroupId, setSelectedGroupId] = useState('')
|
||||
const [selectedAreaId, setSelectedAreaId] = useState('')
|
||||
const [isAddNewDocumentInputShowing, setIsAddNewDocumentInputShowing] = useState(false)
|
||||
const [isAddNewGroupInputShowing, setIsAddNewGroupInputShowing] = useState(false)
|
||||
const [isEditAreaNameInputShowing, setIsEditAreaNameInputShowing] = useState(false)
|
||||
@ -71,6 +70,8 @@ function Sidebar() {
|
||||
requestUpdateArea,
|
||||
requestAddDocument,
|
||||
requestAddDocumentGroup,
|
||||
selectedAreaId,
|
||||
setSelectedAreaId,
|
||||
selectedDocumentId,
|
||||
setSelectedDocumentId,
|
||||
} = useProject()
|
||||
@ -86,10 +87,6 @@ function Sidebar() {
|
||||
return groupId
|
||||
}
|
||||
|
||||
// const getGroupIdFromAreaId = (areaId: string) => {
|
||||
// return navigation.find(g => g.documents.map(d => d.areas.map(a => a.id)).flat().includes(areaId))?.id
|
||||
// }
|
||||
|
||||
const getDocumentIdFromAreaId = (areaId: string) => {
|
||||
let documentId = ''
|
||||
navigation.map(g => g.documents).flat().forEach(d => {
|
||||
|
||||
@ -5,6 +5,7 @@ const makeDefaultProject = (): ProjectContextType => ({
|
||||
id: '',
|
||||
documents: [] as ipc.Document[],
|
||||
groups: [] as ipc.Group[],
|
||||
selectedAreaId: '',
|
||||
selectedDocumentId: '',
|
||||
getSelectedDocument: () => new ipc.Document(),
|
||||
getAreaById: (areaId) => undefined,
|
||||
@ -12,6 +13,7 @@ const makeDefaultProject = (): ProjectContextType => ({
|
||||
requestUpdateArea: (updatedArea) => Promise.resolve(new ipc.Area()),
|
||||
requestAddDocument: (groupId, documentName) => Promise.resolve(new ipc.Document()),
|
||||
requestAddDocumentGroup: (groupName: string) => Promise.resolve(new ipc.Group()),
|
||||
setSelectedAreaId: (id) => {},
|
||||
setSelectedDocumentId: (id) => {}
|
||||
})
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ type Props = { children: ReactNode, projectProps: ProjectProps }
|
||||
export function ProjectProvider({ children, projectProps }: Props) {
|
||||
const [ documents, setDocuments ] = useState<ipc.Document[]>(projectProps.documents)
|
||||
const [ groups, setGroups ] = useState<ipc.Group[]>(projectProps.groups)
|
||||
const [ selectedAreaId, setSelectedAreaId ] = useState<string>('')
|
||||
const [selectedDocumentId, setSelectedDocumentId] = useState<string>('')
|
||||
|
||||
const updateDocuments = async () => {
|
||||
@ -72,6 +73,8 @@ export function ProjectProvider({ children, projectProps }: Props) {
|
||||
requestAddDocument,
|
||||
requestAddDocumentGroup,
|
||||
requestUpdateArea,
|
||||
selectedAreaId,
|
||||
setSelectedAreaId,
|
||||
selectedDocumentId,
|
||||
setSelectedDocumentId,
|
||||
}
|
||||
|
||||
@ -23,6 +23,8 @@ export type ProjectContextType = {
|
||||
requestUpdateArea: (area: AreaProps) => Promise<ipc.Area>
|
||||
requestAddDocument: (groupId: string, documentName: string) => Promise<ipc.Document>
|
||||
requestAddDocumentGroup: (groupName: string) => Promise<ipc.Group>
|
||||
selectedAreaId: string,
|
||||
setSelectedAreaId: (id: string) => void,
|
||||
selectedDocumentId: string
|
||||
setSelectedDocumentId: (id: string) => void
|
||||
} & ProjectProps
|
||||
Loading…
x
Reference in New Issue
Block a user