1
0
Fork 0
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:
Sean Morley 2024-06-13 16:50:18 +00:00
parent 780eff6c4c
commit 6fd360a9d0
4 changed files with 41 additions and 20 deletions

View 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>

View file

@ -22,7 +22,7 @@
</script>
<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">
<h2 class="card-title overflow-ellipsis">{name}</h2>

View file

@ -2,28 +2,17 @@
import { goto } from "$app/navigation";
import { getFlag } from "$lib";
import AdventureCard from "$lib/components/AdventureCard.svelte";
import CountryCard from "$lib/components/CountryCard.svelte";
export let data: any;
async function nav(loc: string) {
goto(`/worldtravel/${loc}`);
}
console.log(data);
</script>
<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}
<button
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
>
<CountryCard countryCode={item.country_code} countryName={item.name} />
<!-- <p>Name: {item.name}, Continent: {item.continent}</p> -->
{/each}
</div>

View file

@ -5,7 +5,7 @@
import { goto } from "$app/navigation";
import { onMount } from "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";
@ -83,9 +83,7 @@
</div>
{#if viewType == "cards"}
<div
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"
>
<div class="flex flex-wrap gap-4 mr-4 ml-4 justify-center content-center">
{#each data.regions as region (region.id)}
<WorldTravelCard
countryCode={data.countrycode}