mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-05-24 12:29:01 +00:00
added 12 hour mode time option
This commit is contained in:
parent
4262a9a901
commit
7ea4d0e438
3 changed files with 46 additions and 14 deletions
|
|
@ -249,10 +249,11 @@ export default {
|
||||||
return file;
|
return file;
|
||||||
},
|
},
|
||||||
getDate() {
|
getDate() {
|
||||||
return friendlyDate(this.$props.date);
|
|
||||||
|
return friendlyDate(this.$props.date, this.apperance && this.apperance['12h_time'] ? '12h' : false);
|
||||||
},
|
},
|
||||||
getEditedDate() {
|
getEditedDate() {
|
||||||
return friendlyDate(this.timeEdited);
|
return friendlyDate(this.timeEdited, this.apperance && this.apperance['12h_time'] ? '12h' : false);
|
||||||
},
|
},
|
||||||
userAvatar() {
|
userAvatar() {
|
||||||
return config.domain + "/avatars/" + this.$props.avatar;
|
return config.domain + "/avatars/" + this.$props.avatar;
|
||||||
|
|
|
||||||
|
|
@ -33,15 +33,20 @@
|
||||||
Options
|
Options
|
||||||
</div>
|
</div>
|
||||||
<div class="switches">
|
<div class="switches">
|
||||||
<div
|
<div class="checkbox"
|
||||||
class="checkbox"
|
@click="toggleAppearance">
|
||||||
@click="toggleAppearance"
|
|
||||||
>
|
|
||||||
<div :class="`checkbox-box ${apperance && apperance.own_message_right && apperance.own_message_right === true ? 'selected' : '' }`" />
|
<div :class="`checkbox-box ${apperance && apperance.own_message_right && apperance.own_message_right === true ? 'selected' : '' }`" />
|
||||||
<div class="checkbox-name">
|
<div class="checkbox-name">
|
||||||
Show my messages on the right side.
|
Show my messages on the right side.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="checkbox"
|
||||||
|
@click="toggleTime">
|
||||||
|
<div :class="`checkbox-box ${apperance && apperance['12h_time'] && apperance['12h_time'] === true ? 'selected' : '' }`" />
|
||||||
|
<div class="checkbox-name">
|
||||||
|
Show time in 12 hour.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="title">
|
<div class="title">
|
||||||
|
|
@ -74,6 +79,14 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
toggleTime() {
|
||||||
|
if (!this.apperance || !this.apperance['12h_time'] || this.apperance['12h_time'] === false) {
|
||||||
|
this.$store.dispatch('settingsModule/setApperance', {"12h_time": true})
|
||||||
|
return SettingsService.setApperance("12h_time", true)
|
||||||
|
}
|
||||||
|
this.$store.dispatch('settingsModule/setApperance', {"12h_time": false})
|
||||||
|
SettingsService.setApperance("12h_time", false)
|
||||||
|
},
|
||||||
toggleAppearance() {
|
toggleAppearance() {
|
||||||
if (!this.apperance || !this.apperance.own_message_right || this.apperance.own_message_right === false) {
|
if (!this.apperance || !this.apperance.own_message_right || this.apperance.own_message_right === false) {
|
||||||
this.$store.dispatch('settingsModule/setApperance', {"own_message_right": true})
|
this.$store.dispatch('settingsModule/setApperance', {"own_message_right": true})
|
||||||
|
|
@ -93,6 +106,7 @@ export default {
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkbox {
|
.checkbox {
|
||||||
|
|
@ -106,6 +120,7 @@ export default {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkbox-box.selected {
|
.checkbox-box.selected {
|
||||||
|
|
@ -121,6 +136,8 @@ export default {
|
||||||
}
|
}
|
||||||
.checkbox-name {
|
.checkbox-name {
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-example{
|
.message-example{
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
export default (miliseconds) => {
|
export default (miliseconds, type) => {
|
||||||
let friendlyDate = "";
|
let friendlyDate = "";
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const messageDate = new Date(miliseconds);
|
const messageDate = new Date(miliseconds);
|
||||||
|
|
||||||
if (sameDay(now, messageDate)) {
|
if (sameDay(now, messageDate)) {
|
||||||
friendlyDate = `Today at ${getFullTime(messageDate)}`
|
friendlyDate = `Today at ${getFullTime(messageDate, type)}`
|
||||||
} else if (yesterDay(now, messageDate)) {
|
} else if (yesterDay(now, messageDate)) {
|
||||||
friendlyDate = `Yesterday at ${getFullTime(messageDate)}`
|
friendlyDate = `Yesterday at ${getFullTime(messageDate, type)}`
|
||||||
} else {
|
} else {
|
||||||
friendlyDate = getFullDateWithTime(messageDate)
|
friendlyDate = getFullDateWithTime(messageDate, type)
|
||||||
}
|
}
|
||||||
return friendlyDate;
|
return friendlyDate;
|
||||||
}
|
}
|
||||||
|
|
@ -24,7 +24,10 @@ function yesterDay(d1, d2) {
|
||||||
(d1.getDate() - d2.getDate()) == 1
|
(d1.getDate() - d2.getDate()) == 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFullTime(date){
|
function getFullTime(date, type){
|
||||||
|
if (type === "12h") {
|
||||||
|
return formatAMPM(date);
|
||||||
|
}
|
||||||
let finalTime = ""
|
let finalTime = ""
|
||||||
let hours = date.getHours();
|
let hours = date.getHours();
|
||||||
let minutes = date.getMinutes()
|
let minutes = date.getMinutes()
|
||||||
|
|
@ -43,11 +46,22 @@ function getFullTime(date){
|
||||||
return finalTime;
|
return finalTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFullDateWithTime(date) {
|
function getFullDateWithTime(date, type) {
|
||||||
const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
||||||
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||||
const dayName = days[date.getDay()];
|
const dayName = days[date.getDay()];
|
||||||
const monthName = months[date.getMonth()];
|
const monthName = months[date.getMonth()];
|
||||||
return `${dayName} ${date.getDate()} ${monthName} ${date.getFullYear()} at ${getFullTime(date)}`
|
return `${dayName} ${date.getDate()} ${monthName} ${date.getFullYear()} at ${getFullTime(date, type)}`
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function formatAMPM(date) {
|
||||||
|
var hours = date.getHours();
|
||||||
|
var minutes = date.getMinutes();
|
||||||
|
var ampm = hours >= 12 ? 'PM' : 'AM';
|
||||||
|
hours = hours % 12;
|
||||||
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
||||||
|
minutes = minutes < 10 ? '0'+minutes : minutes;
|
||||||
|
var strTime = hours + ':' + minutes + ' ' + ampm;
|
||||||
|
return strTime;
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue