Archived
Private
Public Access
1
0

Update 07.12.2022

This commit is contained in:
2022-12-07 15:35:41 +01:00
parent 771f58073f
commit 840d7ad42f
288 changed files with 148948 additions and 4346 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -12,8 +12,6 @@
},
"dependencies": {
"babel-preset-es2017": "^6.24.1",
"node-sass": "^8.0.0",
"sass-loader": "^6.0.7",
"vue": "^2.5.16",
"vue-router": "^2.8.1",
"vue-timeago": "^3.4.4",

View File

@@ -32,4 +32,5 @@ AddEventHandler('esx_addons_gcphone:call_taxi', function(data)
y = coords.y,
z = coords.z
})
TriggerServerEvent("taxijob:server:request")
end)

View File

@@ -29,12 +29,31 @@ local currentPlaySound = false
local soundDistanceMax = 8.0
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
--====================================================================================
-- Check si le joueurs poséde un téléphone
-- Callback true or false
--====================================================================================
function hasPhone (cb)
--[[ function hasPhone (cb)
cb(true)
end ]]
function hasPhone (cb)
if (ESX == nil) then return cb(0) end
ESX.TriggerServerCallback('gcphone:getItemAmount', function(qtty)
cb(qtty > 0)
end, 'phone')
end
function ShowNoPhoneWarning ()
if (ESX == nil) then return end
ESX.ShowNotification("~r~Du besitzt kein Smartphone!")
end
--====================================================================================
-- Que faire si le joueurs veut ouvrir sont téléphone n'est qu'il en a pas ?
@@ -48,25 +67,6 @@ end
https://forum.fivem.net/t/tutorial-for-gcphone-with-call-and-job-message-other/177904
]]--
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
--[[
function hasPhone (cb)
if (ESX == nil) then return cb(0) end
ESX.TriggerServerCallback('gcphone:getItemAmount', function(qtty)
cb(qtty > 0)
end, 'phone')
end
function ShowNoPhoneWarning ()
if (ESX == nil) then return end
ESX.ShowNotification("Vous n'avez pas de ~r~téléphone~s~")
end --]]
AddEventHandler('esx:onPlayerDeath', function()
if menuIsOpen then
@@ -85,6 +85,19 @@ end)
--====================================================================================
--
--====================================================================================
RegisterKeyMapping('openPhone', 'Handy öffnen', 'keyboard', 'f1')
RegisterCommand("openPhone", function (source, args, cmd)
hasPhone(function (hasPhone)
if hasPhone == true then
TooglePhone()
else
ShowNoPhoneWarning()
end
end)
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
@@ -92,7 +105,7 @@ Citizen.CreateThread(function()
DisableControlAction(0, 288, true)
end
if takePhoto ~= true then
if IsControlJustPressed(1, Config.KeyOpenClose) then
--[[ if IsControlJustPressed(1, Config.KeyOpenClose) then
hasPhone(function (hasPhone)
if hasPhone == true then
TooglePhone()
@@ -100,7 +113,7 @@ Citizen.CreateThread(function()
ShowNoPhoneWarning()
end
end)
end
end ]]
if menuIsOpen == true then
for _, value in ipairs(KeyToucheCloseEvent) do
if IsControlJustPressed(1, value.code) then
@@ -351,6 +364,10 @@ end
--====================================================================================
function sendMessage(num, message)
TriggerServerEvent('gcPhone:sendMessage', num, message)
if num == "555-5555" then
TriggerServerEvent("taxijob:server:request")
end
end
function deleteMessage(msgId)
@@ -491,25 +508,26 @@ end
--====================================================================================
RegisterNUICallback('startCall', function (data, cb)
startCall(data.numero, data.rtcOffer, data.extraData)
cb()
startCall(data.numero, data.rtcOffer, data.extraData)
end)
RegisterNUICallback('acceptCall', function (data, cb)
acceptCall(data.infoCall, data.rtcAnswer)
cb()
acceptCall(data.infoCall, data.rtcAnswer)
end)
RegisterNUICallback('rejectCall', function (data, cb)
rejectCall(data.infoCall)
cb()
rejectCall(data.infoCall)
end)
RegisterNUICallback('ignoreCall', function (data, cb)
ignoreCall(data.infoCall)
cb()
ignoreCall(data.infoCall)
end)
RegisterNUICallback('notififyUseRTC', function (use, cb)
cb()
USE_RTC = use
if USE_RTC == true and inCall == true then
inCall = false
@@ -521,13 +539,12 @@ RegisterNUICallback('notififyUseRTC', function (use, cb)
NetworkSetTalkerProximity(2.5)
end
end
cb()
end)
RegisterNUICallback('onCandidates', function (data, cb)
TriggerServerEvent('gcPhone:candidates', data.id, data.candidates)
cb()
TriggerServerEvent('gcPhone:candidates', data.id, data.candidates)
end)
RegisterNetEvent("gcPhone:candidates")
@@ -588,52 +605,58 @@ RegisterNUICallback('getMessages', function(data, cb)
cb(json.encode(messages))
end)
RegisterNUICallback('sendMessage', function(data, cb)
cb()
if data.message == '%pos%' then
local myPos = GetEntityCoords(PlayerPedId())
data.message = 'GPS: ' .. myPos.x .. ', ' .. myPos.y
end
TriggerServerEvent('gcPhone:sendMessage', data.phoneNumber, data.message)
--TriggerServerEvent('gcPhone:sendMessage', data.phoneNumber, data.message)
sendMessage(data.phoneNumber, data.message)
end)
RegisterNUICallback('deleteMessage', function(data, cb)
deleteMessage(data.id)
cb()
deleteMessage(data.id)
end)
RegisterNUICallback('deleteMessageNumber', function (data, cb)
deleteMessageContact(data.number)
cb()
deleteMessageContact(data.number)
end)
RegisterNUICallback('deleteAllMessage', function (data, cb)
deleteAllMessage()
cb()
deleteAllMessage()
end)
RegisterNUICallback('setReadMessageNumber', function (data, cb)
setReadMessageNumber(data.number)
cb()
setReadMessageNumber(data.number)
end)
--====================================================================================
-- Event - Contacts
--====================================================================================
RegisterNUICallback('addContact', function(data, cb)
cb()
TriggerServerEvent('gcPhone:addContact', data.display, data.phoneNumber)
end)
RegisterNUICallback('updateContact', function(data, cb)
cb()
TriggerServerEvent('gcPhone:updateContact', data.id, data.display, data.phoneNumber)
end)
RegisterNUICallback('deleteContact', function(data, cb)
cb()
TriggerServerEvent('gcPhone:deleteContact', data.id)
end)
RegisterNUICallback('getContacts', function(data, cb)
cb(json.encode(contacts))
end)
RegisterNUICallback('setGPS', function(data, cb)
SetNewWaypoint(tonumber(data.x), tonumber(data.y))
cb()
SetNewWaypoint(tonumber(data.x), tonumber(data.y))
end)
-- Add security for event (leuit#0100)
RegisterNUICallback('callEvent', function(data, cb)
cb()
local eventName = data.eventName or ''
if string.match(eventName, 'gcphone') then
if string.match(eventName, 'gcphone') or string.match(eventName, 'esx_addons_gcphone') then
if data.data ~= nil then
TriggerEvent(data.eventName, data.data)
else
@@ -642,14 +665,13 @@ RegisterNUICallback('callEvent', function(data, cb)
else
print('Event not allowed')
end
cb()
end)
RegisterNUICallback('useMouse', function(um, cb)
useMouse = um
end)
RegisterNUICallback('deleteALL', function(data, cb)
TriggerServerEvent('gcPhone:deleteALL')
cb()
TriggerServerEvent('gcPhone:deleteALL')
end)
@@ -668,20 +690,20 @@ function TooglePhone()
end
end
RegisterNUICallback('faketakePhoto', function(data, cb)
cb()
menuIsOpen = false
TriggerEvent('gcPhone:setMenuStatus', false)
SendNUIMessage({show = false})
cb()
TriggerEvent('camera:open')
end)
RegisterNUICallback('closePhone', function(data, cb)
cb()
menuIsOpen = false
TriggerEvent('gcPhone:setMenuStatus', false)
SendNUIMessage({show = false})
PhonePlayOut()
SetBigmapActive(0,0)
cb()
end)
@@ -691,12 +713,12 @@ end)
---------- GESTION APPEL ---------
----------------------------------
RegisterNUICallback('appelsDeleteHistorique', function (data, cb)
appelsDeleteHistorique(data.numero)
cb()
appelsDeleteHistorique(data.numero)
end)
RegisterNUICallback('appelsDeleteAllHistorique', function (data, cb)
appelsDeleteAllHistorique(data.infoCall)
cb()
appelsDeleteAllHistorique(data.infoCall)
end)
@@ -715,8 +737,8 @@ end)
RegisterNUICallback('setIgnoreFocus', function (data, cb)
ignoreFocus = data.ignoreFocus
cb()
ignoreFocus = data.ignoreFocus
end)
RegisterNUICallback('takePhoto', function(data, cb)

View File

@@ -165,17 +165,6 @@
}
],
"apps": [
{
"name": "Twitter",
"fr_FR__name": "Twitter",
"en_US__name": "Twitter",
"de_DE__name": "Twitter",
"pl_PL__name": "Twitter",
"es_ES__name": "Twitter",
"icons": "/html/static/img/icons_app/twitter.png",
"routeName": "twitter.splash",
"inHomePage": false
},
{
"name": "Telefon",
"fr_FR__name": "Téléphone",
@@ -188,18 +177,6 @@
"routeName": "appels",
"inHomePage": true
},
{
"name": "Kontakte",
"fr_FR__name": "Contacts",
"en_US__name": "Contacts",
"cs_CZ__name": "Kontakty",
"de_DE__name": "Kontakte",
"pl_PL__name": "Kontakty",
"es_ES__name": "Contactos",
"icons": "/html/static/img/icons_app/contacts.png",
"routeName": "contacts",
"inHomePage": false
},
{
"name": "Nachrichten",
"fr_FR__name": "Messages",
@@ -213,6 +190,18 @@
"inHomePage": true,
"puceRef": "nbMessagesUnread"
},
{
"name": "Kontakte",
"fr_FR__name": "Contacts",
"en_US__name": "Contacts",
"cs_CZ__name": "Kontakty",
"de_DE__name": "Kontakte",
"pl_PL__name": "Kontakty",
"es_ES__name": "Contactos",
"icons": "/html/static/img/icons_app/contacts.png",
"routeName": "contacts",
"inHomePage": false
},
{
"name": "Einstellungen",
"fr_FR__name": "Paramètres",
@@ -225,6 +214,17 @@
"routeName": "parametre",
"inHomePage": false
},
{
"name": "Twitter",
"fr_FR__name": "Twitter",
"en_US__name": "Twitter",
"de_DE__name": "Twitter",
"pl_PL__name": "Twitter",
"es_ES__name": "Twitter",
"icons": "/html/static/img/icons_app/twitter.png",
"routeName": "twitter.splash",
"inHomePage": false
},
{
"name": "Bank",
"fr_FR__name": "Wallet",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -32,19 +32,16 @@ end
Un solution ESC basé sur la solution donnée par HalCroves
https://forum.fivem.net/t/tutorial-for-gcphone-with-call-and-job-message-other/177904
--]]
--[[
ESX.RegisterServerCallback('gcphone:getItemAmount', function(source, cb, item)
print('gcphone:getItemAmount call item : ' .. item)
ESX.RegisterServerCallback('gcphone:getItemAmount', function(source, cb, item)
local xPlayer = ESX.GetPlayerFromId(source)
local items = xPlayer.getInventoryItem(item)
local items = xPlayer.getInventoryItem(item)
if items == nil then
cb(0)
else
cb(items.count)
end
if items == nil then
cb(0)
else
cb(items.count)
end
end)
--]]
--====================================================================================
-- SIM CARDS // Thanks to AshKetchumza for the idea an some code.
@@ -227,6 +224,7 @@ function getMessages(identifier)
local result = MySQL.Sync.fetchAll("SELECT phone_messages.* FROM phone_messages LEFT JOIN users ON users.identifier = @identifier WHERE phone_messages.receiver = users.phone_number", {
['@identifier'] = identifier
})
return result
--return MySQLQueryTimeStamp("SELECT phone_messages.* FROM phone_messages LEFT JOIN users ON users.identifier = @identifier WHERE phone_messages.receiver = users.phone_number", {['@identifier'] = identifier})
end

View File

@@ -7,6 +7,7 @@
<div id="app" class="phone_screen">
<router-view></router-view>
<div class="bottom_bar" @click.stop="$router.push({name: 'home'})"></div>
</div>
</div>
</div>
@@ -15,7 +16,7 @@
<script>
import './PhoneBaseStyle.scss'
import './PhoneBaseStyle.css'
import './assets/css/font-awesome.min.css'
import { mapGetters, mapActions } from 'vuex'
export default {
@@ -93,5 +94,16 @@ export default {
}
</script>
<style lang="scss">
<style>
.bottom_bar {
position: absolute;
bottom: 5px;
left: 20%;
width: 60%;
height: 7px;
border-radius: 5px;
background-color: grey;
}
</style>

View File

@@ -1,6 +1,6 @@
<template>
<div class="phone_app">
<PhoneTitle :title="'9 GAG (' + currentSelectPost + ')'" backgroundColor="#000" @back="quit"/>
<PhoneTitle :title="'9 GAG (' + currentSelectPost + ')'" backgroundColor="#000" @back="quit"/>
<div class='phone_content' @click="onClick">
<div class="post" v-if="currentPost !== undefined">
<h1 class="post-title">{{ currentPost.title }}</h1>
@@ -90,35 +90,34 @@ export default {
}
</script>
<style scoped lang="scss">
<style scoped>
.post{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.post-title {
padding-left: 12px;
font-size: 18px;
height: 18px;
overflow: hidden;
}
.post-content{
display: flex;
width: 390px;
height: 670px;
}
.post-video, .post-image{
object-fit: contain;
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
}
.post .post-title {
padding-left: 12px;
font-size: 18px;
height: 18px;
overflow: hidden;
}
.post .post-content{
display: flex;
width: 390px;
height: 670px;
}
.post .post-video, .post-image{
object-fit: contain;
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
.loading{
height: 100%;

View File

@@ -8,7 +8,7 @@
<div
class="subMenu-elem"
:style="getColorItem(i)"
v-for="(Comp, i) of subMenu"
v-for="(Comp, i) of subMenu"
:key="i"
@click="swapMenu(i)"
>
@@ -110,14 +110,14 @@ export default {
background-color: #2c3e50;
}
.content{
height: calc(100% - 68px);
height: calc(100% - 73px);
overflow-y: auto;
width: 337px;
}
.subMenu{
border-top: 1px solid rgba(0,0,0,0.24);
display: flex;
height: 56px;
height: 70px;
}
.subMenu-elem {
height: 100%;

View File

@@ -11,24 +11,24 @@
<div class="time"></div>
<div class="time-display">{{timeDisplay}}</div>
<div class='home_buttons'>
<button style=" top: 73px; font-family:initial; margin-left: 10px; margin-right: 10px;"
v-for="(but, key) of AppsHome"
v-bind:key="but.name"
v-for="(but, key) of AppsHome"
v-bind:key="but.name"
v-bind:class="{ select: key === currentSelect}"
v-bind:style="{backgroundImage: 'url(' + but.icons +')'}"
@click="openApp(but)"
>
<!--{{but.intlName}}-->
<span class="puce" v-if="but.puce !== undefined && but.puce !== 0">{{but.puce}}</span>
</button>
<div class="btn_menu_ctn">
<button
<button
class="btn_menu"
:class="{ select: AppsHome.length === currentSelect}"
v-bind:style="{backgroundImage: 'url(' + '/html/static/img/icons_app/menu.png' +')'}"
@@ -37,7 +37,7 @@
</button>
</div>
</div>
</div>
</div>
</template>
@@ -104,11 +104,11 @@ export default {
}
</script>
<style scoped="true">
<style scoped>
.home{
background-size: cover !important;
background-position: center !important;
position: relative;
left: 0;
top: 0;
@@ -158,9 +158,9 @@ export default {
.home_buttons{
display: flex;
padding: 6px;
width: 100%;
bottom:1px;
padding: 6px;
width: 95.3%;
bottom:10px;
position: absolute;
align-items: flex-end;
flex-flow: row;
@@ -183,7 +183,7 @@ button{
font-size: 14px;
padding-top: 72px;
font-weight: 700;
text-shadow: -1px 0 0 rgba(0,0,0, 0.8),
text-shadow: -1px 0 0 rgba(0,0,0, 0.8),
1px 0 0 rgba(0,0,0, 0.8),
0 -1px 0 rgba(0,0,0, 0.8),
0 1px 0 rgba(0,0,0, 0.8);
@@ -192,7 +192,7 @@ button{
button .puce{
position: absolute;
display: block;
background-color: #EE3838;
@@ -209,7 +209,7 @@ button .puce{
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
bottom: 32px;
right: 12px;
bottom: 32px;
right: 12px;
}

View File

@@ -3,30 +3,45 @@
<div style="width: 342px;
height: 756px;" class="backblur" v-bind:style="{background: 'url(' + backgroundURL +')'}"></div>
<InfoBare class="infobare"/>
<div class="menu" @click="onBack">
<div class="menu"><!--@click="onBack"-->
<div class="menu_content">
<div class='menu_buttons'>
<button
v-for="(but, key) of Apps"
v-bind:key="but.name"
<div class='menu_buttons'>
<button
v-for="(but, key) of Apps"
v-bind:key="but.name"
v-bind:class="{ select: key === currentSelect}"
v-bind:style="{backgroundImage: 'url(' + but.icons +')'}"
@click.stop="openApp(but)"
>
<span class="letra">{{ but.intlName }}</span>
<span class="puce" v-if="but.puce !== undefined && but.puce !== 0">{{ but.puce }}</span>
</button>
</div>
<!-- <div class="menu_bottom">
<button style=" top: 73px; font-family:initial; margin-left: 10px; margin-right: 10px;"
v-for="(but, key) of AppsHome"
v-bind:key="but.name"
v-bind:class="{ select: key === currentSelect}"
v-bind:style="{backgroundImage: 'url(' + but.icons +')'}"
@click.stop="openApp(but)"
>
&lt;!&ndash;{{but.intlName}}&ndash;&gt;
<span class="puce" v-if="but.puce !== undefined && but.puce !== 0">{{ but.puce }}</span>
</button>
</div>-->
v-bind:class="{ select: key === currentSelect}"
v-bind:style="{backgroundImage: 'url(' + but.icons +')'}"
@click.stop="openApp(but)"
>
<span class="letra">{{but.intlName}}</span>
<span class="puce" v-if="but.puce !== undefined && but.puce !== 0">{{but.puce}}</span>
</button>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {mapGetters} from 'vuex'
import InfoBare from './InfoBare'
export default {
@@ -40,7 +55,7 @@ export default {
}
},
computed: {
...mapGetters(['nbMessagesUnread', 'backgroundURL', 'Apps', 'useMouse'])
...mapGetters(['nbMessagesUnread', 'backgroundURL', 'Apps', 'AppsHome', 'useMouse'])
},
methods: {
...mapGetters(['closePhone']),
@@ -76,13 +91,14 @@ export default {
this.currentSelect = newS
},
openApp (app) {
this.$router.push({ name: app.routeName })
this.$router.push({name: app.routeName})
},
onEnter () {
this.openApp(this.Apps[this.currentSelect])
},
onBack: function () {
this.$router.push({ name: 'home' })
// this.$router.push({name: 'home'})
this.$phoneAPI.closePhone()
}
},
mounted () {
@@ -111,7 +127,7 @@ export default {
</script>
<style scoped>
.menu{
.menu {
position: relative;
left: 0;
top: 0;
@@ -119,22 +135,24 @@ export default {
height: 100%;
padding: 6px 8px;
}
.backblur{
.backblur {
top: -6px;
left: -6px;
right:-6px;
right: -6px;
bottom: -6px;
position: absolute;
background-size: cover !important;
background-position: center !important;
filter: blur(6px);
/*filter: blur(6px);*/
}
.menu_content {
display: flex;
flex-direction: column;
}
.menu_buttons{
.menu_buttons {
margin-top: 24px;
display: flex;
width: 100%;
@@ -154,13 +172,18 @@ export default {
animation-duration: 0.6s;
animation-fill-mode: forwards;
}
@keyframes up {
from {transform: translateY(100vh);}
to {transform: translateY(0);}
from {
transform: translateY(100vh);
}
to {
transform: translateY(0);
}
}
button{
button {
position: relative;
margin: 0px;
border: none;
@@ -175,13 +198,14 @@ button{
font-size: 14px;
padding-top: 72px;
font-weight: 700;
text-shadow: -1px 0 0 rgba(0,0,0, 0.8),
1px 0 0 rgba(0,0,0, 0.8),
0 -1px 0 rgba(0,0,0, 0.8),
0 1px 0 rgba(0,0,0, 0.8);
text-shadow: -1px 0 0 rgba(0, 0, 0, 0.8),
1px 0 0 rgba(0, 0, 0, 0.8),
0 -1px 0 rgba(0, 0, 0, 0.8),
0 1px 0 rgba(0, 0, 0, 0.8);
text-align: center;
}
button .puce{
button .puce {
position: absolute;
display: block;
background-color: #EE3838;
@@ -189,26 +213,27 @@ button .puce{
width: 26px;
height: 26px;
top: -5px;
left: 51px;
left: 51px;
font-family: none;
line-height: 28px;
text-align: center;
border-radius: 50%;
font-weight: 400;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
font-weight: 400;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
bottom: 32px;
right: 12px;
bottom: 32px;
right: 12px;
}
button.select, button:hover{
background-color: rgba(255,255,255, 0.2);
button.select, button:hover {
background-color: rgba(255, 255, 255, 0.2);
border-radius: 12px;
}
.letra{
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica;
.letra {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica;
font-weight: 400;
font-size: 14px;
position: absolute;
@@ -216,4 +241,67 @@ button.select, button:hover{
transform: translate(-50%, -10px);
}
.menu_bottom{
display: flex;
padding: 6px;
width: 100%;
bottom:1px;
align-items: flex-end;
flex-flow: row;
flex-wrap: wrap;
margin-bottom: 3px;
justify-content: space-between;
transition: all 0.5s ease-in-out;
margin-top: 90px;
}
.menu_bottom button{
margin: 0;
border: none;
width: 80px;
height: 76px;
color: white;
background-size: 64px 64px;
background-position: center 6px;
background-repeat: no-repeat;
background-color: transparent;
font-size: 14px;
padding-top: 72px;
font-weight: 700;
text-shadow: -1px 0 0 rgba(0,0,0, 0.8),
1px 0 0 rgba(0,0,0, 0.8),
0 -1px 0 rgba(0,0,0, 0.8),
0 1px 0 rgba(0,0,0, 0.8);
text-align: center;
transform: translateY(-100%);
}
.menu_bottom button .puce{
position: absolute;
display: block;
background-color: #EE3838;
font-size: 14px;
width: 26px;
height: 26px;
top: -5px;
left: 51px;
font-family: none;
line-height: 28px;
text-align: center;
border-radius: 50%;
font-weight: 400;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
bottom: 32px;
right: 12px;
bottom: 32px;
right: 12px;
}
.menu_bottom button.select, .menu_bottom button:hover{
background-color: rgba(255,255,255, 0.2);
border-radius: 22%;
}
</style>

View File

@@ -3,7 +3,7 @@
<PhoneTitle :title="channelName" backgroundColor="#ff4500" @back="onQuit"/>
<div class="phone_content">
<div class="elements" ref="elementsDiv">
<div class="element" v-for='(elem) in tchatMessages'
<div class="element" v-for='(elem) in tchatMessages'
v-bind:key="elem.id"
>
<div class="time">{{formatTime(elem.time)}}</div>
@@ -148,7 +148,7 @@ export default {
line-height: 18px;
font-size: 18px;
padding-bottom: 6px;
flex-direction: row;
height: 60px; */
}
@@ -167,15 +167,16 @@ export default {
.tchat_write{
height: 56px;
widows: 100%;
width: 100%;
background: #dae0e6;
display: flex;
justify-content: space-around;
align-items: center;
padding-bottom: 15px;
}
.tchat_write input{
width: 75%;
margin-left: 6%;
margin-left: 1%;
border: none;
outline: none;
font-size: 16px;

View File

@@ -9,7 +9,7 @@
<textarea ref="copyTextarea" class="copyTextarea"/>
<div style="width: 326px; height: 678px; backgroundColor: white" id='sms_list' @contextmenu.prevent="showOptions">
<div style="width: 326px; height: 565px; backgroundColor: white" id='sms_list' @contextmenu.prevent="showOptions">
<div class="sms" v-bind:class="{ select: key === selectMessage}" v-for='(mess, key) in messagesList' v-bind:key="mess.id" @click.stop="onActionMessage(mess)"
>
<div class="sms_message_time">
@@ -302,7 +302,7 @@ export default {
computed: {
...mapGetters(['IntlString', 'messages', 'contacts', 'useMouse', 'enableTakePhoto']),
messagesList () {
return this.messages.filter(e => e.transmitter === this.phoneNumber).sort((a, b) => a.time - b.time)
return this.messages.filter(e => e.transmitter === this.phoneNumber && e.receiver !== this.phoneNumber).sort((a, b) => a.time - b.time)
},
displayContact () {
if (this.display !== undefined) {

View File

@@ -107,9 +107,10 @@ export default {
<style scoped>
.twitter_menu {
border-top: 1px solid #CCC;
height: 56px;
height: 60px;
display: flex;
width: 100%;
padding-bottom: 15px;
}
.twitter_menu-item {
flex-grow: 1;

View File

@@ -1,7 +1,7 @@
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
/* import Home from '@/components/Home' */
import Menu from '@/components/Menu'
import Contacts from '@/components/contacts/Contacts'
@@ -38,7 +38,8 @@ export default new Router({
{
path: '/',
name: 'home',
component: Home
/* component: Home */
component: Menu
},
{
path: '/menu',

View File

@@ -165,17 +165,6 @@
}
],
"apps": [
{
"name": "Twitter",
"fr_FR__name": "Twitter",
"en_US__name": "Twitter",
"de_DE__name": "Twitter",
"pl_PL__name": "Twitter",
"es_ES__name": "Twitter",
"icons": "/html/static/img/icons_app/twitter.png",
"routeName": "twitter.splash",
"inHomePage": false
},
{
"name": "Telefon",
"fr_FR__name": "Téléphone",
@@ -188,18 +177,6 @@
"routeName": "appels",
"inHomePage": true
},
{
"name": "Kontakte",
"fr_FR__name": "Contacts",
"en_US__name": "Contacts",
"cs_CZ__name": "Kontakty",
"de_DE__name": "Kontakte",
"pl_PL__name": "Kontakty",
"es_ES__name": "Contactos",
"icons": "/html/static/img/icons_app/contacts.png",
"routeName": "contacts",
"inHomePage": false
},
{
"name": "Nachrichten",
"fr_FR__name": "Messages",
@@ -213,6 +190,18 @@
"inHomePage": true,
"puceRef": "nbMessagesUnread"
},
{
"name": "Kontakte",
"fr_FR__name": "Contacts",
"en_US__name": "Contacts",
"cs_CZ__name": "Kontakty",
"de_DE__name": "Kontakte",
"pl_PL__name": "Kontakty",
"es_ES__name": "Contactos",
"icons": "/html/static/img/icons_app/contacts.png",
"routeName": "contacts",
"inHomePage": false
},
{
"name": "Einstellungen",
"fr_FR__name": "Paramètres",
@@ -225,6 +214,17 @@
"routeName": "parametre",
"inHomePage": false
},
{
"name": "Twitter",
"fr_FR__name": "Twitter",
"en_US__name": "Twitter",
"de_DE__name": "Twitter",
"pl_PL__name": "Twitter",
"es_ES__name": "Twitter",
"icons": "/html/static/img/icons_app/twitter.png",
"routeName": "twitter.splash",
"inHomePage": false
},
{
"name": "Bank",
"fr_FR__name": "Wallet",