librerouterorg / soporteremoto-dashboard Goto Github PK
View Code? Open in Web Editor NEWRemote and community soport dashboard for LibreRouter and LibreMesh networks
License: GNU Affero General Public License v3.0
Remote and community soport dashboard for LibreRouter and LibreMesh networks
License: GNU Affero General Public License v3.0
Node name isn't showing anywhere right now. Add it at IssueSmallResume and IssuePage since it is a valuable reference for all comunity members.
Add an avatar input at registration form.
LastIssuesPanel shows a list with open and closed reports.
Make the component take the reports from the reports API.
Also, implement navigation to a report detail page when clicking on it.
Implement the api for nodes. It should have a method called list() which takes no parameters and return the list of nodes retrieved from the backend as strings. Example: ['ql-roxa', 'ql-nicogesia']. By the moment it should be enough to return all the nodes in the same mesh network where the backend lives.
When asking for the list of reports, the server is including logs of status change too.
This breaks formatReports and the view of reports listing.
It should be simple to install a remote support service on a raspberrypi type device, either by a bash script or by an image already generated.
After submitting a new report at NewReportWizard, we wait for reports.create to resolve and navigate back to LastIssuesPanel where the list of reports is fetched from the api, expecting our report to be in the list, but it isn't.
Right know we are workarounding it with a setTimeout.
Implement the api endpoint getDefaultNode which returns the mesh node from where the user is connected to the dashboard if there is any or null otherwise. The node should be a string, like 'ql-roxa'
Add an edit account page and a link to it at navbar.
Change the actual createAccount api method to return a promise resolving to the actual returned value.
Add the current account to a general app context and update that context from account login/registration/edition
Include an input field at the creation of a report and use it as the title for IssueSmallResume and IssuePage components.
The actual contract is:
interface Report {
timestamp: number,
user: string,
status: string,
node: string,
commonIssueId: string, // los Id de commonIssues están hardcodeados en la webapp,
title: string,
body: string,
comments: Array(string), // Array de ids de comentarios.
}
Currently the scroll has effect on the whole web and should only be performed within the lists of issues or comments.
LastIssuePage is the component showing the detail of an issue (aka, report). Implement the integration with the API so that the component takes the issueId from the propery:
props.location.state.issueId
and ask the API for the issue's data.
Also, integrate the rendering of the comments with the comments api.
Go through all the components and decide wether or not each of them should have an offline behaviour. If so, implement that behaviour.
In the actual behaviour, the api method account.recover allways return credentials (keys) for the words (seedPhrase) passed as argument.
It is necessary to know when the given seed phrase is actually associated with an account or not.
Ask the user if she is sure about having typed the seed phrase correctly, when there is no data about the recovered identity. If the answer is yer, continue to home. Otherwise let her type again.
@germanferrero wanted to try the progress and this is what I got:
Can you help me sort it out?
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ nvm use v8.10.0
Now using node v8.10.0 (npm v5.6.0)
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ yarn run storybook
yarn run v1.16.0
error Command "storybook" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ ls
config-overrides.js node_modules package.json public README.md src yarn.lock
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ yarn run
yarn run v1.16.0
info Commands available from binary scripts: acorn, ansi-html, atob, autoprefixer, babylon, browserslist, build-storybook, css-blank-pseudo, css-has-pseudo, css-prefers-color-scheme, cssesc, detect, detect-port, errno, escodegen, esgenerate, eslint, esparse, esvalidate, handlebars, he, html-minifier, import-local-fixture, is-ci, jest, jest-runtime, js-yaml, jsesc, json5, loose-envify, marked, miller-rabin, mime, mkdirp, multicast-dns, parser, react-app-rewired, react-docgen, react-scripts, regexp-tree, regjsparser, rimraf, sane, semver, sha.js, shjs, sshpk-conv, sshpk-sign, sshpk-verify, start-storybook, storybook-server, svgo, terser, uglifyjs, uuid, watch, webpack, webpack-dev-server, which
info Project commands
- build
react-app-rewired build
- eject
react-scripts eject
- start
react-app-rewired start
- test
react-app-rewired test
question Which command would you like to run?: start-sorybook
error Command "start-sorybook" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ yarn run start-storybook
yarn run v1.16.0
$ /home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/.bin/start-storybook
info @storybook/react v5.1.9
info
info => Loading presets
info => Loading presets
WARN Broken build, fix the error below.
WARN You may need to refresh the browser.
ERR! Error: => Create a storybook config file in "./.storybook/config.{ext}".
ERR! at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)
ERR! at <anonymous>
ERR! at process._tickCallback (internal/process/next_tick.js:188:7)
ERR! at Function.Module.runMain (module.js:695:11)
ERR! at startup (bootstrap_node.js:188:16)
ERR! at bootstrap_node.js:609:3
ERR! { Error: => Create a storybook config file in "./.storybook/config.{ext}".
ERR! at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)
ERR! at <anonymous>
ERR! at process._tickCallback (internal/process/next_tick.js:188:7)
ERR! at Function.Module.runMain (module.js:695:11)
ERR! at startup (bootstrap_node.js:188:16)
ERR! at bootstrap_node.js:609:3
ERR! stack: 'Error: => Create a storybook config file in "./.storybook/config.{ext}".\n at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)\n at <anonymous>\n at process._tickCallback (internal/process/next_tick.js:188:7)\n at Function.Module.runMain (module.js:695:11)\n at startup (bootstrap_node.js:188:16)\n at bootstrap_node.js:609:3' }
Done in 7.44s.
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$ yarn run storybook-server
yarn run v1.16.0
$ /home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/.bin/storybook-server
info @storybook/react v5.1.9
info
info => Loading presets
info => Loading presets
WARN Broken build, fix the error below.
WARN You may need to refresh the browser.
ERR! Error: => Create a storybook config file in "./.storybook/config.{ext}".
ERR! at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)
ERR! at <anonymous>
ERR! at process._tickCallback (internal/process/next_tick.js:188:7)
ERR! at Function.Module.runMain (module.js:695:11)
ERR! at startup (bootstrap_node.js:188:16)
ERR! at bootstrap_node.js:609:3
ERR! { Error: => Create a storybook config file in "./.storybook/config.{ext}".
ERR! at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)
ERR! at <anonymous>
ERR! at process._tickCallback (internal/process/next_tick.js:188:7)
ERR! at Function.Module.runMain (module.js:695:11)
ERR! at startup (bootstrap_node.js:188:16)
ERR! at bootstrap_node.js:609:3
ERR! stack: 'Error: => Create a storybook config file in "./.storybook/config.{ext}".\n at createPreviewEntry (/home/nico/tmp/librerouterorg/soporteremoto-dashboard/web-app/node_modules/@storybook/core/dist/server/preview/entries.js:21:11)\n at <anonymous>\n at process._tickCallback (internal/process/next_tick.js:188:7)\n at Function.Module.runMain (module.js:695:11)\n at startup (bootstrap_node.js:188:16)\n at bootstrap_node.js:609:3' }
Done in 6.64s.
nico@ingorian:~/tmp/librerouterorg/soporteremoto-dashboard/web-app$
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.