]> git.immae.eu Git - github/bastienwirtz/homer.git/blobdiff - src/components/services/Generic.vue
Merge pull request #258 from mcclurec/sso-compliant-fetch-calls
[github/bastienwirtz/homer.git] / src / components / services / Generic.vue
index f19ee1830ffefca885751a861ece2f48c7aab6a7..08bd3f6bf0ab3db2f1851bcfaaf949763f49387b 100644 (file)
@@ -1,21 +1,13 @@
-<script>
-export default {};
-</script>
-
-<style></style> */
-
-<script>
-export default {};
-</script>
-
-<style></style>
-
 <template>
   <div>
-    <div class="card" :class="item.class">
+    <div
+      class="card"
+      :style="`background-color:${item.background};`"
+      :class="item.class"
+    >
       <a :href="item.url" :target="item.target" rel="noreferrer">
         <div class="card-content">
-          <div class="media">
+          <div :class="mediaClass">
             <div v-if="item.logo" class="media-left">
               <figure class="image is-48x48">
                 <img :src="item.logo" :alt="`${item.name} logo`" />
@@ -23,12 +15,14 @@ export default {};
             </div>
             <div v-if="item.icon" class="media-left">
               <figure class="image is-48x48">
-                <i style="font-size: 35px;" :class="['fa-fw', item.icon]"></i>
+                <i style="font-size: 35px" :class="['fa-fw', item.icon]"></i>
               </figure>
             </div>
             <div class="media-content">
               <p class="title is-4">{{ item.name }}</p>
-              <p class="subtitle is-6">{{ item.subtitle }}</p>
+              <p class="subtitle is-6" v-if="item.subtitle">
+                {{ item.subtitle }}
+              </p>
             </div>
           </div>
           <div class="tag" :class="item.tagstyle" v-if="item.tag">
@@ -46,11 +40,23 @@ export default {
   props: {
     item: Object,
   },
+  computed: {
+    mediaClass: function () {
+      return { media: true, "no-subtitle": !this.item.subtitle };
+    },
+  },
 };
 </script>
 
 <style scoped lang="scss">
-.media-left img {
-  max-height: 100%;
+.media-left {
+  .image {
+    display: flex;
+    align-items: center;
+  }
+
+  img {
+    max-height: 100%;
+  }
 }
 </style>