diff --git a/app/controllers/about-controller.js b/app/controllers/about-controller.js
new file mode 100644
index 0000000..6271403
--- /dev/null
+++ b/app/controllers/about-controller.js
@@ -0,0 +1,7 @@
+let angApp = require(__dirname+'/../init')
+
+angApp.controller('AboutController', function($scope, AppStateService) {
+ $scope.closeAbout = () => {
+ AppStateService.set(AppStateService.previousState)
+ }
+});
\ No newline at end of file
diff --git a/app/controllers/default-controller.js b/app/controllers/default-controller.js
index b24b1fa..cf5cec3 100644
--- a/app/controllers/default-controller.js
+++ b/app/controllers/default-controller.js
@@ -1,7 +1,5 @@
let angApp = require(__dirname+'/../init')
-angApp.controller('DefaultController', function($scope, ChimeVerseService) {
-
- console.log('always-test')
-
+angApp.controller('DefaultController', function($scope) {
+ // Do nothing atm.
});
\ No newline at end of file
diff --git a/app/services/app-state-service.js b/app/services/app-state-service.js
index 5bb8f51..c5c8d8c 100644
--- a/app/services/app-state-service.js
+++ b/app/services/app-state-service.js
@@ -7,8 +7,10 @@ angApp.factory('AppStateService', [ '$rootScope', ($rootScope) => {
stateService.APP_STATE_LOGIN = 'login'
stateService.APP_STATE_DEFAULT = 'default'
stateService.APP_STATE_SETTINGS = 'settings'
+ stateService.APP_STATE_ABOUT = 'about'
stateService.set = (state) => {
+ stateService.previousState = stateService.state
stateService.state = state
$rootScope.$broadcast('app:state:changed', stateService.state);
}
diff --git a/app/services/system-service.js b/app/services/system-service.js
index 92e1e85..98f2af1 100644
--- a/app/services/system-service.js
+++ b/app/services/system-service.js
@@ -7,7 +7,7 @@ angApp.factory('SystemService', () => {
let systemService = {}
systemService.playAudio = () => {
- var audio = new Audio(__dirname + '/sounds/graceful.ogg')
+ var audio = new Audio(__dirname + '/../../resources/sounds/graceful.ogg')
audio.play()
}
diff --git a/app/views/about/page.html b/app/views/about/page.html
new file mode 100644
index 0000000..9f725cf
--- /dev/null
+++ b/app/views/about/page.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
About Chimeverse v.0.1.52
+
Jabber/XMPP client based on Converse.js and Electron
+
+
+
+
+
+
+
+
+
+ OK
+
+
+
Copyright © 2019-2020 Nick Denry
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ settings
+
-
-
-
-
- settings
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/modules/menu-service.js b/modules/menu-service.js
index d3a04a0..4333e8c 100644
--- a/modules/menu-service.js
+++ b/modules/menu-service.js
@@ -12,6 +12,13 @@ menuService.createMenu = () => {
const application = {
label: 'Chimeverse',
submenu: [
+ {
+ label: 'About Chimeverse',
+ click: () => {
+ let activeWindow = BrowserWindow.getFocusedWindow()
+ activeWindow.webContents.send('about-page-event');
+ }
+ },
{
label: 'Reconnect',
accelerator: 'CmdOrCtrl+R',
diff --git a/renderer.js b/renderer.js
index 31897f7..5637e89 100644
--- a/renderer.js
+++ b/renderer.js
@@ -11,6 +11,7 @@ require('./app/services/chimeverse-service')
require('./app/controllers/settings-controller')
require('./app/controllers/login-controller')
require('./app/controllers/default-controller')
+require('./app/controllers/about-controller')
const chimeversePlugin = require('./libs/converse.js/3rdparty/chimeverse-plugin')
chimeversePlugin.register()
@@ -19,16 +20,21 @@ angApp.controller('AppController', function ($scope, $timeout, ChimeVerseService
//const { remote, ipcRenderer } = require('electron')
const { ipcRenderer } = require('electron')
+ // Menu force logout event
ipcRenderer.on('force-logout-event', () => {
ChimeVerseService.logout()
let event = new CustomEvent("converse-force-logout") // Dispatch to the plugin
document.dispatchEvent(event)
//remote.getCurrentWindow().reload()
})
-
+ // Menu settings event
ipcRenderer.on('preferences-event', () => {
AppStateService.set(AppStateService.APP_STATE_SETTINGS)
})
+ // Menu about event
+ ipcRenderer.on('about-page-event', () => {
+ AppStateService.set(AppStateService.APP_STATE_ABOUT)
+ })
$scope.state = AppStateService.APP_STATE_DEFAULT
diff --git a/resources/css/_footer.css b/resources/css/_footer.css
new file mode 100644
index 0000000..78c2746
--- /dev/null
+++ b/resources/css/_footer.css
@@ -0,0 +1,15 @@
+
+ .page__footer {
+ bottom: 20px;
+ color: #777;
+ display: flex;
+ left: 50%;
+ position: absolute;
+ text-align: center;
+ transform: translate(-50%, 0%);
+ }
+
+ .footer__version {
+ font-size: 13px;
+ margin-right: 30px;
+ }
\ No newline at end of file
diff --git a/resources/css/page-about.css b/resources/css/page-about.css
new file mode 100644
index 0000000..0e69140
--- /dev/null
+++ b/resources/css/page-about.css
@@ -0,0 +1,39 @@
+.page-about {
+ color: #777;
+ left: 50%;
+ position: absolute;
+ top: 47%;
+ transform: translate(-50%, -50%);
+}
+
+.about-card {
+ background: #fff;
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
+ margin-top: 30px;
+ min-width: 400px;
+ padding: 30px;
+}
+
+.about-card__content {
+ display: flex;
+}
+
+.about__action {
+ text-align: center;
+}
+
+.about__close-button {
+ border: 0px solid #ddd;
+ background: rgb(5,93,228);
+ background: linear-gradient(0deg, rgba(5,93,228,1) 0%, rgba(76,145,255,1) 100%);
+ color: #fff;
+ cursor: pointer;
+ display: inline-block;
+ font-size: 18px;
+ outline: none;
+ padding: 10px 30px;
+ }
+
+ .about__copyright {
+ text-align: center;
+ }
\ No newline at end of file
diff --git a/resources/css/login-form.css b/resources/css/page-login.css
similarity index 85%
rename from resources/css/login-form.css
rename to resources/css/page-login.css
index 5b49bb2..a88d793 100644
--- a/resources/css/login-form.css
+++ b/resources/css/page-login.css
@@ -79,19 +79,4 @@
.login-form__credentials-message {
font-size: 14px;
text-align: center;
- }
-
- .login-form__footer {
- bottom: 20px;
- color: #777;
- display: flex;
- left: 50%;
- position: absolute;
- text-align: center;
- transform: translate(-50%, 0%);
- }
-
- .footer__version {
- font-size: 13px;
- margin-right: 30px;
}
\ No newline at end of file