32 lines
622 B
Vue
32 lines
622 B
Vue
<template>
|
|
<SvgIcon :local-icon="localIcon" />
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { computed } from "vue";
|
|
|
|
const props = defineProps({
|
|
email: String
|
|
});
|
|
|
|
const localIcon = computed(() => {
|
|
const emailType = props.email?.split("@")[1] || "";
|
|
switch (emailType) {
|
|
case "163.com":
|
|
return "email-163";
|
|
case "126.com":
|
|
return "email-126";
|
|
case "qq.com":
|
|
return "email-qq";
|
|
case "gmail.com":
|
|
return "email-gmail";
|
|
case "outlook.com":
|
|
return "email-outlook";
|
|
case "sina.com":
|
|
return "email-sina";
|
|
default:
|
|
return "email";
|
|
}
|
|
});
|
|
</script>
|