mirror of
https://github.com/emailerfacu-spec/minix-front.git
synced 2026-04-01 13:10:44 -03:00
hecho soporte para la busqueda de hashtags
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
@@ -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 };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user