import Button from '@mui/material/Button' import Grid from '@mui/material/Grid' import List from '@mui/material/List' import ListItem from '@mui/material/ListItem' import ListItemButton from '@mui/material/ListItemButton' import ListItemText from '@mui/material/ListItemText' import Typography from '@mui/material/Typography' import AppWrapper from 'browser/components/AppWrapper' import React, { useEffect, useState } from 'react' import renderWhenReady from 'browser/helpers/renderWhenReady' import languageMap from 'browser/I18N/keys' import { FormattedMessage } from 'react-intl' const ProjectEditor = () => { const [logPath, setLogPath] = useState('...') const [recentProjects, setRecentProjects] = useState([]) useEffect(() => { window.sideAPI.system.getLogPath().then(setLogPath) window.sideAPI.projects.getRecent().then(setRecentProjects) }, []) const loadProject = async () => { const response = await window.sideAPI.dialogs.open() if (response.canceled) return await window.sideAPI.projects.load(response.filePaths[0]) } const newProject = async () => { await window.sideAPI.projects.new() } return ( "{logPath}" {recentProjects.map((filepath, index) => ( { window.sideAPI.projects.load(filepath).then(() => { window.sideAPI.projects.getRecent().then(setRecentProjects) }) }} > ))} ) } renderWhenReady(ProjectEditor)