|  | 
|  | 1 | +<script setup lang="ts"> | 
|  | 2 | +export interface Props { | 
|  | 3 | +  gradientStart?: string; | 
|  | 4 | +  gradientStop?: string; | 
|  | 5 | +  title?: string, | 
|  | 6 | +} | 
|  | 7 | +
 | 
|  | 8 | +withDefaults(defineProps<Props>(), { | 
|  | 9 | +  gradientStart: '#e32929', | 
|  | 10 | +  gradientStop: '#ff8d30', | 
|  | 11 | +  title: 'Loading', | 
|  | 12 | +}); | 
|  | 13 | +</script> | 
|  | 14 | + | 
|  | 15 | +<template> | 
|  | 16 | +  <svg | 
|  | 17 | +    xmlns="http://www.w3.org/2000/svg" | 
|  | 18 | +    xmlns:xlink="http://www.w3.org/1999/xlink" | 
|  | 19 | +    viewBox="0 0 133.52 76.97" | 
|  | 20 | +    :class="`unraid_mark`" | 
|  | 21 | +    role="img" | 
|  | 22 | +  > | 
|  | 23 | +    <title>{{ title }}</title> | 
|  | 24 | +    <desc>Unraid logo animating with a wave like effect</desc> | 
|  | 25 | +    <defs> | 
|  | 26 | +      <linearGradient | 
|  | 27 | +        id="unraidLoadingGradient" | 
|  | 28 | +        x1="23.76" | 
|  | 29 | +        y1="81.49" | 
|  | 30 | +        x2="109.76" | 
|  | 31 | +        y2="-4.51" | 
|  | 32 | +        gradientUnits="userSpaceOnUse" | 
|  | 33 | +      > | 
|  | 34 | +        <stop offset="0" :stop-color="gradientStart" /> | 
|  | 35 | +        <stop offset="1" :stop-color="gradientStop" /> | 
|  | 36 | +      </linearGradient> | 
|  | 37 | +    </defs> | 
|  | 38 | +    <path | 
|  | 39 | +      d="m70,19.24zm57,0l6.54,0l0,38.49l-6.54,0l0,-38.49z" | 
|  | 40 | +      fill="url(#unraidLoadingGradient)" | 
|  | 41 | +      class="unraid_mark_9" | 
|  | 42 | +    /> | 
|  | 43 | +    <path | 
|  | 44 | +      d="m70,19.24zm47.65,11.9l-6.55,0l0,-23.79l6.55,0l0,23.79z" | 
|  | 45 | +      fill="url(#unraidLoadingGradient)" | 
|  | 46 | +      class="unraid_mark_8" | 
|  | 47 | +    /> | 
|  | 48 | +    <path | 
|  | 49 | +      d="m70,19.24zm31.77,-4.54l-6.54,0l0,-14.7l6.54,0l0,14.7z" | 
|  | 50 | +      fill="url(#unraidLoadingGradient)" | 
|  | 51 | +      class="unraid_mark_7" | 
|  | 52 | +    /> | 
|  | 53 | +    <path | 
|  | 54 | +      d="m70,19.24zm15.9,11.9l-6.54,0l0,-23.79l6.54,0l0,23.79z" | 
|  | 55 | +      fill="url(#unraidLoadingGradient)" | 
|  | 56 | +      class="unraid_mark_6" | 
|  | 57 | +    /> | 
|  | 58 | +    <path | 
|  | 59 | +      d="m63.49,19.24l6.51,0l0,38.49l-6.51,0l0,-38.49z" | 
|  | 60 | +      fill="url(#unraidLoadingGradient)" | 
|  | 61 | +      class="unraid_mark_5" | 
|  | 62 | +    /> | 
|  | 63 | +    <path | 
|  | 64 | +      d="m70,19.24zm-22.38,26.6l6.54,0l0,23.78l-6.54,0l0,-23.78z" | 
|  | 65 | +      fill="url(#unraidLoadingGradient)" | 
|  | 66 | +      class="unraid_mark_4" | 
|  | 67 | +    /> | 
|  | 68 | +    <path | 
|  | 69 | +      d="m70,19.24zm-38.26,43.03l6.55,0l0,14.73l-6.55,0l0,-14.73z" | 
|  | 70 | +      fill="url(#unraidLoadingGradient)" | 
|  | 71 | +      class="unraid_mark_3" | 
|  | 72 | +    /> | 
|  | 73 | +    <path | 
|  | 74 | +      d="m70,19.24zm-54.13,26.6l6.54,0l0,23.78l-6.54,0l0,-23.78z" | 
|  | 75 | +      fill="url(#unraidLoadingGradient)" | 
|  | 76 | +      class="unraid_mark_2" | 
|  | 77 | +    /> | 
|  | 78 | +    <path | 
|  | 79 | +      d="m70,19.24zm-63.46,38.49l-6.54,0l0,-38.49l6.54,0l0,38.49z" | 
|  | 80 | +      fill="url(#unraidLoadingGradient)" | 
|  | 81 | +      class="unraid_mark_1" | 
|  | 82 | +    /> | 
|  | 83 | +  </svg> | 
|  | 84 | +</template> | 
|  | 85 | + | 
|  | 86 | +<style lang="postcss"> | 
|  | 87 | +.unraid_mark_2, | 
|  | 88 | +.unraid_mark_4 { | 
|  | 89 | +  animation: mark_2 1.5s ease infinite; | 
|  | 90 | +} | 
|  | 91 | +.unraid_mark_3 { | 
|  | 92 | +  animation: mark_3 1.5s ease infinite; | 
|  | 93 | +} | 
|  | 94 | +.unraid_mark_6, | 
|  | 95 | +.unraid_mark_8 { | 
|  | 96 | +  animation: mark_6 1.5s ease infinite; | 
|  | 97 | +} | 
|  | 98 | +.unraid_mark_7 { | 
|  | 99 | +  animation: mark_7 1.5s ease infinite; | 
|  | 100 | +} | 
|  | 101 | +
 | 
|  | 102 | +@keyframes mark_2 { | 
|  | 103 | +  50% { | 
|  | 104 | +    transform: translateY(-40px); | 
|  | 105 | +  } | 
|  | 106 | +  100% { | 
|  | 107 | +    transform: translateY(0); | 
|  | 108 | +  } | 
|  | 109 | +} | 
|  | 110 | +@keyframes mark_3 { | 
|  | 111 | +  50% { | 
|  | 112 | +    transform: translateY(-62px); | 
|  | 113 | +  } | 
|  | 114 | +  100% { | 
|  | 115 | +    transform: translateY(0); | 
|  | 116 | +  } | 
|  | 117 | +} | 
|  | 118 | +@keyframes mark_6 { | 
|  | 119 | +  50% { | 
|  | 120 | +    transform: translateY(40px); | 
|  | 121 | +  } | 
|  | 122 | +  100% { | 
|  | 123 | +    transform: translateY(0); | 
|  | 124 | +  } | 
|  | 125 | +} | 
|  | 126 | +@keyframes mark_7 { | 
|  | 127 | +  50% { | 
|  | 128 | +    transform: translateY(62px); | 
|  | 129 | +  } | 
|  | 130 | +  100% { | 
|  | 131 | +    transform: translateY(0); | 
|  | 132 | +  } | 
|  | 133 | +} | 
|  | 134 | +</style> | 
0 commit comments