| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- <template>
 
- 	<div class='app'>
 
- 		<main-header></main-header>
 
- 		<div class='container'>
 
- 			<div class='card is-fullwidth' v-for='item in news'>
 
- 				<header class='card-header'>
 
- 					<p class='card-header-title'>
 
- 						{{ item.title }} - {{ formatDate(item.createdAt) }}
 
- 					</p>
 
- 				</header>
 
- 				<div class='card-content'>
 
- 					<div class='content'>
 
- 						<p>{{ item.description }}</p>
 
- 					</div>
 
- 					<div class='sect' v-show='item.features.length > 0'>
 
- 						<div class='sect-head-features'>The features are so great</div>
 
- 						<ul class='sect-body'>
 
- 							<li v-for='li in item.features'>{{ li }}</li>
 
- 						</ul>
 
- 					</div>
 
- 					<div class='sect' v-show='item.improvements.length > 0'>
 
- 						<div class='sect-head-improvements'>Improvements</div>
 
- 						<ul class='sect-body'>
 
- 							<li v-for='li in item.improvements'>{{ li }}</li>
 
- 						</ul>
 
- 					</div>
 
- 					<div class='sect' v-show='item.bugs.length > 0'>
 
- 						<div class='sect-head-bugs'>Bugs Smashed</div>
 
- 						<ul class='sect-body'>
 
- 							<li v-for='li in item.bugs'>{{ li }}</li>
 
- 						</ul>
 
- 					</div>
 
- 					<div class='sect' v-show='item.upcoming.length > 0'>
 
- 						<div class='sect-head-upcoming'>Coming Soon to a Musare near you</div>
 
- 						<ul class='sect-body'>
 
- 							<li v-for='li in item.upcoming'>{{ li }}</li>
 
- 						</ul>
 
- 					</div>
 
- 				</div>
 
- 			</div>
 
- 		</div>
 
- 		<main-footer></main-footer>
 
- 	</div>
 
- </template>
 
- <script>
 
- 	import MainHeader from '../MainHeader.vue';
 
- 	import MainFooter from '../MainFooter.vue';
 
- 	import io from '../../io';
 
- 	export default {
 
- 		components: { MainHeader, MainFooter },
 
- 		methods: {
 
- 			formatDate: unix => {
 
- 				return moment(unix).format('DD-MM-YYYY');
 
- 			}
 
- 		},
 
- 		data() {
 
- 			return {
 
- 				news: []
 
- 			}
 
- 		},
 
- 		ready: function () {
 
- 			let _this = this;
 
- 			io.getSocket((socket) => {
 
- 				_this.socket = socket;
 
- 				_this.socket.emit('news.index', res => {
 
- 					_this.news = res.data;
 
- 				});
 
- 				_this.socket.on('event:admin.news.created', news => {
 
- 					_this.news.unshift(news);
 
- 				});
 
- 				_this.socket.on('event:admin.news.updated', news => {
 
- 					for (let n = 0; n < _this.news.length; n++) {
 
- 						if (_this.news[n]._id === news._id) {
 
- 							_this.news.$set(n, news);
 
- 						}
 
- 					}
 
- 				});
 
- 				_this.socket.on('event:admin.news.removed', news => {
 
- 					_this.news = _this.news.filter(item => item._id !== news._id);
 
- 				});
 
- 			});
 
- 		}
 
- 	}
 
- </script>
 
- <style lang='scss' scoped>
 
- 	.card { margin-top: 50px; }
 
- 	.sect {
 
- 		div[class^='sect-head'], div[class*=' sect-head']{
 
- 			padding: 12px;
 
- 			text-transform: uppercase;
 
- 			font-weight: bold;
 
- 			color: #fff;
 
- 		}
 
- 		.sect-head-features { background-color: dodgerblue; }
 
- 		.sect-head-improvements { background-color: seagreen; }
 
- 		.sect-head-bugs { background-color: brown; }
 
- 		.sect-head-upcoming { background-color: mediumpurple; }
 
- 		.sect-body {
 
- 			padding: 15px 25px;
 
- 			li { list-style-type: disc; }
 
- 		}
 
- 	}
 
- </style>
 
 
  |