diff --git a/src/desktop/App.vue b/src/Desktop.vue
similarity index 100%
rename from src/desktop/App.vue
rename to src/Desktop.vue
diff --git a/src/mobile/App.vue b/src/Mobile.vue
similarity index 69%
rename from src/mobile/App.vue
rename to src/Mobile.vue
index fd8522aa..71a71160 100644
--- a/src/mobile/App.vue
+++ b/src/Mobile.vue
@@ -5,7 +5,7 @@
+
+
diff --git a/src/desktop/main.js b/src/desktop-main.js
similarity index 70%
rename from src/desktop/main.js
rename to src/desktop-main.js
index d5fa58f0..c2fc5a58 100644
--- a/src/desktop/main.js
+++ b/src/desktop-main.js
@@ -1,6 +1,6 @@
import Vue from 'vue'
-import App from './App.vue'
+import App from './Desktop.vue'
new Vue({
el: '#app',
diff --git a/src/common/i18n.js b/src/lib/i18n.js
similarity index 51%
rename from src/common/i18n.js
rename to src/lib/i18n.js
index a52dda9a..c6ff9ae1 100644
--- a/src/common/i18n.js
+++ b/src/lib/i18n.js
@@ -1,74 +1,14 @@
-import en from './langs/en.js'
-import zhHans from './langs/zh_Hans.js'
+import { defaultLanguage, allLanguages } from '../locales/index.js'
-const defaultLanguage = 'en';
-
-const allLanguages = {
- 'en': {
- name: 'English',
- displayName: 'English',
- content: en
- },
- 'zh-Hans': {
- name: 'Simplified Chinese',
- displayName: '简体中文',
- aliases: ['zh-CHS', 'zh-CN', 'zh-SG'],
- content: zhHans
- }
-};
-
-const i18nOptions = {
- locale: defaultLanguage,
- fallbackLocale: defaultLanguage,
- formatFallbackMessages: true,
- messages: (function () {
- const messages = {};
-
- for (let locale in allLanguages) {
- if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
- continue;
- }
-
- const lang = allLanguages[locale];
- messages[locale] = lang.content;
- }
-
- return messages;
- })()
-};
-
-function getAllLanguages() {
+export function getAllLanguages() {
return allLanguages;
}
-function getLanguage(locale) {
+export function getLanguage(locale) {
return allLanguages[locale];
}
-function getLocaleFromLanguageAlias(alias) {
- for (let locale in allLanguages) {
- if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
- continue;
- }
-
- const lang = allLanguages[locale];
- const aliases = lang.aliases;
-
- if (!aliases || aliases.length < 1) {
- continue;
- }
-
- for (let i = 0; i < aliases.length; i++) {
- if (aliases[i] === alias) {
- return locale;
- }
- }
- }
-
- return null;
-}
-
-function getDefaultLanguage() {
+export function getDefaultLanguage() {
if (!window || !window.navigator) {
return defaultLanguage;
}
@@ -94,9 +34,47 @@ function getDefaultLanguage() {
return browserLocale;
}
-export default {
- i18nOptions,
- getAllLanguages,
- getLanguage,
- getDefaultLanguage
-};
+export function getI18nOptions() {
+ return {
+ locale: defaultLanguage,
+ fallbackLocale: defaultLanguage,
+ formatFallbackMessages: true,
+ messages: (function () {
+ const messages = {};
+
+ for (let locale in allLanguages) {
+ if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
+ continue;
+ }
+
+ const lang = allLanguages[locale];
+ messages[locale] = lang.content;
+ }
+
+ return messages;
+ })()
+ };
+}
+
+function getLocaleFromLanguageAlias(alias) {
+ for (let locale in allLanguages) {
+ if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
+ continue;
+ }
+
+ const lang = allLanguages[locale];
+ const aliases = lang.aliases;
+
+ if (!aliases || aliases.length < 1) {
+ continue;
+ }
+
+ for (let i = 0; i < aliases.length; i++) {
+ if (aliases[i] === alias) {
+ return locale;
+ }
+ }
+ }
+
+ return null;
+}
diff --git a/src/common/services.js b/src/lib/services.js
similarity index 100%
rename from src/common/services.js
rename to src/lib/services.js
diff --git a/src/common/settings.js b/src/lib/settings.js
similarity index 100%
rename from src/common/settings.js
rename to src/lib/settings.js
diff --git a/src/common/userstate.js b/src/lib/userstate.js
similarity index 100%
rename from src/common/userstate.js
rename to src/lib/userstate.js
diff --git a/src/common/langs/en.js b/src/locales/en.js
similarity index 97%
rename from src/common/langs/en.js
rename to src/locales/en.js
index cefea1f4..ab5220ef 100644
--- a/src/common/langs/en.js
+++ b/src/locales/en.js
@@ -1,7 +1,7 @@
export default {
'global': {
'app': {
- 'title': 'lab app'
+ 'title': 'lab account book'
}
},
'error': {
diff --git a/src/locales/index.js b/src/locales/index.js
new file mode 100644
index 00000000..ce09f3e3
--- /dev/null
+++ b/src/locales/index.js
@@ -0,0 +1,18 @@
+import en from './en.js'
+import zhHans from './zh_Hans.js'
+
+export const defaultLanguage = 'en';
+
+export const allLanguages = {
+ 'en': {
+ name: 'English',
+ displayName: 'English',
+ content: en
+ },
+ 'zh-Hans': {
+ name: 'Simplified Chinese',
+ displayName: '简体中文',
+ aliases: ['zh-CHS', 'zh-CN', 'zh-SG'],
+ content: zhHans
+ }
+};
diff --git a/src/common/langs/zh_Hans.js b/src/locales/zh_Hans.js
similarity index 100%
rename from src/common/langs/zh_Hans.js
rename to src/locales/zh_Hans.js
diff --git a/src/mobile/main.js b/src/mobile-main.js
similarity index 50%
rename from src/mobile/main.js
rename to src/mobile-main.js
index 348516a0..11477f47 100644
--- a/src/mobile/main.js
+++ b/src/mobile-main.js
@@ -7,32 +7,38 @@ import Framework7Vue from 'framework7-vue/framework7-vue.esm.bundle.js';
import 'framework7/css/framework7.bundle.css';
import 'framework7-icons';
-import './assets/css/custom.css';
-
-import i18n from '../common/i18n.js';
-import settings from '../common/settings.js';
-import App from './App.vue';
+import { getAllLanguages, getLanguage, getDefaultLanguage, getI18nOptions } from './lib/i18n.js';
+import settings from './lib/settings.js';
+import services from './lib/services.js';
+import userstate from './lib/userstate.js';
+import App from './Mobile.vue';
Vue.use(VueI18n);
Framework7.use(Framework7Vue);
-const i18nInstance = new VueI18n(i18n.i18nOptions);
+const i18n = new VueI18n(getI18nOptions());
+Vue.prototype.$settings = settings;
+Vue.prototype.$getDefaultLanguage = getDefaultLanguage;
+Vue.prototype.$getAllLanguages = getAllLanguages;
+Vue.prototype.$getLanguage = getLanguage;
Vue.prototype.$setLanguage = function (locale) {
if (settings.getLanguage() !== locale) {
settings.setLanguage(locale);
}
- i18nInstance.locale = locale;
+ i18n.locale = locale;
axios.defaults.headers.common['Accept-Language'] = locale;
document.querySelector('html').setAttribute('lang', locale);
return locale;
}
+Vue.prototype.$services = services;
+Vue.prototype.$user = userstate;
-Vue.prototype.$setLanguage(settings.getLanguage() || i18n.getDefaultLanguage());
+Vue.prototype.$setLanguage(settings.getLanguage() || getDefaultLanguage());
new Vue({
el: '#app',
- i18n: i18nInstance,
+ i18n: i18n,
render: h => h(App),
});
diff --git a/src/mobile/assets/css/custom.css b/src/mobile/assets/css/custom.css
deleted file mode 100644
index abc14d4e..00000000
--- a/src/mobile/assets/css/custom.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.lab-toolbar-link-with-icon i+span {
- font-size: 11px;
- margin-top: 3px;
- margin-left: 0;
-}
diff --git a/src/desktop/public/index.html b/src/public/desktop.html
similarity index 100%
rename from src/desktop/public/index.html
rename to src/public/desktop.html
diff --git a/src/mobile/public/index.html b/src/public/mobile.html
similarity index 100%
rename from src/mobile/public/index.html
rename to src/public/mobile.html
diff --git a/src/mobile/router.js b/src/router/mobile.js
similarity index 74%
rename from src/mobile/router.js
rename to src/router/mobile.js
index 0a6a5bda..17c06fa7 100644
--- a/src/mobile/router.js
+++ b/src/router/mobile.js
@@ -1,10 +1,10 @@
-import userState from "../common/userstate.js";
+import userState from "../lib/userstate.js";
-import MainPage from './components/Main.vue';
-import MainPageHomeTab from './components/main/Home.vue';
+import MainPage from '../views/mobile/Main.vue';
+import MainPageHomeTab from '../views/mobile/main/Home.vue';
-import LoginPage from './components/Login.vue';
-import SettingsPage from './components/Settings.vue';
+import LoginPage from '../views/mobile/Login.vue';
+import SettingsPage from '../views/mobile/Settings.vue';
function checkLogin(to, from, resolve, reject) {
const router = this;
diff --git a/src/mobile/components/Login.vue b/src/views/mobile/Login.vue
similarity index 86%
rename from src/mobile/components/Login.vue
rename to src/views/mobile/Login.vue
index 9b487cf1..5794e510 100644
--- a/src/mobile/components/Login.vue
+++ b/src/views/mobile/Login.vue
@@ -5,8 +5,6 @@
- {{ $t('Log In') }}
+ {{ $t('Log In') }}
{{ $t('Create an account') }}
@@ -49,25 +45,26 @@
+
+
diff --git a/src/mobile/components/Settings.vue b/src/views/mobile/Settings.vue
similarity index 70%
rename from src/mobile/components/Settings.vue
rename to src/views/mobile/Settings.vue
index 7cf39f79..6d0adc7a 100644
--- a/src/mobile/components/Settings.vue
+++ b/src/views/mobile/Settings.vue
@@ -8,15 +8,12 @@