summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src
AgeCommit message (Collapse)Author
2021-05-17ui: Simplify projects pageFabian Mastenbroek
This change simplifies the logic and components of the projects page and reduces its dependency on Redux for simple operations.
2021-05-17ui: Address technical dept in frontendFabian Mastenbroek
2021-05-17ui: Migrate from CRA to Next.jsFabian Mastenbroek
This change updates the web frontend to use Next.js instead of Create React App (CRA). Next.js enables the possibility of rendering pages on the server side (which reduces the time to first frame) and overall provides a better development experience. Future commits will try to futher optimize the implementation for Next.js.
2021-05-12ui: Ensure Redux logger is last in middleware chainFabian Mastenbroek
This change updates the Redux store initialization to ensure that the Redux logger is last in the middleware change. If we do not do this, Redux Logger might log thunds and promises, but not actual actions. See https://github.com/LogRocket/redux-logger/issues/20
2021-05-12ui: Move communication to REST APIFabian Mastenbroek
This change removes the socket.io websocket connection/client in favour of the OpenDC REST API. The socket.io websocket implementation was intended to be used for interactive and collaborative datacenter design and exploration. However, we do not support this functionality at the moment (collaborative design and exploration) and having the entire API run over this websocket connection is fragile and not standard practice. To improve maintainability, we therefore remove the websocket implementation in favour of the OpenDC REST API implementation using the fetch API. If we want to implement collaboration in the future, we will develop appropriate extensions in conjuction with the existing REST API. For this, we should look for standard and existing implementation of this functionality.
2021-05-12ui: Move component styling into CSS modulesFabian Mastenbroek
This change updates the frontend codebase by moving the component styling into CSS module files as opposed to the global styles which we used before. In addition, I have changed the syntax to the newer SCSS syntax, which is more similar to CSS. These changes reduces the styling conflicts that can occur between components and allows us to migrate to systems that do not support importing global styles in components. Moreover, we can benefit from treeshaking using CSS modules.
2021-05-10ui: Update React dependenciesFabian Mastenbroek
This change updates the React dependencies to version 17, in order to keep up to date with React.
2021-05-10ui: Adapt home components to ReactstrapFabian Mastenbroek
2021-05-10ui: Fix undefined project in NewScenarioModalFabian Mastenbroek
2021-05-10ui: Do not prevent default on mouse scrollFabian Mastenbroek
This change removes the prevent default from the mouse scroll since Chrome does not allow it anymore.
2021-05-10ui: Do not clutter component tree with Redux connectsFabian Mastenbroek
This change refactors the frontend to use hooks for obtaining state within the Redux store as opposed to using Higher-Order Components (HOCs). This eliminates a lot of clutter in the components.
2021-05-09ui: Remove unnecessary print statementFabian Mastenbroek
2021-05-09ui: Update runtime variable workaroundFabian Mastenbroek
This change updates the workaround used to access runtime variables in the React frontend, in order to improve the ergonimics when using the development mode of CRA (Create React App).
2021-05-09ui: Include figure on OpenDC 2.0 architectureFabian Mastenbroek
2021-05-09ui: Link to OpenDC 2.0 paperFabian Mastenbroek
2021-05-09ui: Update screenshots of OpenDC user-interfaceFabian Mastenbroek
2021-05-09ui: Actualize team sectionFabian Mastenbroek
2021-05-08ui: Update disclaimer in footerFabian Mastenbroek
2021-05-05build: Support runtime variables in frontend Docker imageFabian Mastenbroek
This change adds support for dynamically specifying various variables for the frontend Docker image through environmental variables. Previously, these were embedded directly into the source code, which requires rebuilding the entire image to change these variables.
2021-04-25build: Migrate to flat project structureFabian Mastenbroek
This change updates the project structure to become flattened. Previously, the simulator, frontend and API each lived into their own directory. With this change, all modules of the project live in the top-level directory of the repository. This should improve discoverability of modules of the project.