juggl/frontend/src/components/base/BaseLogo.vue

77 lines
1.4 KiB
Vue
Raw Normal View History

2020-12-20 17:27:26 +01:00
<template>
<div>
<b-link to="/">
2021-11-23 15:12:53 +01:00
<b-img :src="image" alt="Juggl" :width="widthSize" :center="center" />
2020-12-20 17:27:26 +01:00
</b-link>
</div>
</template>
<script>
2021-11-23 15:12:53 +01:00
import logo from "./../../assets/logo.png";
import title from "./../../assets/title.png";
2020-12-20 17:27:26 +01:00
export default {
name: "BaseLogo",
props: {
size: {
default: "small",
type: String
},
center: {
default: false,
type: Boolean
2021-11-23 15:12:53 +01:00
},
iconOnly: {
default: false,
type: Boolean
2020-12-20 17:27:26 +01:00
}
},
computed: {
2021-01-01 16:35:35 +01:00
widthSize: function() {
2021-11-23 15:12:53 +01:00
let titleSizes = {
2020-12-20 17:27:26 +01:00
mini: "35px",
tiny: "80px",
smaller: "110px",
small: "150px",
2021-01-01 16:35:35 +01:00
normal: "175px",
2020-12-20 17:27:26 +01:00
medium: "300px",
large: "450px",
big: "600px",
huge: "800px",
massive: "960px"
};
2021-11-23 15:12:53 +01:00
let logoSizes = {
mini: "12px",
tiny: "30px",
smaller: "50px",
small: "65px",
normal: "80x",
medium: "100px",
large: "150px",
big: "200px",
huge: "300px",
massive: "400px"
};
var sizes = titleSizes;
if (this.iconOnly) {
sizes = logoSizes;
}
2020-12-20 17:27:26 +01:00
let targetSize = sizes[this.size];
if (targetSize === undefined) return sizes["small"];
else return targetSize;
2021-11-23 15:12:53 +01:00
},
image: function() {
if (this.iconOnly) {
return logo;
} else {
return title;
}
2020-12-20 17:27:26 +01:00
}
}
};
</script>
<style />