36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ---
 | |
| import Icon from '@components/ui/icons/icon.astro';
 | |
| 
 | |
| const { title, noArrow } = Astro.props;
 | |
| 
 | |
| interface Props {
 | |
|   title?: string;
 | |
|   url?: string;
 | |
|   noArrow?: boolean;
 | |
|   addHome?: boolean;
 | |
| }
 | |
| 
 | |
| const baseClasses =
 | |
|   'group inline-flex items-center justify-center gap-x-2 rounded-lg px-4 py-3 text-sm font-bold text-neutral-50 ring-neutral-500 transition duration-300 focus-visible:ring outline-none';
 | |
| const borderClasses = 'border border-transparent';
 | |
| const bgColorClasses = 'bg-steel hover:bg-sky-800 active:bg-orange-500 dark:focus:outline-none';
 | |
| const disableClasses = 'disabled:pointer-events-none disabled:opacity-50';
 | |
| const fontSizeClasses = '2xl:text-base';
 | |
| const ringClasses = 'dark:ring-neutral-200';
 | |
| ---
 | |
| 
 | |
| <button
 | |
|   class={`${baseClasses} ${borderClasses} ${bgColorClasses} ${disableClasses} ${fontSizeClasses} ${ringClasses}`}
 | |
|   id="back-button"
 | |
|   data-astro-prefetch
 | |
| >
 | |
|   {noArrow ? null : <Icon name="arrowLeft" />}
 | |
|   {title}
 | |
| </button>
 | |
| 
 | |
| <script>
 | |
|   document.getElementById('back-button')?.addEventListener('click', () => {
 | |
|     window.history.back();
 | |
|   });
 | |
| </script>
 |