Changed design for coaster and costers view with some placeholders

This commit is contained in:
2025-05-07 12:47:25 +02:00
parent 6c52808655
commit 7bc82b993f
5 changed files with 104 additions and 81 deletions

View File

@@ -171,14 +171,14 @@ export default {
<ul id="dropdown-pages" class="hidden py-2 space-y-2"> <ul id="dropdown-pages" class="hidden py-2 space-y-2">
<li> <li>
<a <a
href="#" href="/app/parks"
class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700" class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"
>Parks</a >Parks</a
> >
</li> </li>
<li> <li>
<a <a
href="#" href="/app/coasters"
class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700" class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"
>Attraktionen</a >Attraktionen</a
> >
@@ -226,14 +226,14 @@ export default {
<ul id="dropdown-sales" class="hidden py-2 space-y-2"> <ul id="dropdown-sales" class="hidden py-2 space-y-2">
<li> <li>
<a <a
href="#" href="/stats"
class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700" class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"
>Statistiken</a >Statistiken</a
> >
</li> </li>
<li> <li>
<a <a
href="#" href="/technical-information"
class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700" class="flex items-center p-2 pl-11 w-full text-base font-medium text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"
>Technische Infos</a >Technische Infos</a
> >

View File

@@ -1,98 +1,77 @@
<script lang="ts"> <script lang="ts">
import Header from '../../../components/app/AppHeader.vue' import Header from '../../../components/app/AppHeader.vue'
import Sidebar from '../../../components/app/AppSidebar.vue' import Sidebar from '../../../components/app/AppSidebar.vue'
import ListItem from '../../../components/app/ListItem.vue';
export default { export default {
components: { components: {
Header, Header,
Sidebar, Sidebar
ListItem
}, },
data() {
return {
coaster: {
name: "Blue Fire",
park: "Europa Park",
length: "1050 m",
height: "38 m",
speed: "100 km/h",
launch: "LSM-Launch",
inversions: 4,
duration: "2:30 min",
manufacturer: "MACK Rides",
opened: "2009"
}
};
}
}; };
</script> </script>
<template> <template>
<title>App - CoasterDB</title> <title>{{ coaster.name }} - CoasterDB</title>
<Header /> <Header />
<div style="margin-top: 63px;"> <div style="margin-top: 63px;">
<section class="bg-gray-50 dark:bg-gray-900 p-3 sm:p-5"> <section class="bg-gray-50 dark:bg-gray-900 p-3 sm:p-5">
<div class="mx-auto max-w-screen-xl px-4 lg:px-12"> <div class="mx-auto max-w-screen-xl px-4 lg:px-12">
<!-- Start coding here -->
<div class="bg-white dark:bg-gray-800 relative shadow-md sm:rounded-lg overflow-hidden"> <div class="bg-white dark:bg-gray-800 relative shadow-md sm:rounded-lg overflow-hidden">
<div class="flex flex-col md:flex-row items-center justify-between space-y-3 md:space-y-0 md:space-x-4 p-4"> <div class="p-6">
<div class="w-full md:w-1/2"> <h1 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">{{ coaster.name }}</h1>
<form class="flex items-center"> <p class="text-sm text-gray-500 dark:text-gray-400 mb-6">Park: <span class="font-medium text-gray-900 dark:text-white">{{ coaster.park }}</span></p>
<label for="simple-search" class="sr-only">Search</label>
<div class="relative w-full"> <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"> <div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<svg aria-hidden="true" class="w-5 h-5 text-gray-500 dark:text-gray-400" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <p class="text-gray-600 dark:text-gray-300">Streckenlänge:</p>
<path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd" /> <p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.length }}</p>
</svg> </div>
</div> <div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<input type="text" id="simple-search" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-primary-500 focus:border-primary-500 block w-full pl-10 p-2 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500" placeholder="Search"> <p class="text-gray-600 dark:text-gray-300">Maximale Höhe:</p>
</div> <p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.height }}</p>
</form> </div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Maximale Geschwindigkeit:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.speed }}</p>
</div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Launch-System:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.launch }}</p>
</div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Anzahl Inversionen:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.inversions }}</p>
</div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Fahrtdauer:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.duration }}</p>
</div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Hersteller:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.manufacturer }}</p>
</div>
<div class="bg-gray-100 dark:bg-gray-700 p-4 rounded-lg shadow-sm">
<p class="text-gray-600 dark:text-gray-300">Eröffnet:</p>
<p class="text-lg font-semibold text-gray-900 dark:text-white">{{ coaster.opened }}</p>
</div>
</div> </div>
</div> </div>
<div class="overflow-x-auto">
<table class="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-4 py-3">Name</th>
<th scope="col" class="px-4 py-3">Park</th>
<th scope="col" class="px-4 py-3">Streckenlänge</th>
<th scope="col" class="px-4 py-3">Maximale Höhe</th>
<th scope="col" class="px-4 py-3">maximale Geschwindigkeit</th>
</tr>
</thead>
<tbody>
<ListItem name="Blue Fire" park="Europa Park" length="1050m" height="38m" speed="100km/h" />
</tbody>
</table>
</div>
<nav class="flex flex-col md:flex-row justify-between items-start md:items-center space-y-3 md:space-y-0 p-4" aria-label="Table navigation">
<span class="text-sm font-normal text-gray-500 dark:text-gray-400">
Showing
<span class="font-semibold text-gray-900 dark:text-white">1-10</span>
of
<span class="font-semibold text-gray-900 dark:text-white">1000</span>
</span>
<ul class="inline-flex items-stretch -space-x-px">
<li>
<a href="#" class="flex items-center justify-center h-full py-1.5 px-3 ml-0 text-gray-500 bg-white rounded-l-lg border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
<span class="sr-only">Previous</span>
<svg class="w-5 h-5" aria-hidden="true" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
</svg>
</a>
</li>
<li>
<a href="#" class="flex items-center justify-center text-sm py-2 px-3 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">1</a>
</li>
<li>
<a href="#" class="flex items-center justify-center text-sm py-2 px-3 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">2</a>
</li>
<li>
<a href="#" aria-current="page" class="flex items-center justify-center text-sm z-10 py-2 px-3 leading-tight text-primary-600 bg-primary-50 border border-primary-300 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white">3</a>
</li>
<li>
<a href="#" class="flex items-center justify-center text-sm py-2 px-3 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">...</a>
</li>
<li>
<a href="#" class="flex items-center justify-center text-sm py-2 px-3 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">100</a>
</li>
<li>
<a href="#" class="flex items-center justify-center h-full py-1.5 px-3 leading-tight text-gray-500 bg-white rounded-r-lg border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
<span class="sr-only">Next</span>
<svg class="w-5 h-5" aria-hidden="true" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
</svg>
</a>
</li>
</ul>
</nav>
</div> </div>
</div> </div>
</section> </section>
@@ -101,4 +80,4 @@ export default {
</template> </template>
<style scoped> <style scoped>
</style> </style>

View File

@@ -0,0 +1,44 @@
<script lang="ts">
import Header from '../../../components/app/AppHeader.vue'
import Sidebar from '../../../components/app/AppSidebar.vue'
export default {
components: {
Header,
Sidebar
},
data() {
return {
coasters: [
{ name: 'Blue Fire', park: 'Europa Park' },
{ name: 'Taron', park: 'Phantasialand' },
{ name: 'Silver Star', park: 'Europa Park' },
{ name: 'Karacho', park: 'Erlebnispark Tripsdrill' }
]
}
}
}
</script>
<template>
<title>Coaster Übersicht CoasterDB</title>
<Header />
<div style="margin-top: 63px;">
<section class="bg-gray-50 dark:bg-gray-900 p-3 sm:p-5">
<div class="mx-auto max-w-screen-xl px-4 lg:px-12">
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 gap-6">
<div v-for="coaster in coasters" :key="coaster.name" class="bg-white dark:bg-gray-800 shadow-md sm:rounded-lg p-6">
<h2 class="text-xl font-bold text-gray-900 dark:text-white mb-2">{{ coaster.name }}</h2>
<p class="text-gray-700 dark:text-gray-300">
<span class="font-semibold">Park:</span> {{ coaster.park }}
</p>
</div>
</div>
</div>
</section>
</div>
<Sidebar />
</template>
<style scoped>
</style>

View File

View File