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>
|