@anywayseo/tools 2.4.1 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { IBonusCard } from '../../types';
3
- type BonusCardProps = IBonusCard;
3
+ type BonusCardProps = IBonusCard & {
4
+ className?: string;
5
+ };
4
6
  declare const BonusCard: FC<BonusCardProps>;
5
7
  export default BonusCard;
@@ -1,5 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { IGameCard } from '../../types';
3
- type GameCardProps = IGameCard;
3
+ type GameCardProps = IGameCard & {
4
+ height?: 'full' | 'auto';
5
+ };
4
6
  declare const GameCard: FC<GameCardProps>;
5
7
  export default GameCard;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("../index-CupM-mJk.js");
3
+ const index = require("../index-CQRefU3H.js");
4
4
  exports.Author = index.Author;
5
5
  exports.BonusCard = index.BonusCard;
6
6
  exports.Center = index.Center;
@@ -1,4 +1,4 @@
1
- import { A, B, g, C, h, E, F, a, b, G, c, d, i, H, L, j, e, P, k, S, T, f } from "../index-5_hCvFkU.mjs";
1
+ import { A, B, g, C, h, E, F, a, b, G, c, d, i, H, L, j, e, P, k, S, T, f } from "../index-CIHivV4r.mjs";
2
2
  export {
3
3
  A as Author,
4
4
  B as BonusCard,
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("react-i18next");
4
4
  const i18n = require("i18next");
5
- const i18n$1 = require("../index-uq_uSyaC.js");
5
+ const i18n$1 = require("../index-BEqFPNAt.js");
6
6
  exports.i18n = i18n;
7
7
  exports.resources = i18n$1.resources;
@@ -1,6 +1,6 @@
1
1
  import "react-i18next";
2
2
  import { default as default2 } from "i18next";
3
- import { r } from "../index-DjBQjd1k.mjs";
3
+ import { r } from "../index-F6_fGeRI.mjs";
4
4
  export {
5
5
  default2 as i18n,
6
6
  r as resources
@@ -0,0 +1,110 @@
1
+ declare const dictionary: {
2
+ readonly pageNotFound: {
3
+ seo: {
4
+ title: string;
5
+ };
6
+ title: string;
7
+ description: string;
8
+ action: string;
9
+ };
10
+ readonly footer: {
11
+ copyright: string;
12
+ disclaimer: {
13
+ title: string;
14
+ description: string;
15
+ };
16
+ };
17
+ readonly gameDemo: {
18
+ warning: string;
19
+ action: {
20
+ playForFree: string;
21
+ activateFullscreen: string;
22
+ deactivateFullscreen: string;
23
+ };
24
+ };
25
+ readonly gameInfo: {
26
+ title: string;
27
+ group: {
28
+ general: string;
29
+ features: string;
30
+ };
31
+ feature: {
32
+ BONUS_FEATURES: string;
33
+ COMPATIBILITY: string;
34
+ FUNCTIONS: string;
35
+ DEVELOPER: string;
36
+ HAS_AUTOPLAY: string;
37
+ HAS_BONUS_PURCHASE: string;
38
+ HAS_COLLECTION_SYMBOLS: string;
39
+ HAS_DEMO: string;
40
+ HAS_FAST_SPIN: string;
41
+ HAS_FREE_SPINS: string;
42
+ HAS_PROGRESSIVE_JACKPOT: string;
43
+ LANGUAGES: string;
44
+ MAX_WIN: string;
45
+ MAX_BET: string;
46
+ MIN_BET: string;
47
+ NAME: string;
48
+ PAY_LINES: string;
49
+ REELS_NUMBER: string;
50
+ RELEASE_DATE: string;
51
+ ROWS_WITH_PINS: string;
52
+ RTP: string;
53
+ THEME: string;
54
+ TYPE: string;
55
+ VOLATILITY: string;
56
+ };
57
+ value: {
58
+ boolean: {
59
+ true: string;
60
+ false: string;
61
+ };
62
+ volatility: {
63
+ HIGH: string;
64
+ MEDIUM: string;
65
+ LOW: string;
66
+ };
67
+ };
68
+ };
69
+ readonly prosCons: {
70
+ advantages: string;
71
+ disadvantages: string;
72
+ };
73
+ readonly author: {
74
+ title: string;
75
+ action: {
76
+ expand: string;
77
+ collapse: string;
78
+ };
79
+ };
80
+ readonly contactForm: {
81
+ field: {
82
+ name: {
83
+ label: string;
84
+ placeholder: string;
85
+ };
86
+ email: {
87
+ label: string;
88
+ placeholder: string;
89
+ };
90
+ message: {
91
+ label: string;
92
+ placeholder: string;
93
+ };
94
+ };
95
+ notification: {
96
+ title: string;
97
+ description: string;
98
+ };
99
+ action: {
100
+ send: string;
101
+ };
102
+ };
103
+ readonly bonusCard: {
104
+ action: {
105
+ expand: string;
106
+ collapse: string;
107
+ };
108
+ };
109
+ };
110
+ export default dictionary;
@@ -34,7 +34,7 @@ var GameCharacteristic = /* @__PURE__ */ ((GameCharacteristic2) => {
34
34
  GameCharacteristic2["Functions"] = "FUNCTIONS";
35
35
  return GameCharacteristic2;
36
36
  })(GameCharacteristic || {});
37
- const pageNotFound$2 = {
37
+ const pageNotFound$3 = {
38
38
  seo: {
39
39
  title: "Seite nicht gefunden | {{domain}}"
40
40
  },
@@ -42,14 +42,14 @@ const pageNotFound$2 = {
42
42
  description: "Entschuldigung 😔, wir konnten nicht finden, wonach Sie gesucht haben.",
43
43
  action: "Zur Startseite"
44
44
  };
45
- const footer$2 = {
45
+ const footer$3 = {
46
46
  copyright: "© {{year}} {{domain}}. Alle Rechte vorbehalten.",
47
47
  disclaimer: {
48
48
  title: "Spielen Sie verantwortungsbewusst: ",
49
49
  description: "{{domain}} ist eine unabhängige Ressource und nicht mit den von uns beworbenen Seiten verbunden. Stellen Sie sicher, dass Sie über alle erforderlichen Zertifikate verfügen und die gesetzlichen Anforderungen erfüllt sind, bevor Sie mit dem Spielen beginnen. Der Hauptzweck von {{domain}} besteht darin, informative und unterhaltsame Inhalte bereitzustellen. Wenn Sie nach Links zu verwandten Ressourcen suchen, werden Sie zu den entsprechenden Plattformen weitergeleitet."
50
50
  }
51
51
  };
52
- const gameDemo$2 = {
52
+ const gameDemo$3 = {
53
53
  warning: "Ihr Browser ist zu alt, um das iframe-Element anzuzeigen.",
54
54
  action: {
55
55
  playForFree: "Kostenlos spielen",
@@ -57,7 +57,7 @@ const gameDemo$2 = {
57
57
  deactivateFullscreen: "Vollbildmodus deaktivieren"
58
58
  }
59
59
  };
60
- const gameInfo$2 = {
60
+ const gameInfo$3 = {
61
61
  title: "Spielinfo",
62
62
  group: {
63
63
  general: "Allgemeine Eigenschaften",
@@ -101,18 +101,18 @@ const gameInfo$2 = {
101
101
  }
102
102
  }
103
103
  };
104
- const prosCons$2 = {
104
+ const prosCons$3 = {
105
105
  advantages: "Vorteile",
106
106
  disadvantages: "Nachteile"
107
107
  };
108
- const author$2 = {
108
+ const author$3 = {
109
109
  title: "Veröffentlicht von",
110
110
  action: {
111
111
  expand: "Mehr anzeigen",
112
112
  collapse: "Ausblenden"
113
113
  }
114
114
  };
115
- const contactForm$2 = {
115
+ const contactForm$3 = {
116
116
  field: {
117
117
  name: {
118
118
  label: "Name",
@@ -135,23 +135,23 @@ const contactForm$2 = {
135
135
  send: "Nachricht senden"
136
136
  }
137
137
  };
138
- const bonusCard$2 = {
138
+ const bonusCard$3 = {
139
139
  action: {
140
140
  expand: "Mehr erfahren",
141
141
  collapse: "Ausblenden"
142
142
  }
143
143
  };
144
- const dictionary$2 = {
145
- pageNotFound: pageNotFound$2,
146
- footer: footer$2,
147
- gameDemo: gameDemo$2,
148
- gameInfo: gameInfo$2,
149
- prosCons: prosCons$2,
150
- author: author$2,
151
- contactForm: contactForm$2,
152
- bonusCard: bonusCard$2
144
+ const dictionary$3 = {
145
+ pageNotFound: pageNotFound$3,
146
+ footer: footer$3,
147
+ gameDemo: gameDemo$3,
148
+ gameInfo: gameInfo$3,
149
+ prosCons: prosCons$3,
150
+ author: author$3,
151
+ contactForm: contactForm$3,
152
+ bonusCard: bonusCard$3
153
153
  };
154
- const pageNotFound$1 = {
154
+ const pageNotFound$2 = {
155
155
  seo: {
156
156
  title: "Page not found | {{domain}}"
157
157
  },
@@ -159,14 +159,14 @@ const pageNotFound$1 = {
159
159
  description: "Sorry 😔, we couldn’t find what you were looking for.",
160
160
  action: "Go Home"
161
161
  };
162
- const footer$1 = {
162
+ const footer$2 = {
163
163
  copyright: "© {{year}} {{domain}}. All rights reserved.",
164
164
  disclaimer: {
165
165
  title: "Play responsibly: ",
166
166
  description: "{{domain}} is an independent resource not affiliated with the sites we promote. Make sure you have all the necessary certifications and legal requirements are met before you start playing. The main purpose of {{domain}} is to provide informative and entertaining content. If you are looking for links to related resources, you will be redirected to the relevant platforms."
167
167
  }
168
168
  };
169
- const gameDemo$1 = {
169
+ const gameDemo$2 = {
170
170
  warning: "Your browser is too old to display the iframe element",
171
171
  action: {
172
172
  playForFree: "Play for Free",
@@ -174,7 +174,7 @@ const gameDemo$1 = {
174
174
  deactivateFullscreen: "Deactivate Fullscreen mode"
175
175
  }
176
176
  };
177
- const gameInfo$1 = {
177
+ const gameInfo$2 = {
178
178
  title: "Game Info",
179
179
  group: {
180
180
  general: "General Characteristics",
@@ -218,18 +218,18 @@ const gameInfo$1 = {
218
218
  }
219
219
  }
220
220
  };
221
- const prosCons$1 = {
221
+ const prosCons$2 = {
222
222
  advantages: "Advantages",
223
223
  disadvantages: "Disadvantages"
224
224
  };
225
- const author$1 = {
225
+ const author$2 = {
226
226
  title: "Published by",
227
227
  action: {
228
228
  expand: "Show more",
229
229
  collapse: "Hide"
230
230
  }
231
231
  };
232
- const contactForm$1 = {
232
+ const contactForm$2 = {
233
233
  field: {
234
234
  name: {
235
235
  label: "Name",
@@ -252,23 +252,23 @@ const contactForm$1 = {
252
252
  send: "Send Message"
253
253
  }
254
254
  };
255
- const bonusCard$1 = {
255
+ const bonusCard$2 = {
256
256
  action: {
257
257
  expand: "Learn more",
258
258
  collapse: "Hide"
259
259
  }
260
260
  };
261
- const dictionary$1 = {
262
- pageNotFound: pageNotFound$1,
263
- footer: footer$1,
264
- gameDemo: gameDemo$1,
265
- gameInfo: gameInfo$1,
266
- prosCons: prosCons$1,
267
- author: author$1,
268
- contactForm: contactForm$1,
269
- bonusCard: bonusCard$1
261
+ const dictionary$2 = {
262
+ pageNotFound: pageNotFound$2,
263
+ footer: footer$2,
264
+ gameDemo: gameDemo$2,
265
+ gameInfo: gameInfo$2,
266
+ prosCons: prosCons$2,
267
+ author: author$2,
268
+ contactForm: contactForm$2,
269
+ bonusCard: bonusCard$2
270
270
  };
271
- const pageNotFound = {
271
+ const pageNotFound$1 = {
272
272
  seo: {
273
273
  title: "Pagina non trovata | {{domain}}"
274
274
  },
@@ -276,14 +276,14 @@ const pageNotFound = {
276
276
  description: "Spiacenti 😔, non siamo riusciti a trovare quello che cercavi.",
277
277
  action: "Ritorna alla pagina principale"
278
278
  };
279
- const footer = {
279
+ const footer$1 = {
280
280
  copyright: "© {{year}} {{domain}}. Tutte le cose sono fatte.",
281
281
  disclaimer: {
282
282
  title: "Gioca responsabilmente: ",
283
283
  description: "{{domain}} è una risorsa indipendente e non affiliata ai siti che promuoviamo. Prima di iniziare a giocare, assicurati di possedere tutte le certificazioni necessarie e di rispettare i requisiti legali in vigore. L'obiettivo principale di {{domain}} è offrire contenuti informativi e di intrattenimento. Se cerchi collegamenti a risorse correlate, verrai reindirizzato alle piattaforme pertinenti."
284
284
  }
285
285
  };
286
- const gameDemo = {
286
+ const gameDemo$1 = {
287
287
  warning: "Il tuo browser è troppo vecchio per visualizzare l'elemento iframe",
288
288
  action: {
289
289
  playForFree: "Gioca gratis",
@@ -291,7 +291,7 @@ const gameDemo = {
291
291
  deactivateFullscreen: "Disattiva la modalità a schermo intero"
292
292
  }
293
293
  };
294
- const gameInfo = {
294
+ const gameInfo$1 = {
295
295
  title: "Informazioni sul gioco",
296
296
  group: {
297
297
  general: "Caratteristiche principali",
@@ -335,18 +335,18 @@ const gameInfo = {
335
335
  }
336
336
  }
337
337
  };
338
- const prosCons = {
338
+ const prosCons$1 = {
339
339
  advantages: "Vantaggi",
340
340
  disadvantages: "Svantaggi"
341
341
  };
342
- const author = {
342
+ const author$1 = {
343
343
  title: "Informazioni sull'autore",
344
344
  action: {
345
345
  expand: "Mostra per intero",
346
346
  collapse: "Nascondi"
347
347
  }
348
348
  };
349
- const contactForm = {
349
+ const contactForm$1 = {
350
350
  field: {
351
351
  name: {
352
352
  label: "Nome",
@@ -369,12 +369,129 @@ const contactForm = {
369
369
  send: "Invia Messaggio"
370
370
  }
371
371
  };
372
- const bonusCard = {
372
+ const bonusCard$1 = {
373
373
  action: {
374
374
  expand: "Scopri di più",
375
375
  collapse: "Nascondi"
376
376
  }
377
377
  };
378
+ const dictionary$1 = {
379
+ pageNotFound: pageNotFound$1,
380
+ footer: footer$1,
381
+ gameDemo: gameDemo$1,
382
+ gameInfo: gameInfo$1,
383
+ prosCons: prosCons$1,
384
+ author: author$1,
385
+ contactForm: contactForm$1,
386
+ bonusCard: bonusCard$1
387
+ };
388
+ const pageNotFound = {
389
+ seo: {
390
+ title: "Страница не найдена | {{domain}}"
391
+ },
392
+ title: "404 — Страница не найдена",
393
+ description: "Извините 😔, мы не смогли найти то, что вы искали.",
394
+ action: "На главную"
395
+ };
396
+ const footer = {
397
+ copyright: "© {{year}} {{domain}}. Все права защищены.",
398
+ disclaimer: {
399
+ title: "Играйте ответственно: ",
400
+ description: "{{domain}} — независимый ресурс, не связанный с продвигаемыми сайтами. Убедитесь, что у вас есть все необходимые сертификаты и соблюдены юридические требования перед началом игры. Основная цель {{domain}} — предоставление информационного и развлекательного контента. Если вы ищете ссылки на связанные ресурсы, вас перенаправят на соответствующие платформы."
401
+ }
402
+ };
403
+ const gameDemo = {
404
+ warning: "Ваш браузер слишком устарел для отображения элемента iframe",
405
+ action: {
406
+ playForFree: "Играть бесплатно",
407
+ activateFullscreen: "Включить полноэкранный режим",
408
+ deactivateFullscreen: "Выключить полноэкранный режим"
409
+ }
410
+ };
411
+ const gameInfo = {
412
+ title: "Информация об игре",
413
+ group: {
414
+ general: "Основные характеристики",
415
+ features: "Особенности игры"
416
+ },
417
+ feature: {
418
+ [GameCharacteristic.BonusFeatures]: "Бонусные функции",
419
+ [GameCharacteristic.Compatibility]: "Совместимость",
420
+ [GameCharacteristic.Functions]: "Функции",
421
+ [GameCharacteristic.Developer]: "Разработчик",
422
+ [GameCharacteristic.HasAutoplay]: "Автоигра",
423
+ [GameCharacteristic.HasBonusPurchase]: "Покупка бонуса",
424
+ [GameCharacteristic.HasCollectionSymbols]: "Символы коллекции",
425
+ [GameCharacteristic.HasDemo]: "Демо-версия",
426
+ [GameCharacteristic.HasFastSpin]: "Быстрый спин",
427
+ [GameCharacteristic.HasFreeSpins]: "Фриспины",
428
+ [GameCharacteristic.HasProgressiveJackpot]: "Прогрессивный джекпот",
429
+ [GameCharacteristic.Languages]: "Языки",
430
+ [GameCharacteristic.MaxWin]: "Максимальный выигрыш",
431
+ [GameCharacteristic.MaxBet]: "Максимальная ставка",
432
+ [GameCharacteristic.MinBet]: "Минимальная ставка",
433
+ [GameCharacteristic.Name]: "Название",
434
+ [GameCharacteristic.PayLines]: "Количество линий выплат",
435
+ [GameCharacteristic.ReelsNumber]: "Количество барабанов",
436
+ [GameCharacteristic.ReleaseDate]: "Дата выхода",
437
+ [GameCharacteristic.RowsWithPins]: "Количество рядов с пинами",
438
+ [GameCharacteristic.Rtp]: "RTP",
439
+ [GameCharacteristic.Theme]: "Тема",
440
+ [GameCharacteristic.Type]: "Тип",
441
+ [GameCharacteristic.Volatility]: "Волатильность"
442
+ },
443
+ value: {
444
+ boolean: {
445
+ true: "Есть",
446
+ false: "Нет"
447
+ },
448
+ volatility: {
449
+ [GameVolatility.High]: "Высокая",
450
+ [GameVolatility.Medium]: "Средняя",
451
+ [GameVolatility.Low]: "Низкая"
452
+ }
453
+ }
454
+ };
455
+ const prosCons = {
456
+ advantages: "Преимущества",
457
+ disadvantages: "Недостатки"
458
+ };
459
+ const author = {
460
+ title: "Автор",
461
+ action: {
462
+ expand: "Показать больше",
463
+ collapse: "Скрыть"
464
+ }
465
+ };
466
+ const contactForm = {
467
+ field: {
468
+ name: {
469
+ label: "Имя",
470
+ placeholder: "Ваше имя"
471
+ },
472
+ email: {
473
+ label: "Email",
474
+ placeholder: "Ваш Email"
475
+ },
476
+ message: {
477
+ label: "Сообщение",
478
+ placeholder: "Ваше сообщение"
479
+ }
480
+ },
481
+ notification: {
482
+ title: "{{name}}, спасибо за ваш отзыв!",
483
+ description: "Мы свяжемся с вами по адресу {{email}} как можно скорее."
484
+ },
485
+ action: {
486
+ send: "Отправить сообщение"
487
+ }
488
+ };
489
+ const bonusCard = {
490
+ action: {
491
+ expand: "Подробнее",
492
+ collapse: "Скрыть"
493
+ }
494
+ };
378
495
  const dictionary = {
379
496
  pageNotFound,
380
497
  footer,
@@ -386,9 +503,10 @@ const dictionary = {
386
503
  bonusCard
387
504
  };
388
505
  const resources = {
389
- en: dictionary$1,
390
- it: dictionary,
391
- de: dictionary$2
506
+ en: dictionary$2,
507
+ it: dictionary$1,
508
+ de: dictionary$3,
509
+ ru: dictionary
392
510
  };
393
511
  const DEFAULT_LANGUAGE = "en";
394
512
  i18n.use(reactI18next.initReactI18next).init({
@@ -1,5 +1,5 @@
1
1
  import { keyframes } from "@emotion/react";
2
- import "./index-DjBQjd1k.mjs";
2
+ import "./index-F6_fGeRI.mjs";
3
3
  import i18n from "i18next";
4
4
  const pulse = keyframes`
5
5
  0% {
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { Center as Center$1, Box, Collapse, Text, Button, Flex, Stack, Image, SimpleGrid, Link, Card, CardHeader, Heading, CardBody, Popover, PopoverTrigger, Portal, PopoverContent, PopoverBody, CardFooter, useToast, useColorModeValue, VStack, FormControl, FormLabel, InputGroup, InputLeftElement, Input, Textarea, Accordion, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, LinkBox, LinkOverlay, IconButton, AbsoluteCenter, Spinner, useDisclosure, Divider, Circle, Container as Container$1, List as List$1, ListItem, Icon, ListIcon, TableContainer, Table as Table$1, Thead, Tr, Th, Tbody, Td, TableCaption, Tabs as Tabs$1, TabList, Tab, TabPanels, TabPanel } from "@chakra-ui/react";
3
3
  import { useTranslation } from "react-i18next";
4
- import { A as Animation, b as formatNumber, c as getCurrencySymbol, f as formatDate, d as getDomain, g as getCurrentYear, a as getCurrentMonth } from "./index-CxCmXGhl.mjs";
5
- import { a as GameCharacteristic } from "./index-DjBQjd1k.mjs";
4
+ import { A as Animation, b as formatNumber, c as getCurrencySymbol, f as formatDate, d as getDomain, g as getCurrentYear, a as getCurrentMonth } from "./index-BqUBNm7v.mjs";
5
+ import { a as GameCharacteristic } from "./index-F6_fGeRI.mjs";
6
6
  import "@ctrl/tinycolor";
7
7
  import "@mdx-js/react";
8
8
  import { u as useSiteContext } from "./index-BNb-P8a6.mjs";
@@ -143,12 +143,13 @@ const BonusCardTitle = ({ content }) => {
143
143
  }
144
144
  );
145
145
  };
146
- const BonusCard = ({ title, subtitle, content, link, image }) => {
146
+ const BonusCard = ({ title, subtitle, content, link, image, className }) => {
147
147
  return /* @__PURE__ */ jsxs(
148
148
  Card,
149
149
  {
150
150
  as: "article",
151
151
  h: "full",
152
+ color: "whiteAlpha.900",
152
153
  bg: "linear-gradient(90deg, #3b1f47, #731d58)",
153
154
  _before: image ? {
154
155
  content: '""',
@@ -163,6 +164,7 @@ const BonusCard = ({ title, subtitle, content, link, image }) => {
163
164
  filter: "blur(0.05em) opacity(50%)",
164
165
  zIndex: 0
165
166
  } : void 0,
167
+ className,
166
168
  children: [
167
169
  /* @__PURE__ */ jsxs(CardBody, { as: "section", pb: 0, flex: 1, children: [
168
170
  /* @__PURE__ */ jsx(BonusCardTitle, { content: title }),
@@ -304,7 +306,7 @@ const Features = ({ features, ...boxProps }) => {
304
306
  }
305
307
  );
306
308
  };
307
- const GameCard = ({ name, image, link }) => {
309
+ const GameCard = ({ name, description, image, link, height = "auto" }) => {
308
310
  return /* @__PURE__ */ jsxs(
309
311
  LinkBox,
310
312
  {
@@ -314,11 +316,15 @@ const GameCard = ({ name, image, link }) => {
314
316
  transition: "transform 0.2s ease",
315
317
  cursor: link ? "pointer" : "default",
316
318
  overflow: "hidden",
317
- bg: "blackAlpha.400",
319
+ bg: "blackAlpha.200",
320
+ height,
318
321
  _hover: { transform: "scale(1.1)" },
319
322
  children: [
320
323
  typeof image === "string" ? /* @__PURE__ */ jsx(Image, { src: image, alt: name, w: "100%", aspectRatio: "16/9", objectFit: "cover", objectPosition: "center" }) : !!image && /* @__PURE__ */ jsx(Box, { w: "100%", aspectRatio: "16/9", children: image }),
321
- /* @__PURE__ */ jsx(Box, { as: "section", rounded: "md", p: 4, children: /* @__PURE__ */ jsx(Text, { as: "span", children: link ? /* @__PURE__ */ jsx(LinkOverlay, { href: link, children: name }) : name }) })
324
+ /* @__PURE__ */ jsxs(Box, { as: "section", rounded: "md", p: 4, children: [
325
+ /* @__PURE__ */ jsx(Text, { as: "span", children: link ? /* @__PURE__ */ jsx(LinkOverlay, { href: link, children: name }) : name }),
326
+ !!description && /* @__PURE__ */ jsx(Text, { fontSize: "sm", color: "gray.600", children: description })
327
+ ] })
322
328
  ]
323
329
  }
324
330
  );
@@ -2,8 +2,8 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const react = require("@chakra-ui/react");
4
4
  const reactI18next = require("react-i18next");
5
- const index$1 = require("./index-CKjc79l2.js");
6
- const i18n = require("./index-uq_uSyaC.js");
5
+ const index$1 = require("./index-D2APUOog.js");
6
+ const i18n = require("./index-BEqFPNAt.js");
7
7
  require("@ctrl/tinycolor");
8
8
  require("@mdx-js/react");
9
9
  const index = require("./index-BhsXlbd8.js");
@@ -144,12 +144,13 @@ const BonusCardTitle = ({ content }) => {
144
144
  }
145
145
  );
146
146
  };
147
- const BonusCard = ({ title, subtitle, content, link, image }) => {
147
+ const BonusCard = ({ title, subtitle, content, link, image, className }) => {
148
148
  return /* @__PURE__ */ jsxRuntime.jsxs(
149
149
  react.Card,
150
150
  {
151
151
  as: "article",
152
152
  h: "full",
153
+ color: "whiteAlpha.900",
153
154
  bg: "linear-gradient(90deg, #3b1f47, #731d58)",
154
155
  _before: image ? {
155
156
  content: '""',
@@ -164,6 +165,7 @@ const BonusCard = ({ title, subtitle, content, link, image }) => {
164
165
  filter: "blur(0.05em) opacity(50%)",
165
166
  zIndex: 0
166
167
  } : void 0,
168
+ className,
167
169
  children: [
168
170
  /* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "section", pb: 0, flex: 1, children: [
169
171
  /* @__PURE__ */ jsxRuntime.jsx(BonusCardTitle, { content: title }),
@@ -305,7 +307,7 @@ const Features = ({ features, ...boxProps }) => {
305
307
  }
306
308
  );
307
309
  };
308
- const GameCard = ({ name, image, link }) => {
310
+ const GameCard = ({ name, description, image, link, height = "auto" }) => {
309
311
  return /* @__PURE__ */ jsxRuntime.jsxs(
310
312
  react.LinkBox,
311
313
  {
@@ -315,11 +317,15 @@ const GameCard = ({ name, image, link }) => {
315
317
  transition: "transform 0.2s ease",
316
318
  cursor: link ? "pointer" : "default",
317
319
  overflow: "hidden",
318
- bg: "blackAlpha.400",
320
+ bg: "blackAlpha.200",
321
+ height,
319
322
  _hover: { transform: "scale(1.1)" },
320
323
  children: [
321
324
  typeof image === "string" ? /* @__PURE__ */ jsxRuntime.jsx(react.Image, { src: image, alt: name, w: "100%", aspectRatio: "16/9", objectFit: "cover", objectPosition: "center" }) : !!image && /* @__PURE__ */ jsxRuntime.jsx(react.Box, { w: "100%", aspectRatio: "16/9", children: image }),
322
- /* @__PURE__ */ jsxRuntime.jsx(react.Box, { as: "section", rounded: "md", p: 4, children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", children: link ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { href: link, children: name }) : name }) })
325
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "section", rounded: "md", p: 4, children: [
326
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", children: link ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { href: link, children: name }) : name }),
327
+ !!description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: "gray.600", children: description })
328
+ ] })
323
329
  ]
324
330
  }
325
331
  );
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const react = require("@emotion/react");
3
- require("./index-uq_uSyaC.js");
3
+ require("./index-BEqFPNAt.js");
4
4
  const i18n = require("i18next");
5
5
  const pulse = react.keyframes`
6
6
  0% {
@@ -33,7 +33,7 @@ var GameCharacteristic = /* @__PURE__ */ ((GameCharacteristic2) => {
33
33
  GameCharacteristic2["Functions"] = "FUNCTIONS";
34
34
  return GameCharacteristic2;
35
35
  })(GameCharacteristic || {});
36
- const pageNotFound$2 = {
36
+ const pageNotFound$3 = {
37
37
  seo: {
38
38
  title: "Seite nicht gefunden | {{domain}}"
39
39
  },
@@ -41,14 +41,14 @@ const pageNotFound$2 = {
41
41
  description: "Entschuldigung 😔, wir konnten nicht finden, wonach Sie gesucht haben.",
42
42
  action: "Zur Startseite"
43
43
  };
44
- const footer$2 = {
44
+ const footer$3 = {
45
45
  copyright: "© {{year}} {{domain}}. Alle Rechte vorbehalten.",
46
46
  disclaimer: {
47
47
  title: "Spielen Sie verantwortungsbewusst: ",
48
48
  description: "{{domain}} ist eine unabhängige Ressource und nicht mit den von uns beworbenen Seiten verbunden. Stellen Sie sicher, dass Sie über alle erforderlichen Zertifikate verfügen und die gesetzlichen Anforderungen erfüllt sind, bevor Sie mit dem Spielen beginnen. Der Hauptzweck von {{domain}} besteht darin, informative und unterhaltsame Inhalte bereitzustellen. Wenn Sie nach Links zu verwandten Ressourcen suchen, werden Sie zu den entsprechenden Plattformen weitergeleitet."
49
49
  }
50
50
  };
51
- const gameDemo$2 = {
51
+ const gameDemo$3 = {
52
52
  warning: "Ihr Browser ist zu alt, um das iframe-Element anzuzeigen.",
53
53
  action: {
54
54
  playForFree: "Kostenlos spielen",
@@ -56,7 +56,7 @@ const gameDemo$2 = {
56
56
  deactivateFullscreen: "Vollbildmodus deaktivieren"
57
57
  }
58
58
  };
59
- const gameInfo$2 = {
59
+ const gameInfo$3 = {
60
60
  title: "Spielinfo",
61
61
  group: {
62
62
  general: "Allgemeine Eigenschaften",
@@ -100,18 +100,18 @@ const gameInfo$2 = {
100
100
  }
101
101
  }
102
102
  };
103
- const prosCons$2 = {
103
+ const prosCons$3 = {
104
104
  advantages: "Vorteile",
105
105
  disadvantages: "Nachteile"
106
106
  };
107
- const author$2 = {
107
+ const author$3 = {
108
108
  title: "Veröffentlicht von",
109
109
  action: {
110
110
  expand: "Mehr anzeigen",
111
111
  collapse: "Ausblenden"
112
112
  }
113
113
  };
114
- const contactForm$2 = {
114
+ const contactForm$3 = {
115
115
  field: {
116
116
  name: {
117
117
  label: "Name",
@@ -134,23 +134,23 @@ const contactForm$2 = {
134
134
  send: "Nachricht senden"
135
135
  }
136
136
  };
137
- const bonusCard$2 = {
137
+ const bonusCard$3 = {
138
138
  action: {
139
139
  expand: "Mehr erfahren",
140
140
  collapse: "Ausblenden"
141
141
  }
142
142
  };
143
- const dictionary$2 = {
144
- pageNotFound: pageNotFound$2,
145
- footer: footer$2,
146
- gameDemo: gameDemo$2,
147
- gameInfo: gameInfo$2,
148
- prosCons: prosCons$2,
149
- author: author$2,
150
- contactForm: contactForm$2,
151
- bonusCard: bonusCard$2
143
+ const dictionary$3 = {
144
+ pageNotFound: pageNotFound$3,
145
+ footer: footer$3,
146
+ gameDemo: gameDemo$3,
147
+ gameInfo: gameInfo$3,
148
+ prosCons: prosCons$3,
149
+ author: author$3,
150
+ contactForm: contactForm$3,
151
+ bonusCard: bonusCard$3
152
152
  };
153
- const pageNotFound$1 = {
153
+ const pageNotFound$2 = {
154
154
  seo: {
155
155
  title: "Page not found | {{domain}}"
156
156
  },
@@ -158,14 +158,14 @@ const pageNotFound$1 = {
158
158
  description: "Sorry 😔, we couldn’t find what you were looking for.",
159
159
  action: "Go Home"
160
160
  };
161
- const footer$1 = {
161
+ const footer$2 = {
162
162
  copyright: "© {{year}} {{domain}}. All rights reserved.",
163
163
  disclaimer: {
164
164
  title: "Play responsibly: ",
165
165
  description: "{{domain}} is an independent resource not affiliated with the sites we promote. Make sure you have all the necessary certifications and legal requirements are met before you start playing. The main purpose of {{domain}} is to provide informative and entertaining content. If you are looking for links to related resources, you will be redirected to the relevant platforms."
166
166
  }
167
167
  };
168
- const gameDemo$1 = {
168
+ const gameDemo$2 = {
169
169
  warning: "Your browser is too old to display the iframe element",
170
170
  action: {
171
171
  playForFree: "Play for Free",
@@ -173,7 +173,7 @@ const gameDemo$1 = {
173
173
  deactivateFullscreen: "Deactivate Fullscreen mode"
174
174
  }
175
175
  };
176
- const gameInfo$1 = {
176
+ const gameInfo$2 = {
177
177
  title: "Game Info",
178
178
  group: {
179
179
  general: "General Characteristics",
@@ -217,18 +217,18 @@ const gameInfo$1 = {
217
217
  }
218
218
  }
219
219
  };
220
- const prosCons$1 = {
220
+ const prosCons$2 = {
221
221
  advantages: "Advantages",
222
222
  disadvantages: "Disadvantages"
223
223
  };
224
- const author$1 = {
224
+ const author$2 = {
225
225
  title: "Published by",
226
226
  action: {
227
227
  expand: "Show more",
228
228
  collapse: "Hide"
229
229
  }
230
230
  };
231
- const contactForm$1 = {
231
+ const contactForm$2 = {
232
232
  field: {
233
233
  name: {
234
234
  label: "Name",
@@ -251,23 +251,23 @@ const contactForm$1 = {
251
251
  send: "Send Message"
252
252
  }
253
253
  };
254
- const bonusCard$1 = {
254
+ const bonusCard$2 = {
255
255
  action: {
256
256
  expand: "Learn more",
257
257
  collapse: "Hide"
258
258
  }
259
259
  };
260
- const dictionary$1 = {
261
- pageNotFound: pageNotFound$1,
262
- footer: footer$1,
263
- gameDemo: gameDemo$1,
264
- gameInfo: gameInfo$1,
265
- prosCons: prosCons$1,
266
- author: author$1,
267
- contactForm: contactForm$1,
268
- bonusCard: bonusCard$1
260
+ const dictionary$2 = {
261
+ pageNotFound: pageNotFound$2,
262
+ footer: footer$2,
263
+ gameDemo: gameDemo$2,
264
+ gameInfo: gameInfo$2,
265
+ prosCons: prosCons$2,
266
+ author: author$2,
267
+ contactForm: contactForm$2,
268
+ bonusCard: bonusCard$2
269
269
  };
270
- const pageNotFound = {
270
+ const pageNotFound$1 = {
271
271
  seo: {
272
272
  title: "Pagina non trovata | {{domain}}"
273
273
  },
@@ -275,14 +275,14 @@ const pageNotFound = {
275
275
  description: "Spiacenti 😔, non siamo riusciti a trovare quello che cercavi.",
276
276
  action: "Ritorna alla pagina principale"
277
277
  };
278
- const footer = {
278
+ const footer$1 = {
279
279
  copyright: "© {{year}} {{domain}}. Tutte le cose sono fatte.",
280
280
  disclaimer: {
281
281
  title: "Gioca responsabilmente: ",
282
282
  description: "{{domain}} è una risorsa indipendente e non affiliata ai siti che promuoviamo. Prima di iniziare a giocare, assicurati di possedere tutte le certificazioni necessarie e di rispettare i requisiti legali in vigore. L'obiettivo principale di {{domain}} è offrire contenuti informativi e di intrattenimento. Se cerchi collegamenti a risorse correlate, verrai reindirizzato alle piattaforme pertinenti."
283
283
  }
284
284
  };
285
- const gameDemo = {
285
+ const gameDemo$1 = {
286
286
  warning: "Il tuo browser è troppo vecchio per visualizzare l'elemento iframe",
287
287
  action: {
288
288
  playForFree: "Gioca gratis",
@@ -290,7 +290,7 @@ const gameDemo = {
290
290
  deactivateFullscreen: "Disattiva la modalità a schermo intero"
291
291
  }
292
292
  };
293
- const gameInfo = {
293
+ const gameInfo$1 = {
294
294
  title: "Informazioni sul gioco",
295
295
  group: {
296
296
  general: "Caratteristiche principali",
@@ -334,18 +334,18 @@ const gameInfo = {
334
334
  }
335
335
  }
336
336
  };
337
- const prosCons = {
337
+ const prosCons$1 = {
338
338
  advantages: "Vantaggi",
339
339
  disadvantages: "Svantaggi"
340
340
  };
341
- const author = {
341
+ const author$1 = {
342
342
  title: "Informazioni sull'autore",
343
343
  action: {
344
344
  expand: "Mostra per intero",
345
345
  collapse: "Nascondi"
346
346
  }
347
347
  };
348
- const contactForm = {
348
+ const contactForm$1 = {
349
349
  field: {
350
350
  name: {
351
351
  label: "Nome",
@@ -368,12 +368,129 @@ const contactForm = {
368
368
  send: "Invia Messaggio"
369
369
  }
370
370
  };
371
- const bonusCard = {
371
+ const bonusCard$1 = {
372
372
  action: {
373
373
  expand: "Scopri di più",
374
374
  collapse: "Nascondi"
375
375
  }
376
376
  };
377
+ const dictionary$1 = {
378
+ pageNotFound: pageNotFound$1,
379
+ footer: footer$1,
380
+ gameDemo: gameDemo$1,
381
+ gameInfo: gameInfo$1,
382
+ prosCons: prosCons$1,
383
+ author: author$1,
384
+ contactForm: contactForm$1,
385
+ bonusCard: bonusCard$1
386
+ };
387
+ const pageNotFound = {
388
+ seo: {
389
+ title: "Страница не найдена | {{domain}}"
390
+ },
391
+ title: "404 — Страница не найдена",
392
+ description: "Извините 😔, мы не смогли найти то, что вы искали.",
393
+ action: "На главную"
394
+ };
395
+ const footer = {
396
+ copyright: "© {{year}} {{domain}}. Все права защищены.",
397
+ disclaimer: {
398
+ title: "Играйте ответственно: ",
399
+ description: "{{domain}} — независимый ресурс, не связанный с продвигаемыми сайтами. Убедитесь, что у вас есть все необходимые сертификаты и соблюдены юридические требования перед началом игры. Основная цель {{domain}} — предоставление информационного и развлекательного контента. Если вы ищете ссылки на связанные ресурсы, вас перенаправят на соответствующие платформы."
400
+ }
401
+ };
402
+ const gameDemo = {
403
+ warning: "Ваш браузер слишком устарел для отображения элемента iframe",
404
+ action: {
405
+ playForFree: "Играть бесплатно",
406
+ activateFullscreen: "Включить полноэкранный режим",
407
+ deactivateFullscreen: "Выключить полноэкранный режим"
408
+ }
409
+ };
410
+ const gameInfo = {
411
+ title: "Информация об игре",
412
+ group: {
413
+ general: "Основные характеристики",
414
+ features: "Особенности игры"
415
+ },
416
+ feature: {
417
+ [GameCharacteristic.BonusFeatures]: "Бонусные функции",
418
+ [GameCharacteristic.Compatibility]: "Совместимость",
419
+ [GameCharacteristic.Functions]: "Функции",
420
+ [GameCharacteristic.Developer]: "Разработчик",
421
+ [GameCharacteristic.HasAutoplay]: "Автоигра",
422
+ [GameCharacteristic.HasBonusPurchase]: "Покупка бонуса",
423
+ [GameCharacteristic.HasCollectionSymbols]: "Символы коллекции",
424
+ [GameCharacteristic.HasDemo]: "Демо-версия",
425
+ [GameCharacteristic.HasFastSpin]: "Быстрый спин",
426
+ [GameCharacteristic.HasFreeSpins]: "Фриспины",
427
+ [GameCharacteristic.HasProgressiveJackpot]: "Прогрессивный джекпот",
428
+ [GameCharacteristic.Languages]: "Языки",
429
+ [GameCharacteristic.MaxWin]: "Максимальный выигрыш",
430
+ [GameCharacteristic.MaxBet]: "Максимальная ставка",
431
+ [GameCharacteristic.MinBet]: "Минимальная ставка",
432
+ [GameCharacteristic.Name]: "Название",
433
+ [GameCharacteristic.PayLines]: "Количество линий выплат",
434
+ [GameCharacteristic.ReelsNumber]: "Количество барабанов",
435
+ [GameCharacteristic.ReleaseDate]: "Дата выхода",
436
+ [GameCharacteristic.RowsWithPins]: "Количество рядов с пинами",
437
+ [GameCharacteristic.Rtp]: "RTP",
438
+ [GameCharacteristic.Theme]: "Тема",
439
+ [GameCharacteristic.Type]: "Тип",
440
+ [GameCharacteristic.Volatility]: "Волатильность"
441
+ },
442
+ value: {
443
+ boolean: {
444
+ true: "Есть",
445
+ false: "Нет"
446
+ },
447
+ volatility: {
448
+ [GameVolatility.High]: "Высокая",
449
+ [GameVolatility.Medium]: "Средняя",
450
+ [GameVolatility.Low]: "Низкая"
451
+ }
452
+ }
453
+ };
454
+ const prosCons = {
455
+ advantages: "Преимущества",
456
+ disadvantages: "Недостатки"
457
+ };
458
+ const author = {
459
+ title: "Автор",
460
+ action: {
461
+ expand: "Показать больше",
462
+ collapse: "Скрыть"
463
+ }
464
+ };
465
+ const contactForm = {
466
+ field: {
467
+ name: {
468
+ label: "Имя",
469
+ placeholder: "Ваше имя"
470
+ },
471
+ email: {
472
+ label: "Email",
473
+ placeholder: "Ваш Email"
474
+ },
475
+ message: {
476
+ label: "Сообщение",
477
+ placeholder: "Ваше сообщение"
478
+ }
479
+ },
480
+ notification: {
481
+ title: "{{name}}, спасибо за ваш отзыв!",
482
+ description: "Мы свяжемся с вами по адресу {{email}} как можно скорее."
483
+ },
484
+ action: {
485
+ send: "Отправить сообщение"
486
+ }
487
+ };
488
+ const bonusCard = {
489
+ action: {
490
+ expand: "Подробнее",
491
+ collapse: "Скрыть"
492
+ }
493
+ };
377
494
  const dictionary = {
378
495
  pageNotFound,
379
496
  footer,
@@ -385,9 +502,10 @@ const dictionary = {
385
502
  bonusCard
386
503
  };
387
504
  const resources = {
388
- en: dictionary$1,
389
- it: dictionary,
390
- de: dictionary$2
505
+ en: dictionary$2,
506
+ it: dictionary$1,
507
+ de: dictionary$3,
508
+ ru: dictionary
391
509
  };
392
510
  const DEFAULT_LANGUAGE = "en";
393
511
  i18n.use(initReactI18next).init({
package/dist/index.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-CupM-mJk.js");
3
+ const index = require("./index-CQRefU3H.js");
4
4
  const index$1 = require("./index-IpSV-c71.js");
5
- const i18n$1 = require("./index-uq_uSyaC.js");
5
+ const i18n$1 = require("./index-BEqFPNAt.js");
6
6
  const index$2 = require("./index-m97PmVsd.js");
7
7
  const index$3 = require("./index-BhsXlbd8.js");
8
- const index$4 = require("./index-CKjc79l2.js");
8
+ const index$4 = require("./index-D2APUOog.js");
9
9
  const index$5 = require("./index-B-5oUop6.js");
10
10
  const i18n = require("i18next");
11
11
  exports.Author = index.Author;
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { A, B, g, C, h, E, F, a, b, G, c, d, i, H, L, j, e, P, k, S, T, f } from "./index-5_hCvFkU.mjs";
1
+ import { A, B, g, C, h, E, F, a, b, G, c, d, i, H, L, j, e, P, k, S, T, f } from "./index-CIHivV4r.mjs";
2
2
  import { u } from "./index-xuSxvz5z.mjs";
3
- import { a as a2, G as G2, r } from "./index-DjBQjd1k.mjs";
3
+ import { a as a2, G as G2, r } from "./index-F6_fGeRI.mjs";
4
4
  import { M } from "./index-C-e_0aJJ.mjs";
5
5
  import { S as S2, u as u2 } from "./index-BNb-P8a6.mjs";
6
- import { A as A2, f as f2, b as b2, c as c2, a as a3, g as g2, d as d2, p, r as r2, t } from "./index-CxCmXGhl.mjs";
6
+ import { A as A2, f as f2, b as b2, c as c2, a as a3, g as g2, d as d2, p, r as r2, t } from "./index-BqUBNm7v.mjs";
7
7
  import { e as e2, g as g3 } from "./index-BUx1Bxrs.mjs";
8
8
  import { default as default2 } from "i18next";
9
9
  export {
@@ -1,3 +1,4 @@
1
1
  export interface IGame {
2
2
  name: string;
3
+ description?: string;
3
4
  }
@@ -1,2 +1,2 @@
1
- export type LanguageCode = 'en' | 'it' | 'de';
2
- export type Currency = 'USD' | 'EUR' | 'GBP';
1
+ export type LanguageCode = 'en' | 'it' | 'de' | 'ru';
2
+ export type Currency = 'USD' | 'EUR' | 'GBP' | 'RUB';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("../index-CKjc79l2.js");
3
+ const index = require("../index-D2APUOog.js");
4
4
  const index$1 = require("../index-B-5oUop6.js");
5
5
  exports.Animation = index.Animation;
6
6
  exports.formatDate = index.formatDate;
@@ -1,4 +1,4 @@
1
- import { A, f, b, c, a, g, d, p, r, t } from "../index-CxCmXGhl.mjs";
1
+ import { A, f, b, c, a, g, d, p, r, t } from "../index-BqUBNm7v.mjs";
2
2
  import { e, g as g2 } from "../index-BUx1Bxrs.mjs";
3
3
  export {
4
4
  A as Animation,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@anywayseo/tools",
3
3
  "description": "Shared UI Components and Modules",
4
- "version": "2.4.1",
4
+ "version": "2.5.1",
5
5
  "keywords": [
6
6
  "react",
7
7
  "ui",