hecho soporte para la busqueda de hashtags

This commit is contained in:
2026-01-10 17:43:22 -03:00
parent 502c6711ca
commit 556c540565
2 changed files with 35 additions and 2 deletions

View File

@@ -1,16 +1,43 @@
<script lang="ts">
import { page } from '$app/state';
import CardContent from '@/components/ui/card/card-content.svelte';
import CardHeader from '@/components/ui/card/card-header.svelte';
import CardTitle from '@/components/ui/card/card-title.svelte';
import Card from '@/components/ui/card/card.svelte';
import Separator from '@/components/ui/separator/separator.svelte';
import UserCard from '@/components/UserCard.svelte';
import ChevronLeft from '@lucide/svelte/icons/chevron-left';
import ChevronRight from '@lucide/svelte/icons/chevron-right';
let { data } = $props();
</script>
<div class="flex min-h-fit w-full flex-col items-center justify-center gap-2 p-6 md:p-10">
<div class="flex w-full max-w-6xl flex-col gap-2">
<h1 class="text-2xl font-bold">Usuarios</h1>
<Separator></Separator>
{#each data.usuarios as usu}
<div class="w-full">
<UserCard {usu} />
</div>
{/each}
<div class="mt-4">
<h2 class="mb-2 text-xl font-semibold">Hastags</h2>
</div>
<Separator />
<div class="mt-4 flex flex-col gap-2">
{#each data.htags as htag}
<a
href={`/htag/${htag}`}
class="w-full rounded-lg bg-accent p-3 text-lg font-medium text-foreground hover:bg-muted"
>
<div class="flex justify-between">
#{htag}
<ChevronRight />
</div>
</a>
{/each}
</div>
</div>
</div>

View File

@@ -1,9 +1,15 @@
import { busquedaUsuarios } from '@/hooks/busquedaUsuarios';
import { error } from '@sveltejs/kit';
import type { UserResponseDto } from '../../../types';
import { busquedaHashtags } from '@/hooks/busquedaHashtags.js';
export async function load({ params }) {
let usuarios: UserResponseDto[] = await busquedaUsuarios(params.user);
let req1 = busquedaUsuarios(params.user);
//usa el mismo param
let req2 = busquedaHashtags(params.user);
let [usuarios, htags] = await Promise.all([req1, req2]);
if (usuarios == null) {
return error(500, 'No se pudo alcanzar el servidor.');
}
@@ -11,5 +17,5 @@ export async function load({ params }) {
if (usuarios.length == 0) {
return error(404, 'No se encontraron usuarios que coinsidan con la busqueda.');
}
return { usuarios };
return { usuarios, htags };
}