This is a Multi-Platform Single Page Application (SPA) REST API Client for Desktop, created with Node.js, npm, Webpack, Babel, Eslint, Vue-cli, Vue.js, Vue-router, Vuex, Axios, JavaScript ES6+, TypeScript and Electron.js
Stars
4
Forks
4
Watchers
4
Open Issues
0
Overall repository health assessment
^0.20.0^3.6.5^2.6.11^3.2.0^3.4.0^2.33.0^2.33.0~4.5.0~4.5.0~4.5.0~4.5.0~4.5.0~4.5.0^5.0.2^9.0.0^3.1.0^6.7.2^6.2.2~3.9.3~2.0.0-rc.4^2.6.1120
commits
Refactor CurrentWeatherResponseComponent2 for putting all the data on the script and adjust style
b4a2f80View on GitHubRefactor HomeComponent2 for putting all the data on the script. Change CurrentWeatherComponent2 for putting all data at the script data property object; use v-model at the inputs instead of v-bind and ref; simplify the submit() method; add clear-fields button; add showCityPreview and showCityIdPreview for previewing inputs while typing; initialize data with store values. Adjust style and BrowserWindow dimension
b2d72c4View on GitHubRefactor AboutComponent2 for transfering all data values to the script. Change LoginComponent2 for using v-model instead of binding and ref; simplify the submit() method; add clear-fields button; add username preview when typing
f9059fbView on GitHubFix 2 more bugs: the one of not changing the route from the main process - change from the renderer process instead - and the other bug of the initial blank window at the build - by using 'hash' mode at the router instead of 'history' when building the Electron but not the Web version of this app. Update README.md
2d9fe9bView on GitHubFix win32 bug of turning difficult for the user to regain focus after alert blurs the BrowserWindow
36dfe4fView on GitHubAdd the feature of updating Electron Menu each time 'isLogged' Vuex property is changed, deactivating and activating some submenus accordingly. Update Home.vue to issue an Event call to the main process when 'isLogged' state changes, and update the background.ts file to catch and treat that event call by changing the Menu as required. Update the logout.vue to be a concrete route that redirects to the Home route after logging off
c7c6e47View on GitHubAdd input option to search using the city id instead of only the city name
657920cView on GitHubChange the logout menu action implementation to load the logout route url instead of sending the ipcMain logout message to the Home ipcRenderer, eliminating all Electron API usage needs at the Vue components, including at the Home view. Change the click event to a submit event at LoginComponent2, so that 'required' works. Add comments to the whole app. Update README.md
c8bac0aView on GitHubAdd full functionality to CurrentWeather. Add assets, components, view, route and store state (weatherInfoObj) regarding CurrentWeatherResponse. Use only Vuex and Axios instead of Electron ipcRenderer or Net ClientRequest for the REST HTTP call management. Update LoginComponent2 for reseting store state when a new login is done. Weather-info-obj-interface updated. AboutComponent2 text displacement fixed
82fb4c6View on GitHubUpdate App.vue for conditionally showing router-links according to the 'isLogged' vuex state. Update interface name to start with a capital letter, as the component files. Update README.md
f8c978eView on GitHubEliminate all unecessary semicolons ';' and comments from the project. At the LoginComponent2, add centralized state management, at the Vuex store, for setting the username and the usernameColor, for setting the city to "" (when a new user logs in) and for setting isLogged to true. Use sessionStorage for persisting that data locally, even after reload. Use mapGetters for keeping the state of the username input always synced with the store, while the user is logged. Do not require 'electron' or its submodules, as ipcRenderer, for avoiding unecessary coupling. At the HomeComponent2, use mapGetters to get username and usernameColor from the Vuex store and local methods for setting the defaults if empty value are returned. Do not require 'electron' or its submodules, as ipcRenderer, for avoiding unecessary coupling. Move the configureLogoutAction() (for the menu) to the parent Home.vue file. Do not require 'electron' or its submodules, as ipcRenderer, for avoiding unecessary coupling at this module, only at the parent if needed (for receiving the menu logout event from the electron main process). Join LoginComponent3 into LoginComponent2. Avoid unecessary Component creation. Add assets, components, view, router, router-link (nav option) and submenu to CurrentWeather. Functionality nor state at the Vuex store not yet implemented. When implementing, use Vuex and Axios instead of any electron objects. Create WeatherInfoObjInterface and import that for later use at the CurrentWeatherComponent2. Add view (only with js logic, not template or style), router and router-link (nav option) to Logout. Both the menu logout action (after directed from the Home.vue) as the logout router-link direct to the route 'logout' and from there to the Logout.vue. This view component, in turn, simply manages the reset of variables, dispatching reset to the Vuex store, and, instead of entering the logout component, uses router.push('/') to redirect to the Home vue after those states are reset at the store and the user is logged out. At Home.vue view file, require electron and get ipcRenderer for setting the listening of the logout event form the main process. When the event occurs, from the submenu clicking, direct to the Logout route at /logout path. And from there on, the flux is the same as with the nav logout router-link. Access later if it's possible to use Vuex at the main process for avoiding using ipcMain and ipcRenderer at all at the application. Update, at App.vue the router-links for CurrentWeather and Logout and eliminate the pipe bars. At the store file, set the state defaults as "" (exepct boolean ones, which should default as false) and add all getter, mutation and action methods for managing username, usernameColor, city, isLogged states, as well as to reset them to the defaults. Update, at the backgrounds.ts file: enableRemoteModule to true (for avoiding alert message at the console); configure to show devTools is not in test and if isDevelopment (not production); eliminate configureOnUserName() method declaration and call, as the Login username will be managed by the Vuex store and not more sent from Login renderer to the main and from this to the Home renderer. BUG FIXED: When having to require electron and use any of its submodules, see the bug solution comments at CurrentWeatherComponent2 for being able to require and use the Electron API from inside the components. Otherwise won't work. And import / from doesn't work as well for Electron. BUG FIXED: for avoiding "redundant navigation to current" error, follow the Logout.vue component pattern... instead of next(), at the route guard, use router.push(redirectURL) and catch this bug error for simply not showing it at the console
Add centralized state management at the Vuex store for HomeComponent2 username and usernameColor. Use sessionStorage for persisting that data locally, even after reload
473d696View on GitHubAdd asset, components and view for Login. Update router index.ts to add a link to the Login view. Update App.vue to set the nav router link to Login view. Update backgrounds.ts to add custom Menu and configure ipcMain communication with the ipcRenderer of the views Login and Home
fc25391View on GitHubAdd assets, components and views for Home and About. Update router index.ts to add links to the views. Update App.vue to set the nav router links and style. Update .eslintrc.js to ignore 2 types of checks. Update backgrounds.ts to set nodeIntegration to true - and be able to import Electron modules through 'require', at the components. Update README.md
cacd106View on GitHub20f6e1cView on GitHub