feat: SEO

This commit is contained in:
Face 2025-05-30 13:15:00 +03:00
parent 070d70e3ec
commit 919ae0bc37
17 changed files with 226 additions and 91 deletions

View file

@ -7,10 +7,10 @@
import { Input } from '$lib/components/ui/input';
import { Label } from '$lib/components/ui/label';
import { Badge } from '$lib/components/ui/badge';
import { Skeleton } from '$lib/components/ui/skeleton';
import * as Avatar from '$lib/components/ui/avatar';
import UserProfilePreview from '$lib/components/self/UserProfilePreview.svelte';
import HopiumSkeleton from '$lib/components/self/skeletons/HopiumSkeleton.svelte';
import SEO from '$lib/components/self/SEO.svelte';
import {
TrendingUp,
TrendingDown,
@ -19,8 +19,6 @@
Sparkles,
Globe,
Loader2,
CheckCircle,
XCircle,
CheckIcon,
XIcon
} from 'lucide-svelte';
@ -124,13 +122,11 @@
});
</script>
<svelte:head>
<title>Hopium - Prediction Market | Rugplay</title>
<meta
name="description"
content="Create and bet on prediction markets with AI-powered resolution"
/>
</svelte:head>
<SEO
title="Hopium - Rugplay"
description="AI-powered prediction markets in the Rugplay simulation game. Create yes/no questions, bet on outcomes with virtual currency, and test your forecasting skills."
keywords="AI prediction markets game, virtual betting simulation, cryptocurrency prediction game, forecasting game, virtual currency betting"
/>
<!-- Create Question Dialog -->
<Dialog.Root bind:open={showCreateDialog}>

View file

@ -9,6 +9,7 @@
import * as Avatar from '$lib/components/ui/avatar';
import { Separator } from '$lib/components/ui/separator';
import UserProfilePreview from '$lib/components/self/UserProfilePreview.svelte';
import SEO from '$lib/components/self/SEO.svelte';
import {
Loader2,
Calculator,
@ -194,14 +195,15 @@
);
</script>
<svelte:head>
{#if question}
<title>{question.question} - Rugplay</title>
<meta name="description" content={question.description || question.question} />
{:else}
<title>Hopium - Rugplay</title>
{/if}
</svelte:head>
<SEO
title={question
? `${question.question} - Hopium - Rugplay`
: 'Loading Question - Hopium - Rugplay'}
description={question
? `Bet on "${question.question}" in Rugplay's AI-powered prediction market. Current odds: ${question.yesPercentage.toFixed(1)}% YES, ${question.noPercentage.toFixed(1)}% NO. Total volume: $${question.totalAmount.toFixed(2)}.`
: 'AI-powered prediction market question in the Rugplay simulation game.'}
keywords="AI prediction market question, virtual betting, cryptocurrency prediction game, yes no betting, forecasting simulation"
/>
<div class="container mx-auto max-w-7xl p-6">
{#if loading}
@ -591,8 +593,12 @@
>
</Avatar.Root>
<div>
<div class="font-semibold hover:underline">{bet.user?.name || "Deleted User"}</div>
<div class="text-muted-foreground text-sm">@{bet.user?.username || "deleted_user"}</div>
<div class="font-semibold hover:underline">
{bet.user?.name || 'Deleted User'}
</div>
<div class="text-muted-foreground text-sm">
@{bet.user?.username || 'deleted_user'}
</div>
</div>
</button>
</HoverCard.Trigger>