| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | <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="content" v-show="item.features.length > 0">						<div class="tile notification is-success">Features</div>						<ul>							<li v-for="li in item.features">{{li}}</li>						</ul>					</div>					<div class="content" v-show="item.changes.length > 0">						<div class="tile notification is-info">Changes</div>						<ul>							<li v-for="li in item.changes">{{li}}</li>						</ul>					</div>					<div class="content" v-show="item.fixes.length > 0">						<div class="tile notification is-danger">Bug fixes</div>						<ul>							<li v-for="li in item.fixes">{{li}}</li>						</ul>					</div>					<div class="content" v-show="item.upcoming.length > 0">						<div class="tile notification is-primary">Upcoming</div>						<ul>							<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';	export default {		components: { MainHeader, MainFooter },		methods: {			formatDate: unix => {				return moment(unix).format("DD-MM-YYYY");			},		},		data() {			return {				news: []			}		},		ready: function () {			let _this = this;			let socket = this.socket = this.$parent.socket;			socket.emit("news.index", res => {				_this.news = res.data;			});		}	}</script><style lang="scss" scoped>	.card {		margin-top: 50px;	}	.notification {		padding: 10px !important;	}</style>
 |