Skip to content
Snippets Groups Projects
SearchResults.vue 2.61 KiB
Newer Older
Ole Voldsæter's avatar
Ole Voldsæter committed
<template>
    <div class="flex-container" :class="$vuetify.breakpoint.name">
Ole Voldsæter's avatar
Ole Voldsæter committed
      <ul class="hits" v-if="results_bob.length">
        <li  class="article_container" v-for="(result, index) in results_bob" :key="index + results_hash">
          <Article  :article="result" @article-click="article_link_click">
          </Article>
        </li>
Ole Voldsæter's avatar
Ole Voldsæter committed
      <ul class="hits" v-if="results_nob.length">
        <li class="article_container" v-for="(result, index) in results_nob" :key="index + results_hash">
          <Article :article="result" @article-click="article_link_click">
          </Article>
        </li>
Ole Voldsæter's avatar
Ole Voldsæter committed
      </ul>
Ole Voldsæter's avatar
Ole Voldsæter committed
</template>

<script>
import Article from './Article.vue'
Ole Voldsæter's avatar
Ole Voldsæter committed
export default {
  name: 'SearchResults',
  props: {
    hits: Array,
    lang: String
Ole Voldsæter's avatar
Ole Voldsæter committed
  },
  computed: {
Ole Voldsæter's avatar
Ole Voldsæter committed
    results_bob: function(){
      return this.hits.filter(hit => hit.dictionary == 'bob')
Ole Voldsæter's avatar
Ole Voldsæter committed
    },
      return this.hits.filter(hit => hit.dictionary == 'nob')
      return this.hits.reduce((hash, hit) => (hash + hit.article_id) % 10000, 0)
Ole Voldsæter's avatar
Ole Voldsæter committed
    }
Ole Voldsæter's avatar
Ole Voldsæter committed
  },
  methods: {
    article_link_click: function(item) {
      this.$emit('article-click', item)
Ole Voldsæter's avatar
Ole Voldsæter committed
  }
}

</script>
<style >
Ole Voldsæter's avatar
Ole Voldsæter committed
    color: var(--v-primary-base);
    margin: 0px;
    padding: 20px 0px 20px 0px;
    margin-top:0px;
  .flex-container.xs, .flex-container.sm {
    padding: 0px !important;
Ole Voldsæter's avatar
Ole Voldsæter committed
    min-width: 50%;
  #search_results details.xs, #search_results details.sm {
    display: none;
  }

  #search_results .article_content.xs, #search_results .article_content.sm {
    position: relative;
    height: 100px;
    overflow: hidden;
  }

  #search_results .article_content.xs > section, #search_results .article_content.sm > section {
    display: none;
  }

  #search_results .article_content.xs h3, #search_results .article_content.sm h3 {
    display: none;
  }

  #search_results .article_content.xs > section.definitions, #search_results .article_content.sm > section.definitions {
    display: block;
  }

  #search_results .article_content.xs > .fade, #search_results .article_content.sm  > .fade {
    display: block;
    text-align: right;
    font-size: 20px;
    font-weight: bold;
Ole Voldsæter's avatar
Ole Voldsæter committed
    color: var(--v-primary-base);
    padding-top: 30px;
    width:100%;
    height:60px;
    position:absolute;
    left:0;
    top:40px;
    background:linear-gradient(transparent 0px, var(--v-tertiary-base));