fix(routes): improve design of application page
This commit is contained in:
		| @@ -124,7 +124,7 @@ | |||||||
| 	<input id="main-drawer" type="checkbox" class="drawer-toggle" /> | 	<input id="main-drawer" type="checkbox" class="drawer-toggle" /> | ||||||
| 	<div class="drawer-content"> | 	<div class="drawer-content"> | ||||||
| 		{#if $appSession.userId} | 		{#if $appSession.userId} | ||||||
| 			<nav class="nav-main hidden lg:block"> | 			<nav class="nav-main hidden lg:block z-20"> | ||||||
| 				<div class="flex h-screen w-full flex-col items-center transition-all duration-100"> | 				<div class="flex h-screen w-full flex-col items-center transition-all duration-100"> | ||||||
| 					{#if !$appSession.whiteLabeled} | 					{#if !$appSession.whiteLabeled} | ||||||
| 						<div class="mb-2 mt-4 h-10 w-10"> | 						<div class="mb-2 mt-4 h-10 w-10"> | ||||||
| @@ -403,7 +403,7 @@ | |||||||
| 			{/if} | 			{/if} | ||||||
| 		{/if} | 		{/if} | ||||||
| 		<div | 		<div | ||||||
| 			class="navbar bg-neutral lg:hidden space-x-2 flex flex-row items-center" | 			class="navbar bg-neutral-focus lg:hidden space-x-2 flex flex-row items-center" | ||||||
| 			class:hidden={!$appSession.userId} | 			class:hidden={!$appSession.userId} | ||||||
| 		> | 		> | ||||||
| 			<label for="main-drawer" class="drawer-button btn btn-square btn-ghost"> | 			<label for="main-drawer" class="drawer-button btn btn-square btn-ghost"> | ||||||
| @@ -426,7 +426,7 @@ | |||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 		<main> | 		<main> | ||||||
| 			<div class={$appSession.userId ? 'lg:px-20' : null}> | 			<div class={$appSession.userId ? 'lg:pl-16' : null}> | ||||||
| 				<slot /> | 				<slot /> | ||||||
| 			</div> | 			</div> | ||||||
| 		</main> | 		</main> | ||||||
|   | |||||||
| @@ -187,13 +187,69 @@ | |||||||
| 	}); | 	}); | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <nav class="nav-side"> | <nav | ||||||
|  | 	class="flex flex-row px-3 justify-center lg:justify-between items-center bg-neutral-focus lg:fixed w-full z-10 lg:-ml-16 lg:pl-16" | ||||||
|  | > | ||||||
|  | 	<div class="hidden items-center space-x-2 p-5 px-6 font-bold lg:flex"> | ||||||
|  | 		<div class="flex flex-col"> | ||||||
|  | 			<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block"> | ||||||
|  | 				Configuration | ||||||
|  | 			</div> | ||||||
|  | 			<span class="text-xs">{application.name}</span> | ||||||
|  | 		</div> | ||||||
|  | 		{#if application.gitSource?.htmlUrl && application.repository && application.branch} | ||||||
|  | 			<a | ||||||
|  | 				id="git" | ||||||
|  | 				href="{application.gitSource.htmlUrl}/{application.repository}/tree/{application.branch}" | ||||||
|  | 				target="_blank" | ||||||
|  | 				class="w-10" | ||||||
|  | 			> | ||||||
|  | 				{#if application.gitSource?.type === 'gitlab'} | ||||||
|  | 					<svg viewBox="0 0 128 128" class="icons"> | ||||||
|  | 						<path | ||||||
|  | 							fill="#FC6D26" | ||||||
|  | 							d="M126.615 72.31l-7.034-21.647L105.64 7.76c-.716-2.206-3.84-2.206-4.556 0l-13.94 42.903H40.856L26.916 7.76c-.717-2.206-3.84-2.206-4.557 0L8.42 50.664 1.385 72.31a4.792 4.792 0 001.74 5.358L64 121.894l60.874-44.227a4.793 4.793 0 001.74-5.357" | ||||||
|  | 						/><path fill="#E24329" d="M64 121.894l23.144-71.23H40.856L64 121.893z" /><path | ||||||
|  | 							fill="#FC6D26" | ||||||
|  | 							d="M64 121.894l-23.144-71.23H8.42L64 121.893z" | ||||||
|  | 						/><path | ||||||
|  | 							fill="#FCA326" | ||||||
|  | 							d="M8.42 50.663L1.384 72.31a4.79 4.79 0 001.74 5.357L64 121.894 8.42 50.664z" | ||||||
|  | 						/><path | ||||||
|  | 							fill="#E24329" | ||||||
|  | 							d="M8.42 50.663h32.436L26.916 7.76c-.717-2.206-3.84-2.206-4.557 0L8.42 50.664z" | ||||||
|  | 						/><path fill="#FC6D26" d="M64 121.894l23.144-71.23h32.437L64 121.893z" /><path | ||||||
|  | 							fill="#FCA326" | ||||||
|  | 							d="M119.58 50.663l7.035 21.647a4.79 4.79 0 01-1.74 5.357L64 121.894l55.58-71.23z" | ||||||
|  | 						/><path | ||||||
|  | 							fill="#E24329" | ||||||
|  | 							d="M119.58 50.663H87.145l13.94-42.902c.717-2.206 3.84-2.206 4.557 0l13.94 42.903z" | ||||||
|  | 						/> | ||||||
|  | 					</svg> | ||||||
|  | 				{:else if application.gitSource?.type === 'github'} | ||||||
|  | 					<svg viewBox="0 0 128 128" class="icons"> | ||||||
|  | 						<g fill="#ffffff" | ||||||
|  | 							><path | ||||||
|  | 								fill-rule="evenodd" | ||||||
|  | 								clip-rule="evenodd" | ||||||
|  | 								d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z" | ||||||
|  | 							/><path | ||||||
|  | 								d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0" | ||||||
|  | 							/></g | ||||||
|  | 						> | ||||||
|  | 					</svg> | ||||||
|  | 				{/if} | ||||||
|  | 			</a> | ||||||
|  | 			<Tooltip triggeredBy="#git">Open on Git</Tooltip> | ||||||
|  | 		{/if} | ||||||
|  | 	</div> | ||||||
|  | 	<div class="flex flex-row flex-wrap space-x-4 space-y-3 justify-center lg:justify-start py-2 lg:py-0"> | ||||||
| 		{#if $location} | 		{#if $location} | ||||||
| 			<a | 			<a | ||||||
| 				id="open" | 				id="open" | ||||||
| 				href={$location} | 				href={$location} | ||||||
| 				target="_blank" | 				target="_blank" | ||||||
| 			class="icons flex items-center bg-transparent text-sm" | 				class="icons flex items-center bg-transparent text-sm mt-3" | ||||||
| 				><svg | 				><svg | ||||||
| 					xmlns="http://www.w3.org/2000/svg" | 					xmlns="http://www.w3.org/2000/svg" | ||||||
| 					class="h-6 w-6" | 					class="h-6 w-6" | ||||||
| @@ -494,7 +550,9 @@ | |||||||
| 		{/if} | 		{/if} | ||||||
| 		<div class="border border-coolgray-500 h-8" /> | 		<div class="border border-coolgray-500 h-8" /> | ||||||
| 		<a | 		<a | ||||||
| 		href={$isDeploymentEnabled && $status.application.isRunning ? `/applications/${id}/logs` : null} | 			href={$isDeploymentEnabled && $status.application.isRunning | ||||||
|  | 				? `/applications/${id}/logs` | ||||||
|  | 				: null} | ||||||
| 			sveltekit:prefetch | 			sveltekit:prefetch | ||||||
| 			class="hover:text-sky-500 rounded" | 			class="hover:text-sky-500 rounded" | ||||||
| 			class:text-sky-500={$page.url.pathname === `/applications/${id}/logs`} | 			class:text-sky-500={$page.url.pathname === `/applications/${id}/logs`} | ||||||
| @@ -584,5 +642,6 @@ | |||||||
| 			</button> | 			</button> | ||||||
| 			<Tooltip triggeredBy="#delete">Delete</Tooltip> | 			<Tooltip triggeredBy="#delete">Delete</Tooltip> | ||||||
| 		{/if} | 		{/if} | ||||||
|  | 	</div> | ||||||
| </nav> | </nav> | ||||||
| <slot /> | <slot /> | ||||||
|   | |||||||
| @@ -293,7 +293,7 @@ | |||||||
| 	} | 	} | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <div class="flex items-center space-x-2 p-5 px-6 font-bold"> | <div class="flex items-center space-x-2 p-5 px-6 font-bold lg:hidden"> | ||||||
| 	<div class="-mb-5 flex-col"> | 	<div class="-mb-5 flex-col"> | ||||||
| 		<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block"> | 		<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block"> | ||||||
| 			Configuration | 			Configuration | ||||||
| @@ -347,7 +347,7 @@ | |||||||
| 	{/if} | 	{/if} | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <div class="mx-auto max-w-4xl px-6 py-4"> | <div class="mx-auto max-w-4xl px-6 pt-4 lg:pt-32"> | ||||||
| 	<div class="text-2xl font-bold">Application Usage</div> | 	<div class="text-2xl font-bold">Application Usage</div> | ||||||
| 	<div class="text-center"> | 	<div class="text-center"> | ||||||
| 		<div class="stat w-64"> | 		<div class="stat w-64"> | ||||||
| @@ -369,7 +369,7 @@ | |||||||
| <div class="mx-auto max-w-4xl px-6"> | <div class="mx-auto max-w-4xl px-6"> | ||||||
| 	<!-- svelte-ignore missing-declaration --> | 	<!-- svelte-ignore missing-declaration --> | ||||||
| 	<form on:submit|preventDefault={handleSubmit} class="py-4"> | 	<form on:submit|preventDefault={handleSubmit} class="py-4"> | ||||||
| 		<div class="flex space-x-1 pb-5"> | 		<div class="flex space-x-1 pb-5 justify-between items-center"> | ||||||
| 			<div class="title">{$t('general')}</div> | 			<div class="title">{$t('general')}</div> | ||||||
| 			{#if $appSession.isAdmin} | 			{#if $appSession.isAdmin} | ||||||
| 				<button | 				<button | ||||||
| @@ -383,7 +383,7 @@ | |||||||
| 				> | 				> | ||||||
| 			{/if} | 			{/if} | ||||||
| 		</div> | 		</div> | ||||||
| 		<div class="grid grid-flow-row gap-2 px-10"> | 		<div class="grid grid-flow-row gap-2 lg:px-10"> | ||||||
| 			<div class="mt-2 grid grid-cols-2 items-center"> | 			<div class="mt-2 grid grid-cols-2 items-center"> | ||||||
| 				<label for="name" class="text-base font-bold text-stone-100">{$t('forms.name')}</label> | 				<label for="name" class="text-base font-bold text-stone-100">{$t('forms.name')}</label> | ||||||
| 				<input name="name" id="name" bind:value={application.name} required /> | 				<input name="name" id="name" bind:value={application.name} required /> | ||||||
| @@ -472,11 +472,9 @@ | |||||||
| 								: 'Image that will be used during the build process.'} | 								: 'Image that will be used during the build process.'} | ||||||
| 						/> | 						/> | ||||||
| 					</label> | 					</label> | ||||||
|  |  | ||||||
| 					<div class="custom-select-wrapper"> |  | ||||||
| 					<Select | 					<Select | ||||||
| 						{isDisabled} | 						{isDisabled} | ||||||
| 							containerClasses={isDisabled && containerClass()} | 						containerClasses={isDisabled && containerClass() || 'bg-neutral border-0'} | ||||||
| 						id="baseBuildImages" | 						id="baseBuildImages" | ||||||
| 						showIndicator={!$status.application.isRunning} | 						showIndicator={!$status.application.isRunning} | ||||||
| 						items={application.baseBuildImages} | 						items={application.baseBuildImages} | ||||||
| @@ -485,7 +483,6 @@ | |||||||
| 						isClearable={false} | 						isClearable={false} | ||||||
| 					/> | 					/> | ||||||
| 				</div> | 				</div> | ||||||
| 				</div> |  | ||||||
| 			{/if} | 			{/if} | ||||||
| 			{#if application.buildPack !== 'docker'} | 			{#if application.buildPack !== 'docker'} | ||||||
| 				<div class="grid grid-cols-2 items-center"> | 				<div class="grid grid-cols-2 items-center"> | ||||||
| @@ -493,10 +490,9 @@ | |||||||
| 						>{$t('application.base_image')} | 						>{$t('application.base_image')} | ||||||
| 						<Explainer explanation={'Image that will be used for the deployment.'} /></label | 						<Explainer explanation={'Image that will be used for the deployment.'} /></label | ||||||
| 					> | 					> | ||||||
| 					<div class="custom-select-wrapper"> |  | ||||||
| 					<Select | 					<Select | ||||||
| 							{isDisabled} | 							{isDisabled} | ||||||
| 							containerClasses={isDisabled && containerClass()} | 							containerClasses={isDisabled && containerClass() || 'bg-neutral border-0'} | ||||||
| 							id="baseImages" | 							id="baseImages" | ||||||
| 							showIndicator={!$status.application.isRunning} | 							showIndicator={!$status.application.isRunning} | ||||||
| 							items={application.baseImages} | 							items={application.baseImages} | ||||||
| @@ -505,7 +501,6 @@ | |||||||
| 							isClearable={false} | 							isClearable={false} | ||||||
| 						/> | 						/> | ||||||
| 				</div> | 				</div> | ||||||
| 				</div> |  | ||||||
| 			{/if} | 			{/if} | ||||||
| 			{#if application.buildPack !== 'docker' && (application.buildPack === 'nextjs' || application.buildPack === 'nuxtjs')} | 			{#if application.buildPack !== 'docker' && (application.buildPack === 'nextjs' || application.buildPack === 'nuxtjs')} | ||||||
| 				<div class="grid grid-cols-2 items-center pb-8"> | 				<div class="grid grid-cols-2 items-center pb-8"> | ||||||
| @@ -573,7 +568,7 @@ | |||||||
| 		<div class="flex space-x-1 py-5 font-bold"> | 		<div class="flex space-x-1 py-5 font-bold"> | ||||||
| 			<div class="title">{$t('application.application')}</div> | 			<div class="title">{$t('application.application')}</div> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div class="grid grid-flow-row gap-2 px-10"> | 		<div class="grid grid-flow-row gap-2 lg:px-10"> | ||||||
| 			<div class="grid grid-cols-2 items-center"> | 			<div class="grid grid-cols-2 items-center"> | ||||||
| 				<Setting | 				<Setting | ||||||
| 					id="isBot" | 					id="isBot" | ||||||
| @@ -865,7 +860,7 @@ | |||||||
| 	<div class="flex space-x-1 pb-5 font-bold"> | 	<div class="flex space-x-1 pb-5 font-bold"> | ||||||
| 		<div class="title">{$t('application.features')}</div> | 		<div class="title">{$t('application.features')}</div> | ||||||
| 	</div> | 	</div> | ||||||
| 	<div class="px-10 pb-10"> | 	<div class="lg:px-10 lg:pb-10 pb-6"> | ||||||
| 		{#if !application.settings.isPublicRepository} | 		{#if !application.settings.isPublicRepository} | ||||||
| 			<div class="grid grid-cols-2 items-center"> | 			<div class="grid grid-cols-2 items-center"> | ||||||
| 				<Setting | 				<Setting | ||||||
| @@ -890,7 +885,7 @@ | |||||||
| 				/> | 				/> | ||||||
| 			</div> | 			</div> | ||||||
| 		{/if} | 		{/if} | ||||||
| 		<div class="grid grid-cols-2 items-center"> | 		<div class="grid grid-cols-2 items-center w-full"> | ||||||
| 			<Setting | 			<Setting | ||||||
| 				id="debug" | 				id="debug" | ||||||
| 				isCenter={false} | 				isCenter={false} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kaname
					Kaname