mirror of
				https://github.com/Instadapp/assembly.git
				synced 2024-07-29 22:37:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <div
 | |
|     v-if="queue.length"
 | |
|     class="fixed bottom-0 right-0 w-full px-2 pt-8 overflow-hidden sm:max-w-sm max-h-80"
 | |
|     style="z-index: 99999999999"
 | |
|   >
 | |
|     <transition-group
 | |
|       appear
 | |
|       enter-active-class="slideInUp"
 | |
|       leave-active-class="fadeOutRight"
 | |
|       tag="div"
 | |
|       class="flex flex-col w-full px-2 pb-4 space-y-4 overflow-y-auto max-h-72 scrollbar-hover"
 | |
|     >
 | |
|       <Notification
 | |
|         v-for="item in queue"
 | |
|         :key="item.key"
 | |
|         v-bind="item"
 | |
|         class="mr-2"
 | |
|         @dismiss="close(item.key)"
 | |
|       />
 | |
|     </transition-group>
 | |
|     <button
 | |
|       v-if="queue.length > 1"
 | |
|       color="white"
 | |
|       class="absolute flex items-center px-2 py-1 font-medium leading-none bg-white border border-opacity-75 shadow-sm  dark:text-light dark:bg-dark-300 border-grey-light right-5 rounded-xs text-ocean-blue-pure focus:outline-none"
 | |
|       style="top: 0px; font-size: 13px"
 | |
|       @click="closeAll"
 | |
|     >
 | |
|       <CloseIcon class="w-4 h-4 mr-1" />Clear all
 | |
|     </button>
 | |
|   </div>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| import { defineComponent, onErrorCaptured } from '@nuxtjs/composition-api'
 | |
| import { useNotification } from '~/composables/useNotification'
 | |
| import CloseIcon from '@/assets/img/icons/heroicons/solid/x.svg?inline'
 | |
| 
 | |
| export default defineComponent({
 | |
|   components :{
 | |
|     CloseIcon
 | |
|   },
 | |
|   setup() {
 | |
|     const { queue, close, closeAll } = useNotification()
 | |
| 
 | |
|     return { queue, close, closeAll }
 | |
|   },
 | |
| })
 | |
| </script>
 | |
| 
 | |
| <style>
 | |
| @keyframes slideInUp {
 | |
|   from {
 | |
|     transform: translate3d(0, 100%, 0);
 | |
|     visibility: visible;
 | |
|   }
 | |
| 
 | |
|   to {
 | |
|     transform: translate3d(0, 0, 0);
 | |
|   }
 | |
| }
 | |
| 
 | |
| .slideInUp {
 | |
|   animation-name: slideInUp;
 | |
|   animation-duration: 150ms;
 | |
| }
 | |
| 
 | |
| @keyframes fadeOutRight {
 | |
|   from {
 | |
|     opacity: 1;
 | |
|   }
 | |
| 
 | |
|   to {
 | |
|     opacity: 0;
 | |
|     transform: translate3d(100%, 0, 0);
 | |
|   }
 | |
| }
 | |
| 
 | |
| .fadeOutRight {
 | |
|   animation-name: fadeOutRight;
 | |
|   animation-duration: 150ms;
 | |
| }
 | |
| </style>
 | 
