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

@ -25,6 +25,7 @@
import { fetchPortfolioData } from '$lib/stores/portfolio-data';
import { getPublicUrl, getTimeframeInSeconds } from '$lib/utils.js';
import { websocketController, type PriceUpdate, isConnectedStore } from '$lib/stores/websocket';
import SEO from '$lib/components/self/SEO.svelte';
const { data } = $props();
const coinSymbol = data.coinSymbol;
@ -329,9 +330,19 @@
}
</script>
<svelte:head>
<title>{coin ? `${coin.name} (${coin.symbol})` : 'Loading...'} - Rugplay</title>
</svelte:head>
<SEO
title={coin
? `${coin.name} (*${coin.symbol}) - Rugplay`
: `Loading ${coinSymbol.toUpperCase()} - Rugplay Game`}
description={coin
? `Trade ${coin.name} (*${coin.symbol}) in the Rugplay simulation game. Current price: $${formatPrice(coin.currentPrice)}, Market cap: ${formatMarketCap(coin.marketCap)}, 24h change: ${coin.change24h >= 0 ? '+' : ''}${coin.change24h.toFixed(2)}%.`
: `Virtual cryptocurrency trading page for ${coinSymbol.toUpperCase()} in the Rugplay simulation game.`}
keywords={coin
? `${coin.name} cryptocurrency game, *${coin.symbol} virtual trading, ${coin.symbol} price simulation, cryptocurrency trading game, virtual coin ${coin.symbol}`
: `${coinSymbol} virtual cryptocurrency, crypto trading simulation, virtual coin trading`}
image={coin?.icon ? getPublicUrl(coin.icon) : '/placeholder_logo.png'}
imageAlt={coin ? `${coin.name} (${coin.symbol}) logo` : `${coinSymbol} cryptocurrency logo`}
/>
{#if coin}
<TradeModal bind:open={buyModalOpen} type="BUY" {coin} onSuccess={handleTradeSuccess} />

View file

@ -11,6 +11,7 @@
import { onMount } from 'svelte';
import { CREATION_FEE, INITIAL_LIQUIDITY, TOTAL_COST } from '$lib/data/constants';
import { toast } from 'svelte-sonner';
import SEO from '$lib/components/self/SEO.svelte';
let name = $state('');
let symbol = $state('');
@ -113,9 +114,11 @@
}
</script>
<svelte:head>
<title>Create Coin - Rugplay</title>
</svelte:head>
<SEO
title="Create Coin - Rugplay"
description="Launch your own virtual cryptocurrency in the Rugplay simulation game. Create coins with custom names, symbols, and icons."
keywords="create virtual cryptocurrency, coin creation game, launch crypto simulation, virtual token creation, cryptocurrency game creator"
/>
<div class="container mx-auto max-w-5xl px-4 py-6">
<div class="grid grid-cols-1 gap-6 lg:grid-cols-3">