FEAT: v1
This commit is contained in:
		| @@ -1,62 +0,0 @@ | ||||
| --- | ||||
| export interface Props { | ||||
| 	title: string; | ||||
| 	body: string; | ||||
| 	href: string; | ||||
| } | ||||
|  | ||||
| const { href, title, body } = Astro.props; | ||||
| --- | ||||
|  | ||||
| <li class="link-card"> | ||||
| 	<a href={href}> | ||||
| 		<h2> | ||||
| 			{title} | ||||
| 			<span>→</span> | ||||
| 		</h2> | ||||
| 		<p> | ||||
| 			{body} | ||||
| 		</p> | ||||
| 	</a> | ||||
| </li> | ||||
| <style> | ||||
| 	.link-card { | ||||
| 		list-style: none; | ||||
| 		display: flex; | ||||
| 		padding: 0.15rem; | ||||
| 		background-color: white; | ||||
| 		background-image: var(--accent-gradient); | ||||
| 		background-size: 400%; | ||||
| 		border-radius: 0.5rem; | ||||
| 		background-position: 100%; | ||||
| 		transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1); | ||||
| 		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); | ||||
| 	} | ||||
|  | ||||
| 	.link-card > a { | ||||
| 		width: 100%; | ||||
| 		text-decoration: none; | ||||
| 		line-height: 1.4; | ||||
| 		padding: 1rem 1.3rem; | ||||
| 		border-radius: 0.35rem; | ||||
| 		color: #111; | ||||
| 		background-color: white; | ||||
| 		opacity: 0.8; | ||||
| 	} | ||||
| 	h2 { | ||||
| 		margin: 0; | ||||
| 		font-size: 1.25rem; | ||||
| 		transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1); | ||||
| 	} | ||||
| 	p { | ||||
| 		margin-top: 0.5rem; | ||||
| 		margin-bottom: 0; | ||||
| 		color: #444; | ||||
| 	} | ||||
| 	.link-card:is(:hover, :focus-within) { | ||||
| 		background-position: 0; | ||||
| 	} | ||||
| 	.link-card:is(:hover, :focus-within) h2 { | ||||
| 		color: rgb(var(--accent)); | ||||
| 	} | ||||
| </style> | ||||
| @@ -1,17 +1,33 @@ | ||||
| <script> | ||||
|   import Nextcloud from '../svg/apps/nextcloud.vue' | ||||
|   export default { | ||||
|     components: { Nextcloud }, | ||||
|   } | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <section> | ||||
|     <div class="bg-slate-900 rounded-xl w-72 h-56"> | ||||
|   <section class="flex flex-col md:flex-row items-center justify-center mb-28"> | ||||
|     <div class="bg-slate-900 rounded-xl w-4/5 md:w-96 h-56 md:z-10 -mb-8 md:-mb-0 max-w-full"> | ||||
|       <div class="p-3 flex justify-between w-20"> | ||||
|         <div class="bg-green-400 h-4 w-4 r-1 rounded-full"></div> | ||||
|         <div class="bg-yellow-300 h-4 w-4 r-1 rounded-full"></div> | ||||
|         <div class="bg-red-600 h-4 w-4 r-1 rounded-full"></div> | ||||
|       </div> | ||||
|       <div class="text-white font-mono p-4 pt-0"> | ||||
|         $:  pegaz up nextcloud | ||||
|         $: pegaz up nextcloud | ||||
|         <span class="w-2 h-4 bg-white inline-block animate-blink relative" /> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="bg-slate-400 rounded-2xl w-96 h-80"> | ||||
|       <div class="bg-white"></div> | ||||
|     <div class="bg-slate-400 flex flex-col items-center rounded-2xl w-full md:w-2/4 md:min-w-fit h-80 md:-ml-8 md:z-0"> | ||||
|       <div class="bg-white inline-block rounded-2xl px-4 py-1 m-4 w-4/6"> | ||||
|         <span class="text-gray-400"> | ||||
|           https:// | ||||
|         </span> | ||||
|         domain.com | ||||
|       </div> | ||||
|       <div class="bg-white w-full h-full flex justify-center items-center group"> | ||||
|         <Nextcloud class="w-20 bg-black bg-opacity-10 inline-block rounded-xl p-4 cursor-pointer scale-0 group-hover:scale-100 transition-transform" /> | ||||
|       </div> | ||||
|     </div> | ||||
|   </section> | ||||
| </template> | ||||
|   | ||||
							
								
								
									
										36
									
								
								src/components/hero-buttons.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/components/hero-buttons.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| <script> | ||||
|   import ClipBoard from '../svg/clipboard.vue' | ||||
|   export default { | ||||
|     components: { ClipBoard }, | ||||
|     data: () => { | ||||
|       return { | ||||
|         isClicked: false, | ||||
|       } | ||||
|     }, | ||||
|     methods: { | ||||
|       copyToClipBoard() { | ||||
|         navigator.clipboard.writeText('curl -sL get.pegaz.io | sudo bash').then(() => { | ||||
|           this.isClicked = true | ||||
|           setTimeout(() => { | ||||
|             this.isClicked = false | ||||
|           }, 600); | ||||
|         })   | ||||
|       }, | ||||
|     }, | ||||
|   } | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <section class="py-4 sm:flex justify-center items-center"> | ||||
|     <a href="https://github.com/valerebron/pegaz" target="_blank" | ||||
|       class="py-4 px-6 h-14 leading-6 flex justify-center bg-purple-500 text-black text-lg capitalize font-semibold mb-4 sm:mb-0 rounded-xl shadow-md hover:bg-purple-400 focus:outline-none focus:text-white focus:ring-2 focus:ring-purple-300 focus:ring-opacity-75"> | ||||
|       get started | ||||
|     </a> | ||||
|     <div class="font-mono bg-neutral-900 text-neutral-50 rounded-md flex justify-between pl-3 pr-4 py-3 sm:ml-4 border border-transparent text-base shadow-primary-700 relative"> | ||||
|       <span class="select-all"> | ||||
|         curl -sL get.pegaz.io | sudo bash | ||||
|       </span> | ||||
|       <ClipBoard class="inline ml-3 cursor-pointer" :class="{ 'animate-ping': isClicked }" @click="copyToClipBoard" /> | ||||
|     </div> | ||||
|   </section> | ||||
| </template> | ||||
							
								
								
									
										25
									
								
								src/components/hero-title.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/components/hero-title.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| <script setup> | ||||
|   import Logo from '../svg/logo.vue' | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <section> | ||||
|     <div class="flex justify-center -ml-24 animate-slide"> | ||||
|       <div class="py-4 mr-3 animate-fadeout opacity-0"> | ||||
|         <div class="bg-gray-400 h-px w-16 my-3 block"></div> | ||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-3 block"></div> | ||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-1 block"></div> | ||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-6 block"></div> | ||||
|       </div> | ||||
|       <Logo /> | ||||
|     </div> | ||||
|     <div class="text-center py-4"> | ||||
|       <h1 class="text-5xl font-bold leading-relaxed"> | ||||
|         Pegaz | ||||
|       </h1> | ||||
|       <h2 class="text-3xl text-center"> | ||||
|         Deploy stack on the go | ||||
|       </h2> | ||||
|     </div> | ||||
|   </section> | ||||
| </template> | ||||
		Reference in New Issue
	
	Block a user