mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-08-04 12:45:17 +02:00
New country list layout!
This commit is contained in:
parent
780eff6c4c
commit
6fd360a9d0
4 changed files with 41 additions and 20 deletions
34
src/lib/components/CountryCard.svelte
Normal file
34
src/lib/components/CountryCard.svelte
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { goto } from "$app/navigation";
|
||||||
|
import { getFlag } from "$lib";
|
||||||
|
import { createEventDispatcher } from "svelte";
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
export let countryName: string | undefined = undefined;
|
||||||
|
export let countryCode: string;
|
||||||
|
|
||||||
|
async function nav() {
|
||||||
|
goto(`/worldtravel/${countryCode}`);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="card w-full max-w-xs sm:max-w-sm md:max-w-md lg:max-w-md xl:max-w-md bg-primary-content shadow-xl overflow-hidden text-base-content"
|
||||||
|
>
|
||||||
|
<figure>
|
||||||
|
<!-- svelte-ignore a11y-img-redundant-alt -->
|
||||||
|
<img
|
||||||
|
src={getFlag(240, countryCode) ||
|
||||||
|
"https://placehold.co/300?text=No%20Image%20Found&font=roboto"}
|
||||||
|
alt="No image available"
|
||||||
|
class="w-full h-48 object-cover"
|
||||||
|
/>
|
||||||
|
</figure>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="card-title overflow-ellipsis">{countryName}</h2>
|
||||||
|
<div class="card-actions justify-end">
|
||||||
|
<!-- <button class="btn btn-info" on:click={moreInfo}>More Info</button> -->
|
||||||
|
<button class="btn btn-primary" on:click={nav}>Open</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -22,7 +22,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="card min-w-max lg:w-96 md:w-80 sm:w-60 xs:w-40 bg-primary-content shadow-xl overflow-hidden text-base-content"
|
class="card w-full max-w-xs sm:max-w-sm md:max-w-md lg:max-w-md xl:max-w-md bg-primary-content shadow-xl overflow-hidden text-base-content"
|
||||||
>
|
>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h2 class="card-title overflow-ellipsis">{name}</h2>
|
<h2 class="card-title overflow-ellipsis">{name}</h2>
|
|
@ -2,28 +2,17 @@
|
||||||
import { goto } from "$app/navigation";
|
import { goto } from "$app/navigation";
|
||||||
import { getFlag } from "$lib";
|
import { getFlag } from "$lib";
|
||||||
import AdventureCard from "$lib/components/AdventureCard.svelte";
|
import AdventureCard from "$lib/components/AdventureCard.svelte";
|
||||||
|
import CountryCard from "$lib/components/CountryCard.svelte";
|
||||||
|
|
||||||
export let data: any;
|
export let data: any;
|
||||||
|
console.log(data);
|
||||||
async function nav(loc: string) {
|
|
||||||
goto(`/worldtravel/${loc}`);
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<h1 class="text-center font-bold text-4xl mb-4">Country List</h1>
|
<h1 class="text-center font-bold text-4xl mb-4">Country List</h1>
|
||||||
|
|
||||||
<div class="flex items-center justify-center flex-wrap">
|
<div class="flex flex-wrap gap-4 mr-4 ml-4 justify-center content-center">
|
||||||
{#each data.response as item}
|
{#each data.response as item}
|
||||||
<button
|
<CountryCard countryCode={item.country_code} countryName={item.name} />
|
||||||
class="btn btn-primary mr-2 ml-2 mb-2"
|
|
||||||
on:click={() => nav(item.country_code)}
|
|
||||||
>{item.name}
|
|
||||||
<img
|
|
||||||
src={getFlag(24, item.country_code)}
|
|
||||||
class="inline-block -mt-1 mr-1"
|
|
||||||
alt="Flag"
|
|
||||||
/></button
|
|
||||||
>
|
|
||||||
<!-- <p>Name: {item.name}, Continent: {item.continent}</p> -->
|
<!-- <p>Name: {item.name}, Continent: {item.continent}</p> -->
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
import { goto } from "$app/navigation";
|
import { goto } from "$app/navigation";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import Us from "$lib/components/maps/US.svelte";
|
import Us from "$lib/components/maps/US.svelte";
|
||||||
import WorldTravelCard from "$lib/components/WorldTravelCard.svelte";
|
import WorldTravelCard from "$lib/components/RegionCard.svelte";
|
||||||
|
|
||||||
let viewType: String = "cards";
|
let viewType: String = "cards";
|
||||||
|
|
||||||
|
@ -83,9 +83,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if viewType == "cards"}
|
{#if viewType == "cards"}
|
||||||
<div
|
<div class="flex flex-wrap gap-4 mr-4 ml-4 justify-center content-center">
|
||||||
class="grid xl:grid-cols-3 lg:grid-cols-3 md:grid-cols-2 sm:grid-cols-1 gap-4 mt-4 content-center auto-cols-auto ml-6 mr-6"
|
|
||||||
>
|
|
||||||
{#each data.regions as region (region.id)}
|
{#each data.regions as region (region.id)}
|
||||||
<WorldTravelCard
|
<WorldTravelCard
|
||||||
countryCode={data.countrycode}
|
countryCode={data.countrycode}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue