ModificationMenu
This commit is contained in:
parent
a5d5526ce0
commit
5bf4a328d0
15 changed files with 189 additions and 80 deletions
|
@ -1,17 +1,12 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import ReloadPWA from './components/ReloadPWA.vue';
|
import ReloadPWA from './components/ReloadPWA.vue';
|
||||||
import NavMessage from './components/message/NavMessage.vue';
|
import NavMessage from './components/message/NavMessage.vue';
|
||||||
|
import NavContact from './components/message/NavContact.vue';
|
||||||
import {useI18n} from 'vue-i18n';
|
import {useI18n} from 'vue-i18n';
|
||||||
|
|
||||||
const {t} = useI18n({useScope: 'local'});
|
const {t} = useI18n({useScope: 'local'});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
|
||||||
export default{
|
|
||||||
components: {NavMessage}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div id="appflex">
|
<div id="appflex">
|
||||||
<div id="page">
|
<div id="page">
|
||||||
|
@ -25,10 +20,15 @@ export default{
|
||||||
</div>
|
</div>
|
||||||
<div id="sidebar" class="sidebar">
|
<div id="sidebar" class="sidebar">
|
||||||
<router-view name="Sidebar"></router-view>
|
<router-view name="Sidebar"></router-view>
|
||||||
|
|
||||||
<div id="menu">
|
<div id="menu">
|
||||||
<NavMessage/>
|
<NavMessage/>
|
||||||
<router-view name="navMessage"></router-view>
|
<router-view name="navMessage"></router-view>
|
||||||
</div>
|
|
||||||
|
<NavContact/>
|
||||||
|
<router-view name="navContact"></router-view>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<header class="navbar">
|
<header class="navbar">
|
||||||
|
@ -36,6 +36,14 @@ export default{
|
||||||
<img id="main-logo" alt="" src="./assets/logo.svg"/>
|
<img id="main-logo" alt="" src="./assets/logo.svg"/>
|
||||||
<span id="site-name">{{ t('home.apps') }}</span>
|
<span id="site-name">{{ t('home.apps') }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
|
<div class="menu">
|
||||||
|
<div class="navMessage">
|
||||||
|
<router-link to="/navMessage">💬 ✉️ {{ t('home.messages') }}</router-link>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="navContact">
|
||||||
|
<router-link to="/navContact">👤 {{ t('home.contact') }}</router-link>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="nav-menu">
|
<div class="nav-menu">
|
||||||
<details>
|
<details>
|
||||||
|
@ -46,9 +54,10 @@ export default{
|
||||||
<li><router-link to="/">{{ t('home.account') }}</router-link></li>
|
<li><router-link to="/">{{ t('home.account') }}</router-link></li>
|
||||||
<li><router-link to="/">{{ t('home.dashboard') }}</router-link></li>
|
<li><router-link to="/">{{ t('home.dashboard') }}</router-link></li>
|
||||||
<li><router-link to="/">{{ t('home.disconnect') }}</router-link></li>
|
<li><router-link to="/">{{ t('home.disconnect') }}</router-link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="links">
|
<div class="links">
|
||||||
<router-view name="Links"></router-view>
|
<router-view name="Links"></router-view>
|
||||||
|
@ -58,7 +67,8 @@ export default{
|
||||||
<option value="fr">Français</option>
|
<option value="fr">Français</option>
|
||||||
<option value="nl">Nederlands</option>
|
<option value="nl">Nederlands</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -24,39 +24,48 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#menu {
|
#menu {
|
||||||
font-size: 1.1rem;
|
padding: 10px;
|
||||||
margin: 0.5rem;
|
}
|
||||||
padding: 1rem;
|
.menu {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
.navMessage{
|
||||||
|
vertical-align: top;
|
||||||
|
float: left;
|
||||||
|
padding: 10px;
|
||||||
|
max-height: 2em;
|
||||||
|
|
||||||
summary {
|
}
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
.navContact{
|
||||||
list-style: none;
|
vertical-align: top;
|
||||||
}
|
float: left;
|
||||||
|
padding: 10px;
|
||||||
|
max-height: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-menu{
|
.nav-menu{
|
||||||
margin-left: auto;
|
vertical-align: top;
|
||||||
padding-right: 10px;
|
float: left;
|
||||||
cursor: pointer;
|
padding: 10px;
|
||||||
}
|
max-height: 2em;
|
||||||
|
|
||||||
|
details{
|
||||||
|
padding: 0 .5em;
|
||||||
|
background: #282828;
|
||||||
|
border-radius: .5em;
|
||||||
|
color: #a0bede;
|
||||||
|
|
||||||
.connect {
|
li {
|
||||||
padding: 0.5rem;
|
|
||||||
|
|
||||||
ul {
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
list-style-type: none;
|
list-style: none;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-connect {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-links {
|
.nav-links {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
11
src/components/contact/ContactsList.vue
Normal file
11
src/components/contact/ContactsList.vue
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<h1>Contacts List</h1>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
|
@ -1,3 +1,19 @@
|
||||||
/* jshint -W097 */ // don't warn about "use strict"
|
/* jshint -W097 */ // don't warn about "use strict"
|
||||||
"use strict";
|
"use strict";
|
||||||
|
/*Ne fonctionne pas */
|
||||||
|
const router = new VueRouter({
|
||||||
|
routes: [
|
||||||
|
{ path: '/navContact', component:NavContact ,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '/profile',
|
||||||
|
component: Profile
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/contactsList',
|
||||||
|
component: ContactsList
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
/* jshint -W097 */ // don't warn about "use strict"
|
/* jshint -W097 */ // don't warn about "use strict"
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
import Vuex from 'vuex';
|
||||||
|
|
||||||
|
const store = new Vuex.Store({
|
||||||
|
state: {},
|
||||||
|
mutations: {},
|
||||||
|
actions: {},
|
||||||
|
modules: {}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default store;
|
||||||
|
|
|
@ -2,17 +2,13 @@
|
||||||
<template>
|
<template>
|
||||||
<h1>Chat</h1>
|
<h1>Chat</h1>
|
||||||
|
|
||||||
<div
|
<div :class='["message", { dark }]'>
|
||||||
:class='["message", { dark }]'>
|
|
||||||
|
|
||||||
<h5>{{ user }}</h5>
|
<h5>{{ user }}</h5>
|
||||||
{{ text }}
|
{{ text }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ChatBox
|
<ChatBox class='chat-box' @submit='onSubmit'/>
|
||||||
class='chat-box'
|
|
||||||
@submit='onSubmit'
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,4 +42,4 @@ export default {
|
||||||
h5 {
|
h5 {
|
||||||
margin: 0 0 .5rem 0;
|
margin: 0 0 .5rem 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
29
src/components/message/NavContact.vue
Normal file
29
src/components/message/NavContact.vue
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<script setup>
|
||||||
|
import {useI18n} from 'vue-i18n';
|
||||||
|
|
||||||
|
const {t} = useI18n({useScope: 'local'});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><router-link to="/navContact/profile">📝 {{ t('menu.profile') }}</router-link></li>
|
||||||
|
<li><router-link to="/navContact/contactsList">🗒️ {{ t('menu.contacts list') }}</router-link></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
li {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
details {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
<i18n lang="json" locale="en" src="./locale/en.json"/>
|
||||||
|
<i18n lang="json" locale="fr" src="./locale/fr.json"/>
|
|
@ -5,28 +5,14 @@ const {t} = useI18n({useScope: 'local'});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
<span>👤 {{ t('menu.contact') }}</span>
|
|
||||||
</summary>
|
|
||||||
<ul>
|
|
||||||
<li><router-link to="/profil">📝 {{ t('menu.profile') }}</router-link></li>
|
|
||||||
<li><router-link to="">🗒️ {{ t('menu.contacts list') }}</router-link></li>
|
|
||||||
</ul>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
<ul>
|
||||||
<summary>
|
<li><router-link to="/navMessage/correspondance">📭 {{ t('menu.correspondence') }}</router-link></li>
|
||||||
<span>💬 ✉️ {{ t('menu.messages') }}</span>
|
<li><router-link to="/navMessage/chat">💬 {{ t('menu.chat') }}</router-link></li>
|
||||||
</summary>
|
<li><router-link to="/navMessage/videoConferencing">🎥 {{ t('menu.video conferencing') }}</router-link></li>
|
||||||
<ul>
|
</ul>
|
||||||
<li><router-link to="/correspondance">📭 {{ t('menu.correspondence') }}</router-link></li>
|
|
||||||
<li><router-link to="/chat">💬 {{ t('menu.chat') }}</router-link></li>
|
|
||||||
<li><router-link to="">🎥 {{ t('menu.video conferencing') }}</router-link></li>
|
|
||||||
</ul>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
@ -40,4 +26,4 @@ const {t} = useI18n({useScope: 'local'});
|
||||||
|
|
||||||
|
|
||||||
<i18n lang="json" locale="en" src="./locale/en.json"/>
|
<i18n lang="json" locale="en" src="./locale/en.json"/>
|
||||||
<i18n lang="json" locale="fr" src="./locale/fr.json"/>
|
<i18n lang="json" locale="fr" src="./locale/fr.json"/>
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
{
|
{
|
||||||
"menu": {
|
"menu": {
|
||||||
"contact": "Contact",
|
"profile": "Profile",
|
||||||
"profile": "Profil",
|
|
||||||
"contacts list": "contacts list",
|
"contacts list": "contacts list",
|
||||||
"messages": "Messages",
|
|
||||||
"correspondence": "Correspondence",
|
"correspondence": "Correspondence",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"video conferencing": "Video conferencing"
|
"video conferencing": "Video conferencing"
|
||||||
|
@ -14,4 +12,4 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
{
|
{
|
||||||
"menu": {
|
"menu": {
|
||||||
"contact": "Contact",
|
|
||||||
"profile ": "Profil",
|
"profile ": "Profil",
|
||||||
"contacts list": "Liste des contacts",
|
"contacts list": "Liste des contacts",
|
||||||
"messages": "Messages",
|
|
||||||
"correspondence": "Correspondence",
|
"correspondence": "Correspondence",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"video conferencing": "Visioconférence"
|
"video conferencing": "Visioconférence"
|
||||||
|
@ -11,8 +9,8 @@
|
||||||
|
|
||||||
"pwa": {
|
"pwa": {
|
||||||
"send": "Envoyer"
|
"send": "Envoyer"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
/* jshint -W097 */ // don't warn about "use strict"
|
/* jshint -W097 */ // don't warn about "use strict"
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
/* jshint -W097 */ // don't warn about "use strict"
|
/* jshint -W097 */ // don't warn about "use strict"
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
import Vuex from 'vuex';
|
||||||
|
|
||||||
|
const store = new Vuex.Store({
|
||||||
|
state: {},
|
||||||
|
mutations: {},
|
||||||
|
actions: {},
|
||||||
|
modules: {}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default store;
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
"connection": "Connection",
|
"connection": "Connection",
|
||||||
"account":"Account",
|
"account":"Account",
|
||||||
"dashboard": "Dashboard",
|
"dashboard": "Dashboard",
|
||||||
"disconnect": "Disconnect"
|
"disconnect": "Disconnect",
|
||||||
|
"messages": "Messages",
|
||||||
|
"contact": "Contact"
|
||||||
},
|
},
|
||||||
"pwa": {
|
"pwa": {
|
||||||
"ready": "Your applications are ready for offline.",
|
"ready": "Your applications are ready for offline.",
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
"connection": "Connexion",
|
"connection": "Connexion",
|
||||||
"account":"Compte",
|
"account":"Compte",
|
||||||
"dashboard": "Tableau de bord",
|
"dashboard": "Tableau de bord",
|
||||||
"disconnect": "Déconnexion"
|
"disconnect": "Déconnexion",
|
||||||
|
"contact": "Contact",
|
||||||
|
"messages": "Messages"
|
||||||
},
|
},
|
||||||
"pwa": {
|
"pwa": {
|
||||||
"ready": "Vous êtes prêts pour le mode hors-ligne.",
|
"ready": "Vous êtes prêts pour le mode hors-ligne.",
|
||||||
|
@ -22,5 +24,5 @@
|
||||||
"reload": "Recharger"
|
"reload": "Recharger"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,12 @@ import * as VueRouter from 'vue-router';
|
||||||
|
|
||||||
const Apps = () => import('./components/NervTNApps.vue');
|
const Apps = () => import('./components/NervTNApps.vue');
|
||||||
const Dashboard = () => import('./components/Dashboard.vue');
|
const Dashboard = () => import('./components/Dashboard.vue');
|
||||||
const Chat = () => import('./components/message/Message.vue');
|
const NavMessage = () => import('./components/message/NavMessage.vue');
|
||||||
|
const Chat = () => import('./components/message/Chat.vue');
|
||||||
const Correspondance = () => import('./components/message/Correspondance.vue');
|
const Correspondance = () => import('./components/message/Correspondance.vue');
|
||||||
const Profil = () =>import('./components/contact/Profile.vue');
|
const NavContact = () => import('./components/message/NavContact.vue');
|
||||||
|
const Profile = () => import('./components/contact/Profile.vue');
|
||||||
|
const ContactsList = () => import('./components/contact/ContactsList.vue');
|
||||||
|
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
|
@ -32,7 +35,17 @@ const routes = [
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/chat',
|
path: '/navMessage',
|
||||||
|
name: "NavMessage",
|
||||||
|
components: {
|
||||||
|
default: NavMessage,
|
||||||
|
//Links: {},
|
||||||
|
//Sidebar: {},
|
||||||
|
//ActionBar: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/navMessage/chat',
|
||||||
name: "Chat",
|
name: "Chat",
|
||||||
components: {
|
components: {
|
||||||
default: Chat,
|
default: Chat,
|
||||||
|
@ -42,7 +55,7 @@ const routes = [
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/correspondance',
|
path: '/navMessage/correspondance',
|
||||||
name: "Correspondance",
|
name: "Correspondance",
|
||||||
components: {
|
components: {
|
||||||
default: Correspondance,
|
default: Correspondance,
|
||||||
|
@ -52,10 +65,30 @@ const routes = [
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/profil',
|
path: '/navContact',
|
||||||
name: "Profil",
|
name: "NavContact",
|
||||||
components: {
|
components: {
|
||||||
default: Profil,
|
default: NavContact,
|
||||||
|
//Links: {},
|
||||||
|
//Sidebar: {},
|
||||||
|
//ActionBar: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/navContact/profile',
|
||||||
|
name: "Profile",
|
||||||
|
components: {
|
||||||
|
default: Profile,
|
||||||
|
//Links: {},
|
||||||
|
//Sidebar: {},
|
||||||
|
//ActionBar: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/navContact/contactsList',
|
||||||
|
name: "ContactsList",
|
||||||
|
components: {
|
||||||
|
default: ContactsList,
|
||||||
//Links: {},
|
//Links: {},
|
||||||
//Sidebar: {},
|
//Sidebar: {},
|
||||||
//ActionBar: {}
|
//ActionBar: {}
|
||||||
|
|
Loading…
Reference in a new issue