@anywayseo/tools 5.8.2 → 5.9.0
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.
- package/dist/components/article-card/index.d.ts +2 -1
- package/dist/components/article-card-grid/index.d.ts +2 -1
- package/dist/components/base/rating/index.d.ts +2 -1
- package/dist/components/base/social-network/icons/index.d.ts +1 -0
- package/dist/components/base/social-network/icons/linked-in/index.d.ts +2 -0
- package/dist/components/game-card/index.d.ts +2 -2
- package/dist/components/game-card-grid/index.d.ts +2 -2
- package/dist/components/index.cjs +3 -3
- package/dist/components/index.mjs +3 -3
- package/dist/components/informer/utils.d.ts +1 -0
- package/dist/components/seo/index.d.ts +2 -2
- package/dist/components/seo/types.d.ts +0 -4
- package/dist/{index-BNkvrBOj.js → index-B4M1IKzL.js} +1 -1
- package/dist/{index-C7z5qqm_.mjs → index-BPthShL-.mjs} +5 -2
- package/dist/{index-D-WTkYJu.js → index-BYl_y0HN.js} +76 -31
- package/dist/{index-C3FKVt3V.mjs → index-ClIPWZ3z.mjs} +1 -1
- package/dist/{index-cY5WnaQc.mjs → index-D1gNEJUA.mjs} +1 -1
- package/dist/{index-BN9vRBzY.mjs → index-D9WcltF-.mjs} +76 -31
- package/dist/{index-CodGh8Sq.mjs → index-D9i6mZaH.mjs} +28 -10
- package/dist/{index-DdLlwS4n.js → index-DXTC3R_J.js} +1 -1
- package/dist/{index-BrpyfyHr.js → index-DzOucsVx.js} +28 -10
- package/dist/{index-qR3kVjjs.js → index-ov4J7p3D.js} +5 -2
- package/dist/index.cjs +5 -5
- package/dist/index.mjs +5 -5
- package/dist/layout/footer/navigation/index.d.ts +2 -1
- package/dist/layout/index.cjs +7 -7
- package/dist/layout/index.mjs +7 -7
- package/dist/providers/index.cjs +2 -2
- package/dist/providers/index.mjs +2 -2
- package/dist/types/components/common/index.d.ts +1 -0
- package/dist/types/components/game-card/index.d.ts +1 -1
- package/dist/types/components/social-network/index.d.ts +1 -1
- package/dist/types/components/strapi-component/index.d.ts +1 -1
- package/dist/types/content/article/index.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/page/index.d.ts +7 -0
- package/dist/types/site/index.d.ts +2 -1
- package/dist/utils/date/index.d.ts +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { IArticlePreviewCard, ImageType } from '../../types';
|
|
2
|
+
import { IArticlePreviewCard, CardHeight, ImageType } from '../../types';
|
|
3
3
|
type ArticleCardProps = IArticlePreviewCard & {
|
|
4
4
|
image?: ImageType;
|
|
5
|
+
height?: CardHeight;
|
|
5
6
|
};
|
|
6
7
|
declare const ArticleCard: FC<ArticleCardProps>;
|
|
7
8
|
export default ArticleCard;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { BoxPositionProps, IArticlePreviewCard, GridConfigProps } from '../../types';
|
|
2
|
+
import { BoxPositionProps, IArticlePreviewCard, GridConfigProps, CardHeight } from '../../types';
|
|
3
3
|
type FeatureCardGridProps = {
|
|
4
4
|
items: IArticlePreviewCard[];
|
|
5
|
+
cardHeight?: CardHeight;
|
|
5
6
|
} & GridConfigProps & BoxPositionProps;
|
|
6
7
|
declare const ArticleCardGrid: FC<FeatureCardGridProps>;
|
|
7
8
|
export default ArticleCardGrid;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
+
import { BoxPositionProps } from '../../../types';
|
|
2
3
|
type RatingSize = 'sm' | 'md' | 'lg';
|
|
3
4
|
type RatingProps = {
|
|
4
5
|
value?: number;
|
|
5
6
|
max?: number;
|
|
6
7
|
size?: RatingSize;
|
|
7
8
|
hasLabel?: boolean;
|
|
8
|
-
};
|
|
9
|
+
} & BoxPositionProps;
|
|
9
10
|
declare const Rating: FC<RatingProps>;
|
|
10
11
|
export default Rating;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { CardHeight, IGameCard } from '../../types';
|
|
3
3
|
type GameCardProps = IGameCard & {
|
|
4
|
-
height?:
|
|
4
|
+
height?: CardHeight;
|
|
5
5
|
};
|
|
6
6
|
declare const GameCard: FC<GameCardProps>;
|
|
7
7
|
export default GameCard;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { BoxPositionProps,
|
|
2
|
+
import { BoxPositionProps, CardHeight, GridConfigProps, IGameCard } from '../../types';
|
|
3
3
|
type GameCardGridProps = {
|
|
4
4
|
items: IGameCard[];
|
|
5
|
-
cardHeight?:
|
|
5
|
+
cardHeight?: CardHeight;
|
|
6
6
|
order?: 'default' | 'random';
|
|
7
7
|
randomSeed?: number;
|
|
8
8
|
} & GridConfigProps & BoxPositionProps;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("../index-
|
|
4
|
-
const index$1 = require("../index-
|
|
3
|
+
const index = require("../index-BYl_y0HN.js");
|
|
4
|
+
const index$1 = require("../index-DzOucsVx.js");
|
|
5
5
|
const index$2 = require("../index-DDg_PkD2.js");
|
|
6
|
-
const index$3 = require("../index-
|
|
6
|
+
const index$3 = require("../index-B4M1IKzL.js");
|
|
7
7
|
exports.ActionButton = index.ActionButton;
|
|
8
8
|
exports.ArticleCard = index.ArticleCard;
|
|
9
9
|
exports.ArticleCardGrid = index.ArticleCardGrid;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "../index-
|
|
2
|
-
import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "../index-
|
|
1
|
+
import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "../index-D9WcltF-.mjs";
|
|
2
|
+
import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "../index-D9i6mZaH.mjs";
|
|
3
3
|
import { H as H2, a as a3, b as b3, O, P as P2, U } from "../index-BEjKnOZA.mjs";
|
|
4
|
-
import { I as I2, L as L3 } from "../index-
|
|
4
|
+
import { I as I2, L as L3 } from "../index-ClIPWZ3z.mjs";
|
|
5
5
|
export {
|
|
6
6
|
A as ActionButton,
|
|
7
7
|
a as ArticleCard,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CardProps } from '@chakra-ui/react';
|
|
2
2
|
import { InformerType } from '../../types';
|
|
3
|
+
export declare const typesWithPrefix: Lowercase<InformerType>[];
|
|
3
4
|
export declare function getQuotePseudoElement(color: string): CardProps['_before'];
|
|
4
5
|
export declare const PrefixMap: Record<Lowercase<InformerType>, string>;
|
|
5
6
|
export declare const BorderColorMap: Record<Lowercase<InformerType>, CardProps['borderLeftColor']>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FC, PropsWithChildren } from 'react';
|
|
2
|
-
import { ILocale, ISeo } from '../../types';
|
|
3
|
-
import {
|
|
2
|
+
import { IHrefLang, ILocale, ISeo } from '../../types';
|
|
3
|
+
import { SeoItemGetter } from './types';
|
|
4
4
|
type SeoProps = PropsWithChildren<{
|
|
5
5
|
title?: ISeo['title'] | SeoItemGetter;
|
|
6
6
|
description?: ISeo['description'] | SeoItemGetter;
|
|
@@ -61,7 +61,7 @@ const Image = ({ src = "", mode = "default", hasZoom, ...plainImageProps }) => {
|
|
|
61
61
|
}
|
|
62
62
|
);
|
|
63
63
|
} else if (isImageComponent(src)) {
|
|
64
|
-
image =
|
|
64
|
+
image = /* @__PURE__ */ jsxRuntime.jsx(react$1.Box, { ...mode === "thumbnail" && { aspectRatio: "16/9" }, ...plainImageProps, children: src });
|
|
65
65
|
} else {
|
|
66
66
|
return null;
|
|
67
67
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { DEFAULT_LANGUAGE } from "./i18n/index.mjs";
|
|
2
|
+
function isValidDate(date) {
|
|
3
|
+
return !date ? false : date instanceof Date && !isNaN(date.getTime());
|
|
4
|
+
}
|
|
2
5
|
function getCurrentYear(locale = DEFAULT_LANGUAGE) {
|
|
3
6
|
const currentDate = /* @__PURE__ */ new Date();
|
|
4
7
|
const currentYear = new Intl.DateTimeFormat(locale, { year: "numeric" }).format(currentDate);
|
|
@@ -11,8 +14,8 @@ function getCurrentMonth(locale = DEFAULT_LANGUAGE) {
|
|
|
11
14
|
}
|
|
12
15
|
function formatDate({ value, locale = DEFAULT_LANGUAGE, options }) {
|
|
13
16
|
const date = typeof value === "string" || typeof value === "number" ? new Date(value) : value;
|
|
14
|
-
if (
|
|
15
|
-
|
|
17
|
+
if (!isValidDate(date)) {
|
|
18
|
+
return null;
|
|
16
19
|
}
|
|
17
20
|
const formatter = new Intl.DateTimeFormat(locale, options);
|
|
18
21
|
return formatter.format(date);
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const react = require("@chakra-ui/react");
|
|
4
|
-
const reactI18next = require("react-i18next");
|
|
5
|
-
const react$2 = require("@mdx-js/react");
|
|
6
|
-
const index = require("./index-BNkvrBOj.js");
|
|
7
|
-
require("./index-C6MG_f24.js");
|
|
8
|
-
const index$6 = require("./index-CBRFCYhV.js");
|
|
9
4
|
require("react-medium-image-zoom");
|
|
5
|
+
const index = require("./index-B4M1IKzL.js");
|
|
10
6
|
const react$1 = require("react");
|
|
7
|
+
const reactI18next = require("react-i18next");
|
|
11
8
|
const icons = require("@chakra-ui/icons");
|
|
12
9
|
const index$3 = require("./index-DDg_PkD2.js");
|
|
13
|
-
const
|
|
14
|
-
|
|
10
|
+
const react$2 = require("@mdx-js/react");
|
|
11
|
+
require("./index-C6MG_f24.js");
|
|
12
|
+
const index$6 = require("./index-CBRFCYhV.js");
|
|
13
|
+
const index$2 = require("./index-DzOucsVx.js");
|
|
14
|
+
const index$1 = require("./index-ov4J7p3D.js");
|
|
15
15
|
const index$4 = require("./index-CVv755RW.js");
|
|
16
16
|
const index$5 = require("./index-BfITsKAr.js");
|
|
17
17
|
const i18next = require("i18next");
|
|
@@ -23,15 +23,16 @@ const ArticleMetaItem = ({ label, value }) => {
|
|
|
23
23
|
value
|
|
24
24
|
] });
|
|
25
25
|
};
|
|
26
|
-
const ArticleMeta = ({ createdAt, updatedAt, minutesToRead,
|
|
26
|
+
const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, authorName, variant = "full" }) => {
|
|
27
27
|
const { currentLocale } = index.usePageContext();
|
|
28
28
|
const { t } = reactI18next.useTranslation("article");
|
|
29
|
+
const publicationDate = index$1.formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code });
|
|
29
30
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { columnGap: 4, rowGap: 2, wrap: "wrap", children: [
|
|
30
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
!!publicationDate && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
32
|
ArticleMetaItem,
|
|
32
33
|
{
|
|
33
34
|
label: variant === "full" ? `📅 ${t("meta.publicationDate")}` : "📅 ",
|
|
34
|
-
value:
|
|
35
|
+
value: publicationDate
|
|
35
36
|
}
|
|
36
37
|
),
|
|
37
38
|
!!minutesToRead && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -41,7 +42,7 @@ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "f
|
|
|
41
42
|
value: t("meta.readingTime.count", { count: minutesToRead })
|
|
42
43
|
}
|
|
43
44
|
),
|
|
44
|
-
!!
|
|
45
|
+
!!authorName && /* @__PURE__ */ jsxRuntime.jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻💻 ${t("meta.author")}` : "🧑🏻💻 ", value: authorName })
|
|
45
46
|
] });
|
|
46
47
|
};
|
|
47
48
|
const ONE_LINE_HEIGHT = 24;
|
|
@@ -101,19 +102,31 @@ const Grid = ({ items, columns = defaultColumns, gap, render, getKey, ...boxProp
|
|
|
101
102
|
const ActionButton = ({ label, href, ...boxProps }) => {
|
|
102
103
|
return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { justifyContent: "center", ...boxProps, children: /* @__PURE__ */ jsxRuntime.jsx(index$2.LinkButton, { label, href, textDecoration: "none" }) });
|
|
103
104
|
};
|
|
104
|
-
const ArticleCard = ({ title, image, meta, url }) => {
|
|
105
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
105
|
+
const ArticleCard = ({ title, image, meta, url, height }) => {
|
|
106
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
107
|
+
react.Card,
|
|
108
|
+
{
|
|
109
|
+
as: index.Link,
|
|
110
|
+
to: url,
|
|
111
|
+
overflow: "hidden",
|
|
112
|
+
height,
|
|
113
|
+
pb: 4,
|
|
114
|
+
_hover: { transform: "scale(1.02)", textDecoration: "none" },
|
|
115
|
+
children: [
|
|
116
|
+
/* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "section", p: 0, children: [
|
|
117
|
+
!!image && /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: title, mode: "thumbnail" }),
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$3.Heading2, { size: "md", mt: 4, mb: 0, px: 4, children: title })
|
|
119
|
+
] }),
|
|
120
|
+
!!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", fontSize: "sm", mt: 2, py: 0, px: 4, children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta, variant: "short" }) })
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
);
|
|
112
124
|
};
|
|
113
125
|
const ArticleCardGrid = ({
|
|
114
126
|
items,
|
|
115
127
|
columns = { base: 1, md: 2, lg: 3 },
|
|
116
128
|
gap = 4,
|
|
129
|
+
cardHeight = "full",
|
|
117
130
|
...boxProps
|
|
118
131
|
}) => {
|
|
119
132
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -123,16 +136,16 @@ const ArticleCardGrid = ({
|
|
|
123
136
|
columns,
|
|
124
137
|
gap,
|
|
125
138
|
getKey: (_, index2) => index2,
|
|
126
|
-
render: (item) => /* @__PURE__ */ jsxRuntime.jsx(ArticleCard, { ...item }),
|
|
139
|
+
render: (item) => /* @__PURE__ */ jsxRuntime.jsx(ArticleCard, { ...item, height: cardHeight }),
|
|
127
140
|
...boxProps
|
|
128
141
|
}
|
|
129
142
|
);
|
|
130
143
|
};
|
|
131
144
|
const ArticleInfoCard = ({ title, description, meta, ...boxProps }) => {
|
|
132
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { as: "article", variant: "filled", ...boxProps, children: [
|
|
133
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.CardHeader, { as: "header",
|
|
134
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { as: "section",
|
|
135
|
-
!!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta }) })
|
|
145
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { as: "article", variant: "filled", p: 5, pb: 2, ...boxProps, children: [
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.CardHeader, { as: "header", p: 0, children: /* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: title }) }),
|
|
147
|
+
!!description && /* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { as: "section", p: 0, mb: 3, children: description }),
|
|
148
|
+
!!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", p: 0, mb: 3, children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta }) })
|
|
136
149
|
] });
|
|
137
150
|
};
|
|
138
151
|
const AuthorCard = ({ author, ...boxProps }) => {
|
|
@@ -268,7 +281,8 @@ const FeatureCardGrid = ({
|
|
|
268
281
|
}
|
|
269
282
|
);
|
|
270
283
|
};
|
|
271
|
-
const GameCard = ({ name, description, image, url, height = "auto" }) => {
|
|
284
|
+
const GameCard = ({ name, description, image, url, rating, height = "auto" }) => {
|
|
285
|
+
const descriptionColor = react.useColorModeValue("gray.600", "gray.400");
|
|
272
286
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
273
287
|
react.LinkBox,
|
|
274
288
|
{
|
|
@@ -278,14 +292,16 @@ const GameCard = ({ name, description, image, url, height = "auto" }) => {
|
|
|
278
292
|
transition: "transform 0.2s ease",
|
|
279
293
|
cursor: url ? "pointer" : "default",
|
|
280
294
|
overflow: "hidden",
|
|
281
|
-
bg: "blackAlpha.200",
|
|
282
295
|
height,
|
|
283
|
-
_hover: { transform: "scale(1.05)" },
|
|
296
|
+
_hover: url ? { transform: "scale(1.05)" } : {},
|
|
284
297
|
children: [
|
|
285
298
|
/* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: name, mode: "thumbnail" }),
|
|
286
299
|
/* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "section", rounded: "md", p: 4, children: [
|
|
287
|
-
/* @__PURE__ */ jsxRuntime.
|
|
288
|
-
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { justify: "space-between", align: "flex-start", children: [
|
|
301
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { as: index.Link, to: url, _hover: { textDecoration: "none" }, children: name }) : name }),
|
|
302
|
+
!!rating && /* @__PURE__ */ jsxRuntime.jsx(index$2.Rating, { value: rating, size: "sm", py: 1 })
|
|
303
|
+
] }),
|
|
304
|
+
!!description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
|
|
289
305
|
] })
|
|
290
306
|
]
|
|
291
307
|
}
|
|
@@ -438,6 +454,7 @@ const GameDemoPreview = ({ image, alt, src, refLink, imageFit = "cover", onPlayD
|
|
|
438
454
|
!src && /* @__PURE__ */ jsxRuntime.jsx(GameDemoAlert, {}),
|
|
439
455
|
/* @__PURE__ */ jsxRuntime.jsxs(react.Box, { position: "relative", flex: 1, children: [
|
|
440
456
|
/* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt, objectFit: imageFit, w: "100%", h: "100%" }),
|
|
457
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Box, { w: "full", h: "full", position: "absolute", inset: 0, background: "blackAlpha.500" }),
|
|
441
458
|
/* @__PURE__ */ jsxRuntime.jsx(react.AbsoluteCenter, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { spacing: 4, children: [
|
|
442
459
|
getPrimaryButton(),
|
|
443
460
|
getSecondaryButton()
|
|
@@ -540,7 +557,7 @@ function getGameInfoItemValue(key, value, locale) {
|
|
|
540
557
|
}
|
|
541
558
|
}
|
|
542
559
|
if (key === index$6.GameCharacteristic.ReleaseDate) {
|
|
543
|
-
formattedValue = index$1.formatDate({ value, locale, options: { year: "numeric", month: "long" } });
|
|
560
|
+
formattedValue = index$1.formatDate({ value, locale, options: { year: "numeric", month: "long" } }) ?? "???";
|
|
544
561
|
}
|
|
545
562
|
if (key === index$6.GameCharacteristic.Volatility && Object.values(index$6.GameVolatility).includes(value)) {
|
|
546
563
|
formattedValue = stringifyVolatility(value);
|
|
@@ -596,6 +613,7 @@ const HowTo = ({ steps, ...boxProps }) => {
|
|
|
596
613
|
] })
|
|
597
614
|
] }, index$12)) });
|
|
598
615
|
};
|
|
616
|
+
const typesWithPrefix = ["advice", "fact"];
|
|
599
617
|
function getQuotePseudoElement(color) {
|
|
600
618
|
return {
|
|
601
619
|
content: '"❛❛"',
|
|
@@ -632,7 +650,7 @@ const Informer = ({ type, text, author = null, ...boxProps }) => {
|
|
|
632
650
|
...boxProps,
|
|
633
651
|
children: [
|
|
634
652
|
/* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "blockquote", p: 0, fontStyle: "italic", children: [
|
|
635
|
-
type
|
|
653
|
+
typesWithPrefix.includes(type) && /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
|
|
636
654
|
PrefixMap[type],
|
|
637
655
|
t(type),
|
|
638
656
|
":"
|
|
@@ -1022,6 +1040,33 @@ const StrapiComponent = ({ type, props, imageComponent }) => {
|
|
|
1022
1040
|
switch (type) {
|
|
1023
1041
|
case "STRAPI__COMPONENT_CONTENT_ACTION_BUTTON":
|
|
1024
1042
|
return /* @__PURE__ */ jsxRuntime.jsx(ActionButton, { label: props.label, href: props.url, mb: 4 });
|
|
1043
|
+
case "STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS":
|
|
1044
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1045
|
+
ArticleCardGrid,
|
|
1046
|
+
{
|
|
1047
|
+
items: props.articles.map(
|
|
1048
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1049
|
+
({ title, slug, hub, author, minutesToRead, createdAt, updatedAt, previewImage }) => {
|
|
1050
|
+
const url = hub.slug ? `${hub.slug}/${slug}` : slug;
|
|
1051
|
+
const articlePreview = {
|
|
1052
|
+
title,
|
|
1053
|
+
url,
|
|
1054
|
+
meta: { createdAt, updatedAt, minutesToRead, authorName: (author == null ? void 0 : author.name) ?? "" },
|
|
1055
|
+
image: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1056
|
+
ExternalImage,
|
|
1057
|
+
{
|
|
1058
|
+
image: previewImage,
|
|
1059
|
+
alt: title,
|
|
1060
|
+
component: imageComponent
|
|
1061
|
+
}
|
|
1062
|
+
)
|
|
1063
|
+
};
|
|
1064
|
+
return articlePreview;
|
|
1065
|
+
}
|
|
1066
|
+
),
|
|
1067
|
+
mb: 4
|
|
1068
|
+
}
|
|
1069
|
+
);
|
|
1025
1070
|
case "STRAPI__COMPONENT_CONTENT_FAQ":
|
|
1026
1071
|
return /* @__PURE__ */ jsxRuntime.jsx(Faq, { items: props.items, mb: 4 });
|
|
1027
1072
|
case "STRAPI__COMPONENT_CONTENT_FEATURES":
|
|
@@ -60,7 +60,7 @@ const Image = ({ src = "", mode = "default", hasZoom, ...plainImageProps }) => {
|
|
|
60
60
|
}
|
|
61
61
|
);
|
|
62
62
|
} else if (isImageComponent(src)) {
|
|
63
|
-
image =
|
|
63
|
+
image = /* @__PURE__ */ jsx(Box, { ...mode === "thumbnail" && { aspectRatio: "16/9" }, ...plainImageProps, children: src });
|
|
64
64
|
} else {
|
|
65
65
|
return null;
|
|
66
66
|
}
|
|
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { MDXProvider } from "@mdx-js/react";
|
|
3
3
|
import "react-i18next";
|
|
4
4
|
import "@chakra-ui/react";
|
|
5
|
-
import { I as Image, L as Link } from "./index-
|
|
5
|
+
import { I as Image, L as Link } from "./index-ClIPWZ3z.mjs";
|
|
6
6
|
import "./index-BJRvnR8Q.mjs";
|
|
7
7
|
import "./index-RzByAgHO.mjs";
|
|
8
8
|
import "react";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useColorModeValue, Box, Text, Flex, Collapse, Button, Stack, Center as Center$1, SimpleGrid, Card, CardBody, CardFooter, CardHeader, Heading, Popover, PopoverTrigger, Portal, PopoverContent, PopoverBody, Accordion, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, LinkBox, LinkOverlay, IconButton, AbsoluteCenter, Spinner, Alert, AlertIcon, AlertTitle, AlertDescription, useDisclosure, Divider, Circle, List as List$1, ListItem, useToast, VStack, FormControl, FormLabel, InputGroup, InputLeftElement, Input, Textarea, 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
|
-
import { useTranslation } from "react-i18next";
|
|
4
|
-
import { useMDXComponents } from "@mdx-js/react";
|
|
5
|
-
import { u as usePageContext, I as Image, L as Link, a as useSiteContext } from "./index-C3FKVt3V.mjs";
|
|
6
|
-
import "./index-BJRvnR8Q.mjs";
|
|
7
|
-
import { b as GameCharacteristic, G as GameVolatility } from "./index-RzByAgHO.mjs";
|
|
8
3
|
import "react-medium-image-zoom";
|
|
4
|
+
import { u as usePageContext, I as Image, L as Link, a as useSiteContext } from "./index-ClIPWZ3z.mjs";
|
|
9
5
|
import { useRef, useState, useLayoutEffect, Fragment as Fragment$1, useMemo } from "react";
|
|
6
|
+
import { useTranslation } from "react-i18next";
|
|
10
7
|
import { StarIcon, CloseIcon, ViewOffIcon, ViewIcon, EmailIcon, WarningIcon, CheckCircleIcon } from "@chakra-ui/icons";
|
|
11
8
|
import { a as Heading2, H as Heading1, P as Paragraph, U as Unordered, O as Ordered } from "./index-BEjKnOZA.mjs";
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
9
|
+
import { useMDXComponents } from "@mdx-js/react";
|
|
10
|
+
import "./index-BJRvnR8Q.mjs";
|
|
11
|
+
import { b as GameCharacteristic, G as GameVolatility } from "./index-RzByAgHO.mjs";
|
|
12
|
+
import { d as SocialNetworks, L as LinkButton, R as Rating } from "./index-D9i6mZaH.mjs";
|
|
13
|
+
import { f as formatDate, b as formatNumber, a as getCurrentMonth, g as getCurrentYear } from "./index-BPthShL-.mjs";
|
|
14
14
|
import { u as usePrimaryColors } from "./index-C1kr7Vd-.mjs";
|
|
15
15
|
import { a as getSeededRandomComparator, r as randomComparator, g as getCurrencySymbol } from "./index-BeJTy4iY.mjs";
|
|
16
16
|
import { t } from "i18next";
|
|
@@ -22,15 +22,16 @@ const ArticleMetaItem = ({ label, value }) => {
|
|
|
22
22
|
value
|
|
23
23
|
] });
|
|
24
24
|
};
|
|
25
|
-
const ArticleMeta = ({ createdAt, updatedAt, minutesToRead,
|
|
25
|
+
const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, authorName, variant = "full" }) => {
|
|
26
26
|
const { currentLocale } = usePageContext();
|
|
27
27
|
const { t: t2 } = useTranslation("article");
|
|
28
|
+
const publicationDate = formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code });
|
|
28
29
|
return /* @__PURE__ */ jsxs(Flex, { columnGap: 4, rowGap: 2, wrap: "wrap", children: [
|
|
29
|
-
/* @__PURE__ */ jsx(
|
|
30
|
+
!!publicationDate && /* @__PURE__ */ jsx(
|
|
30
31
|
ArticleMetaItem,
|
|
31
32
|
{
|
|
32
33
|
label: variant === "full" ? `📅 ${t2("meta.publicationDate")}` : "📅 ",
|
|
33
|
-
value:
|
|
34
|
+
value: publicationDate
|
|
34
35
|
}
|
|
35
36
|
),
|
|
36
37
|
!!minutesToRead && /* @__PURE__ */ jsx(
|
|
@@ -40,7 +41,7 @@ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "f
|
|
|
40
41
|
value: t2("meta.readingTime.count", { count: minutesToRead })
|
|
41
42
|
}
|
|
42
43
|
),
|
|
43
|
-
!!
|
|
44
|
+
!!authorName && /* @__PURE__ */ jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻💻 ${t2("meta.author")}` : "🧑🏻💻 ", value: authorName })
|
|
44
45
|
] });
|
|
45
46
|
};
|
|
46
47
|
const ONE_LINE_HEIGHT = 24;
|
|
@@ -100,19 +101,31 @@ const Grid = ({ items, columns = defaultColumns, gap, render, getKey, ...boxProp
|
|
|
100
101
|
const ActionButton = ({ label, href, ...boxProps }) => {
|
|
101
102
|
return /* @__PURE__ */ jsx(Flex, { justifyContent: "center", ...boxProps, children: /* @__PURE__ */ jsx(LinkButton, { label, href, textDecoration: "none" }) });
|
|
102
103
|
};
|
|
103
|
-
const ArticleCard = ({ title, image, meta, url }) => {
|
|
104
|
-
return /* @__PURE__ */ jsxs(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
const ArticleCard = ({ title, image, meta, url, height }) => {
|
|
105
|
+
return /* @__PURE__ */ jsxs(
|
|
106
|
+
Card,
|
|
107
|
+
{
|
|
108
|
+
as: Link,
|
|
109
|
+
to: url,
|
|
110
|
+
overflow: "hidden",
|
|
111
|
+
height,
|
|
112
|
+
pb: 4,
|
|
113
|
+
_hover: { transform: "scale(1.02)", textDecoration: "none" },
|
|
114
|
+
children: [
|
|
115
|
+
/* @__PURE__ */ jsxs(CardBody, { as: "section", p: 0, children: [
|
|
116
|
+
!!image && /* @__PURE__ */ jsx(Image, { src: image, alt: title, mode: "thumbnail" }),
|
|
117
|
+
/* @__PURE__ */ jsx(Heading2, { size: "md", mt: 4, mb: 0, px: 4, children: title })
|
|
118
|
+
] }),
|
|
119
|
+
!!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", fontSize: "sm", mt: 2, py: 0, px: 4, children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta, variant: "short" }) })
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
);
|
|
111
123
|
};
|
|
112
124
|
const ArticleCardGrid = ({
|
|
113
125
|
items,
|
|
114
126
|
columns = { base: 1, md: 2, lg: 3 },
|
|
115
127
|
gap = 4,
|
|
128
|
+
cardHeight = "full",
|
|
116
129
|
...boxProps
|
|
117
130
|
}) => {
|
|
118
131
|
return /* @__PURE__ */ jsx(
|
|
@@ -122,16 +135,16 @@ const ArticleCardGrid = ({
|
|
|
122
135
|
columns,
|
|
123
136
|
gap,
|
|
124
137
|
getKey: (_, index) => index,
|
|
125
|
-
render: (item) => /* @__PURE__ */ jsx(ArticleCard, { ...item }),
|
|
138
|
+
render: (item) => /* @__PURE__ */ jsx(ArticleCard, { ...item, height: cardHeight }),
|
|
126
139
|
...boxProps
|
|
127
140
|
}
|
|
128
141
|
);
|
|
129
142
|
};
|
|
130
143
|
const ArticleInfoCard = ({ title, description, meta, ...boxProps }) => {
|
|
131
|
-
return /* @__PURE__ */ jsxs(Card, { as: "article", variant: "filled", ...boxProps, children: [
|
|
132
|
-
/* @__PURE__ */ jsx(CardHeader, { as: "header",
|
|
133
|
-
/* @__PURE__ */ jsx(CardBody, { as: "section",
|
|
134
|
-
!!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta }) })
|
|
144
|
+
return /* @__PURE__ */ jsxs(Card, { as: "article", variant: "filled", p: 5, pb: 2, ...boxProps, children: [
|
|
145
|
+
/* @__PURE__ */ jsx(CardHeader, { as: "header", p: 0, children: /* @__PURE__ */ jsx(Heading1, { children: title }) }),
|
|
146
|
+
!!description && /* @__PURE__ */ jsx(CardBody, { as: "section", p: 0, mb: 3, children: description }),
|
|
147
|
+
!!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", p: 0, mb: 3, children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta }) })
|
|
135
148
|
] });
|
|
136
149
|
};
|
|
137
150
|
const AuthorCard = ({ author, ...boxProps }) => {
|
|
@@ -267,7 +280,8 @@ const FeatureCardGrid = ({
|
|
|
267
280
|
}
|
|
268
281
|
);
|
|
269
282
|
};
|
|
270
|
-
const GameCard = ({ name, description, image, url, height = "auto" }) => {
|
|
283
|
+
const GameCard = ({ name, description, image, url, rating, height = "auto" }) => {
|
|
284
|
+
const descriptionColor = useColorModeValue("gray.600", "gray.400");
|
|
271
285
|
return /* @__PURE__ */ jsxs(
|
|
272
286
|
LinkBox,
|
|
273
287
|
{
|
|
@@ -277,14 +291,16 @@ const GameCard = ({ name, description, image, url, height = "auto" }) => {
|
|
|
277
291
|
transition: "transform 0.2s ease",
|
|
278
292
|
cursor: url ? "pointer" : "default",
|
|
279
293
|
overflow: "hidden",
|
|
280
|
-
bg: "blackAlpha.200",
|
|
281
294
|
height,
|
|
282
|
-
_hover: { transform: "scale(1.05)" },
|
|
295
|
+
_hover: url ? { transform: "scale(1.05)" } : {},
|
|
283
296
|
children: [
|
|
284
297
|
/* @__PURE__ */ jsx(Image, { src: image, alt: name, mode: "thumbnail" }),
|
|
285
298
|
/* @__PURE__ */ jsxs(Box, { as: "section", rounded: "md", p: 4, children: [
|
|
286
|
-
/* @__PURE__ */
|
|
287
|
-
|
|
299
|
+
/* @__PURE__ */ jsxs(Flex, { justify: "space-between", align: "flex-start", children: [
|
|
300
|
+
/* @__PURE__ */ jsx(Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsx(LinkOverlay, { as: Link, to: url, _hover: { textDecoration: "none" }, children: name }) : name }),
|
|
301
|
+
!!rating && /* @__PURE__ */ jsx(Rating, { value: rating, size: "sm", py: 1 })
|
|
302
|
+
] }),
|
|
303
|
+
!!description && /* @__PURE__ */ jsx(Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
|
|
288
304
|
] })
|
|
289
305
|
]
|
|
290
306
|
}
|
|
@@ -437,6 +453,7 @@ const GameDemoPreview = ({ image, alt, src, refLink, imageFit = "cover", onPlayD
|
|
|
437
453
|
!src && /* @__PURE__ */ jsx(GameDemoAlert, {}),
|
|
438
454
|
/* @__PURE__ */ jsxs(Box, { position: "relative", flex: 1, children: [
|
|
439
455
|
/* @__PURE__ */ jsx(Image, { src: image, alt, objectFit: imageFit, w: "100%", h: "100%" }),
|
|
456
|
+
/* @__PURE__ */ jsx(Box, { w: "full", h: "full", position: "absolute", inset: 0, background: "blackAlpha.500" }),
|
|
440
457
|
/* @__PURE__ */ jsx(AbsoluteCenter, { children: /* @__PURE__ */ jsxs(Stack, { spacing: 4, children: [
|
|
441
458
|
getPrimaryButton(),
|
|
442
459
|
getSecondaryButton()
|
|
@@ -539,7 +556,7 @@ function getGameInfoItemValue(key, value, locale) {
|
|
|
539
556
|
}
|
|
540
557
|
}
|
|
541
558
|
if (key === GameCharacteristic.ReleaseDate) {
|
|
542
|
-
formattedValue = formatDate({ value, locale, options: { year: "numeric", month: "long" } });
|
|
559
|
+
formattedValue = formatDate({ value, locale, options: { year: "numeric", month: "long" } }) ?? "???";
|
|
543
560
|
}
|
|
544
561
|
if (key === GameCharacteristic.Volatility && Object.values(GameVolatility).includes(value)) {
|
|
545
562
|
formattedValue = stringifyVolatility(value);
|
|
@@ -595,6 +612,7 @@ const HowTo = ({ steps, ...boxProps }) => {
|
|
|
595
612
|
] })
|
|
596
613
|
] }, index)) });
|
|
597
614
|
};
|
|
615
|
+
const typesWithPrefix = ["advice", "fact"];
|
|
598
616
|
function getQuotePseudoElement(color) {
|
|
599
617
|
return {
|
|
600
618
|
content: '"❛❛"',
|
|
@@ -631,7 +649,7 @@ const Informer = ({ type, text, author = null, ...boxProps }) => {
|
|
|
631
649
|
...boxProps,
|
|
632
650
|
children: [
|
|
633
651
|
/* @__PURE__ */ jsxs(CardBody, { as: "blockquote", p: 0, fontStyle: "italic", children: [
|
|
634
|
-
type
|
|
652
|
+
typesWithPrefix.includes(type) && /* @__PURE__ */ jsxs(Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
|
|
635
653
|
PrefixMap[type],
|
|
636
654
|
t2(type),
|
|
637
655
|
":"
|
|
@@ -1021,6 +1039,33 @@ const StrapiComponent = ({ type, props, imageComponent }) => {
|
|
|
1021
1039
|
switch (type) {
|
|
1022
1040
|
case "STRAPI__COMPONENT_CONTENT_ACTION_BUTTON":
|
|
1023
1041
|
return /* @__PURE__ */ jsx(ActionButton, { label: props.label, href: props.url, mb: 4 });
|
|
1042
|
+
case "STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS":
|
|
1043
|
+
return /* @__PURE__ */ jsx(
|
|
1044
|
+
ArticleCardGrid,
|
|
1045
|
+
{
|
|
1046
|
+
items: props.articles.map(
|
|
1047
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1048
|
+
({ title, slug, hub, author, minutesToRead, createdAt, updatedAt, previewImage }) => {
|
|
1049
|
+
const url = hub.slug ? `${hub.slug}/${slug}` : slug;
|
|
1050
|
+
const articlePreview = {
|
|
1051
|
+
title,
|
|
1052
|
+
url,
|
|
1053
|
+
meta: { createdAt, updatedAt, minutesToRead, authorName: (author == null ? void 0 : author.name) ?? "" },
|
|
1054
|
+
image: /* @__PURE__ */ jsx(
|
|
1055
|
+
ExternalImage,
|
|
1056
|
+
{
|
|
1057
|
+
image: previewImage,
|
|
1058
|
+
alt: title,
|
|
1059
|
+
component: imageComponent
|
|
1060
|
+
}
|
|
1061
|
+
)
|
|
1062
|
+
};
|
|
1063
|
+
return articlePreview;
|
|
1064
|
+
}
|
|
1065
|
+
),
|
|
1066
|
+
mb: 4
|
|
1067
|
+
}
|
|
1068
|
+
);
|
|
1024
1069
|
case "STRAPI__COMPONENT_CONTENT_FAQ":
|
|
1025
1070
|
return /* @__PURE__ */ jsx(Faq, { items: props.items, mb: 4 });
|
|
1026
1071
|
case "STRAPI__COMPONENT_CONTENT_FEATURES":
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Flex, Container as Container$1, useColorModeValue, useToast, useClipboard, Text, IconButton, Button, Box, Stack, Card, Badge, Td, Tr, Table, Thead, Th, Tbody } from "@chakra-ui/react";
|
|
3
|
-
import { L as Link, a as useSiteContext, I as Image, u as usePageContext } from "./index-
|
|
3
|
+
import { L as Link, a as useSiteContext, I as Image, u as usePageContext } from "./index-ClIPWZ3z.mjs";
|
|
4
4
|
import "@mdx-js/react";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import { A as Animation } from "./index-BJRvnR8Q.mjs";
|
|
@@ -9,7 +9,7 @@ import "react";
|
|
|
9
9
|
import { CheckIcon, CopyIcon, StarIcon } from "@chakra-ui/icons";
|
|
10
10
|
import "react-medium-image-zoom";
|
|
11
11
|
import { u as usePrimaryColors } from "./index-C1kr7Vd-.mjs";
|
|
12
|
-
import { b as formatNumber } from "./index-
|
|
12
|
+
import { b as formatNumber } from "./index-BPthShL-.mjs";
|
|
13
13
|
const FacebookIcon = (props) => {
|
|
14
14
|
return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "Facebook", ...props, children: [
|
|
15
15
|
/* @__PURE__ */ jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
|
|
@@ -40,6 +40,18 @@ const InstagramIcon = (props) => {
|
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
42
|
};
|
|
43
|
+
const LinkedInIcon = (props) => {
|
|
44
|
+
return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "LinkedIn", ...props, children: [
|
|
45
|
+
/* @__PURE__ */ jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
"path",
|
|
48
|
+
{
|
|
49
|
+
d: "M7.2 10H9v7H7.2v-7ZM8.1 7.5c.6 0 1-.4 1-.9s-.4-.9-1-.9-1 .4-1 .9.4.9 1 .9ZM10.5 10h1.7v1h.1c.3-.6 1-.9 1.8-.9 1.6 0 2.4.9 2.4 2.7V17H15v-3.9c0-.9-.3-1.4-1.1-1.4-.7 0-1.1.5-1.1 1.4V17h-1.7v-7Z",
|
|
50
|
+
fill: "currentColor"
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] });
|
|
54
|
+
};
|
|
43
55
|
const PinterestIcon = (props) => {
|
|
44
56
|
return /* @__PURE__ */ jsx(
|
|
45
57
|
"svg",
|
|
@@ -81,6 +93,7 @@ const YoutubeIcon = (props) => {
|
|
|
81
93
|
const SocialNetworkMap = {
|
|
82
94
|
facebook: FacebookIcon,
|
|
83
95
|
instagram: InstagramIcon,
|
|
96
|
+
linkedin: LinkedInIcon,
|
|
84
97
|
pinterest: PinterestIcon,
|
|
85
98
|
x: XcomIcon,
|
|
86
99
|
youtube: YoutubeIcon
|
|
@@ -161,21 +174,23 @@ const LinkButton = ({
|
|
|
161
174
|
const Logo = () => {
|
|
162
175
|
const { metadata } = useSiteContext();
|
|
163
176
|
const { logo } = metadata;
|
|
164
|
-
return /* @__PURE__ */ jsx(Box, { display: "flex", h: { base: 10, md: 14 }, overflow: "hidden", children: /* @__PURE__ */ jsx(Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
|
|
177
|
+
return /* @__PURE__ */ jsx(Box, { display: "flex", h: { base: 10, md: 14 }, alignSelf: "center", overflow: "hidden", children: /* @__PURE__ */ jsx(Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
|
|
165
178
|
};
|
|
166
179
|
const StarSizeMap = {
|
|
167
|
-
sm:
|
|
168
|
-
md:
|
|
169
|
-
lg:
|
|
180
|
+
sm: "1rem",
|
|
181
|
+
md: "1.5rem",
|
|
182
|
+
lg: "2rem"
|
|
170
183
|
};
|
|
171
184
|
const FontSizeMap = {
|
|
172
185
|
sm: "xs",
|
|
173
186
|
md: "sm",
|
|
174
187
|
lg: "md"
|
|
175
188
|
};
|
|
176
|
-
const Rating = ({ value = 0, max = 5, size = "md", hasLabel }) => {
|
|
177
|
-
const
|
|
178
|
-
const
|
|
189
|
+
const Rating = ({ value = 0, max = 5, size = "md", hasLabel, ...boxProps }) => {
|
|
190
|
+
const positiveValue = Math.max(value, 0);
|
|
191
|
+
const normalizedValue = positiveValue === max ? positiveValue : positiveValue % max;
|
|
192
|
+
const current = Math.round(Math.min(normalizedValue, max));
|
|
193
|
+
const stars = /* @__PURE__ */ jsx(Flex, { gap: 1, title: `${current}/${max}`, ...boxProps, children: Array.from({ length: max }, (_, i) => {
|
|
179
194
|
const index = i + 1;
|
|
180
195
|
const isActive = index <= current;
|
|
181
196
|
return /* @__PURE__ */ jsx(
|
|
@@ -384,10 +399,13 @@ const CasinoTable = ({ casinos, showHeader = false }) => {
|
|
|
384
399
|
{
|
|
385
400
|
position: { base: "absolute", md: showHeader ? "static" : "absolute" },
|
|
386
401
|
opacity: { base: 0, md: showHeader ? "initial" : 0 },
|
|
402
|
+
w: { base: 0, md: showHeader ? "auto" : 0 },
|
|
403
|
+
h: { base: 0, md: showHeader ? "auto" : 0 },
|
|
404
|
+
overflow: "hidden",
|
|
387
405
|
children: /* @__PURE__ */ jsx(Tr, { children: columns.map((column) => /* @__PURE__ */ jsx(Th, { textAlign: "center", p: 2, children: t(`column.${column}`) }, column)) })
|
|
388
406
|
}
|
|
389
407
|
),
|
|
390
|
-
/* @__PURE__ */ jsx(Tbody, { children: casinos.map(({ id, ...casino }, index) => /* @__PURE__ */ jsx(CasinoTableRow, { casino: { id: String(index + 1), ...casino } }, id)) })
|
|
408
|
+
/* @__PURE__ */ jsx(Tbody, { display: { base: "grid", md: "table-row-group" }, children: casinos.map(({ id, ...casino }, index) => /* @__PURE__ */ jsx(CasinoTableRow, { casino: { id: String(index + 1), ...casino } }, id)) })
|
|
391
409
|
] });
|
|
392
410
|
};
|
|
393
411
|
export {
|
|
@@ -3,7 +3,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const react = require("@mdx-js/react");
|
|
4
4
|
require("react-i18next");
|
|
5
5
|
require("@chakra-ui/react");
|
|
6
|
-
const index$1 = require("./index-
|
|
6
|
+
const index$1 = require("./index-B4M1IKzL.js");
|
|
7
7
|
require("./index-C6MG_f24.js");
|
|
8
8
|
require("./index-CBRFCYhV.js");
|
|
9
9
|
require("react");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const react = require("@chakra-ui/react");
|
|
4
|
-
const index = require("./index-
|
|
4
|
+
const index = require("./index-B4M1IKzL.js");
|
|
5
5
|
require("@mdx-js/react");
|
|
6
6
|
const reactI18next = require("react-i18next");
|
|
7
7
|
const index$2 = require("./index-C6MG_f24.js");
|
|
@@ -10,7 +10,7 @@ require("react");
|
|
|
10
10
|
const icons = require("@chakra-ui/icons");
|
|
11
11
|
require("react-medium-image-zoom");
|
|
12
12
|
const index$1 = require("./index-CVv755RW.js");
|
|
13
|
-
const index$4 = require("./index-
|
|
13
|
+
const index$4 = require("./index-ov4J7p3D.js");
|
|
14
14
|
const FacebookIcon = (props) => {
|
|
15
15
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "Facebook", ...props, children: [
|
|
16
16
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
|
|
@@ -41,6 +41,18 @@ const InstagramIcon = (props) => {
|
|
|
41
41
|
}
|
|
42
42
|
);
|
|
43
43
|
};
|
|
44
|
+
const LinkedInIcon = (props) => {
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "LinkedIn", ...props, children: [
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
"path",
|
|
49
|
+
{
|
|
50
|
+
d: "M7.2 10H9v7H7.2v-7ZM8.1 7.5c.6 0 1-.4 1-.9s-.4-.9-1-.9-1 .4-1 .9.4.9 1 .9ZM10.5 10h1.7v1h.1c.3-.6 1-.9 1.8-.9 1.6 0 2.4.9 2.4 2.7V17H15v-3.9c0-.9-.3-1.4-1.1-1.4-.7 0-1.1.5-1.1 1.4V17h-1.7v-7Z",
|
|
51
|
+
fill: "currentColor"
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
] });
|
|
55
|
+
};
|
|
44
56
|
const PinterestIcon = (props) => {
|
|
45
57
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
46
58
|
"svg",
|
|
@@ -82,6 +94,7 @@ const YoutubeIcon = (props) => {
|
|
|
82
94
|
const SocialNetworkMap = {
|
|
83
95
|
facebook: FacebookIcon,
|
|
84
96
|
instagram: InstagramIcon,
|
|
97
|
+
linkedin: LinkedInIcon,
|
|
85
98
|
pinterest: PinterestIcon,
|
|
86
99
|
x: XcomIcon,
|
|
87
100
|
youtube: YoutubeIcon
|
|
@@ -162,21 +175,23 @@ const LinkButton = ({
|
|
|
162
175
|
const Logo = () => {
|
|
163
176
|
const { metadata } = index.useSiteContext();
|
|
164
177
|
const { logo } = metadata;
|
|
165
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { display: "flex", h: { base: 10, md: 14 }, overflow: "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
|
|
178
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { display: "flex", h: { base: 10, md: 14 }, alignSelf: "center", overflow: "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
|
|
166
179
|
};
|
|
167
180
|
const StarSizeMap = {
|
|
168
|
-
sm:
|
|
169
|
-
md:
|
|
170
|
-
lg:
|
|
181
|
+
sm: "1rem",
|
|
182
|
+
md: "1.5rem",
|
|
183
|
+
lg: "2rem"
|
|
171
184
|
};
|
|
172
185
|
const FontSizeMap = {
|
|
173
186
|
sm: "xs",
|
|
174
187
|
md: "sm",
|
|
175
188
|
lg: "md"
|
|
176
189
|
};
|
|
177
|
-
const Rating = ({ value = 0, max = 5, size = "md", hasLabel }) => {
|
|
178
|
-
const
|
|
179
|
-
const
|
|
190
|
+
const Rating = ({ value = 0, max = 5, size = "md", hasLabel, ...boxProps }) => {
|
|
191
|
+
const positiveValue = Math.max(value, 0);
|
|
192
|
+
const normalizedValue = positiveValue === max ? positiveValue : positiveValue % max;
|
|
193
|
+
const current = Math.round(Math.min(normalizedValue, max));
|
|
194
|
+
const stars = /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 1, title: `${current}/${max}`, ...boxProps, children: Array.from({ length: max }, (_, i) => {
|
|
180
195
|
const index2 = i + 1;
|
|
181
196
|
const isActive = index2 <= current;
|
|
182
197
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -385,10 +400,13 @@ const CasinoTable = ({ casinos, showHeader = false }) => {
|
|
|
385
400
|
{
|
|
386
401
|
position: { base: "absolute", md: showHeader ? "static" : "absolute" },
|
|
387
402
|
opacity: { base: 0, md: showHeader ? "initial" : 0 },
|
|
403
|
+
w: { base: 0, md: showHeader ? "auto" : 0 },
|
|
404
|
+
h: { base: 0, md: showHeader ? "auto" : 0 },
|
|
405
|
+
overflow: "hidden",
|
|
388
406
|
children: /* @__PURE__ */ jsxRuntime.jsx(react.Tr, { children: columns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(react.Th, { textAlign: "center", p: 2, children: t(`column.${column}`) }, column)) })
|
|
389
407
|
}
|
|
390
408
|
),
|
|
391
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.Tbody, { children: casinos.map(({ id, ...casino }, index2) => /* @__PURE__ */ jsxRuntime.jsx(CasinoTableRow, { casino: { id: String(index2 + 1), ...casino } }, id)) })
|
|
409
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Tbody, { display: { base: "grid", md: "table-row-group" }, children: casinos.map(({ id, ...casino }, index2) => /* @__PURE__ */ jsxRuntime.jsx(CasinoTableRow, { casino: { id: String(index2 + 1), ...casino } }, id)) })
|
|
392
410
|
] });
|
|
393
411
|
};
|
|
394
412
|
exports.CasinoTable = CasinoTable;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const i18n = require("./i18n/index.cjs");
|
|
3
|
+
function isValidDate(date) {
|
|
4
|
+
return !date ? false : date instanceof Date && !isNaN(date.getTime());
|
|
5
|
+
}
|
|
3
6
|
function getCurrentYear(locale = i18n.DEFAULT_LANGUAGE) {
|
|
4
7
|
const currentDate = /* @__PURE__ */ new Date();
|
|
5
8
|
const currentYear = new Intl.DateTimeFormat(locale, { year: "numeric" }).format(currentDate);
|
|
@@ -12,8 +15,8 @@ function getCurrentMonth(locale = i18n.DEFAULT_LANGUAGE) {
|
|
|
12
15
|
}
|
|
13
16
|
function formatDate({ value, locale = i18n.DEFAULT_LANGUAGE, options }) {
|
|
14
17
|
const date = typeof value === "string" || typeof value === "number" ? new Date(value) : value;
|
|
15
|
-
if (
|
|
16
|
-
|
|
18
|
+
if (!isValidDate(date)) {
|
|
19
|
+
return null;
|
|
17
20
|
}
|
|
18
21
|
const formatter = new Intl.DateTimeFormat(locale, options);
|
|
19
22
|
return formatter.format(date);
|
package/dist/index.cjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index-
|
|
4
|
-
const index$1 = require("./index-
|
|
3
|
+
const index = require("./index-BYl_y0HN.js");
|
|
4
|
+
const index$1 = require("./index-DzOucsVx.js");
|
|
5
5
|
const index$2 = require("./index-DDg_PkD2.js");
|
|
6
|
-
const index$3 = require("./index-
|
|
6
|
+
const index$3 = require("./index-B4M1IKzL.js");
|
|
7
7
|
const index$4 = require("./index-ma-iV7GU.js");
|
|
8
8
|
const index$5 = require("./index-CVv755RW.js");
|
|
9
9
|
const i18n = require("./i18n/index.cjs");
|
|
10
10
|
const layout = require("./layout/index.cjs");
|
|
11
|
-
const index$6 = require("./index-
|
|
11
|
+
const index$6 = require("./index-DXTC3R_J.js");
|
|
12
12
|
const index$7 = require("./index-CBRFCYhV.js");
|
|
13
13
|
const index$8 = require("./index-C6MG_f24.js");
|
|
14
14
|
const index$9 = require("./index-CYr1ct1t.js");
|
|
15
15
|
const index$a = require("./index-BfITsKAr.js");
|
|
16
|
-
const index$b = require("./index-
|
|
16
|
+
const index$b = require("./index-ov4J7p3D.js");
|
|
17
17
|
const index$c = require("./index-DgrIJs-a.js");
|
|
18
18
|
const index$d = require("./index-CbuiYkSg.js");
|
|
19
19
|
exports.ActionButton = index.ActionButton;
|
package/dist/index.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "./index-
|
|
2
|
-
import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "./index-
|
|
1
|
+
import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "./index-D9WcltF-.mjs";
|
|
2
|
+
import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "./index-D9i6mZaH.mjs";
|
|
3
3
|
import { H as H2, a as a3, b as b3, O, P as P2, U } from "./index-BEjKnOZA.mjs";
|
|
4
|
-
import { I as I2, L as L3, P as P3, S as S3, u, a as a4 } from "./index-
|
|
4
|
+
import { I as I2, L as L3, P as P3, S as S3, u, a as a4 } from "./index-ClIPWZ3z.mjs";
|
|
5
5
|
import { u as u2 } from "./index-DHURrUMW.mjs";
|
|
6
6
|
import { u as u3 } from "./index-C1kr7Vd-.mjs";
|
|
7
7
|
import { DEFAULT_LANGUAGE, resources } from "./i18n/index.mjs";
|
|
8
8
|
import { default as default2 } from "./layout/index.mjs";
|
|
9
|
-
import { M } from "./index-
|
|
9
|
+
import { M } from "./index-D1gNEJUA.mjs";
|
|
10
10
|
import { a as a5, C as C3, b as b4, G as G2, I as I3 } from "./index-RzByAgHO.mjs";
|
|
11
11
|
import { A as A2 } from "./index-BJRvnR8Q.mjs";
|
|
12
12
|
import { b as b5, c as c3, g as g2, a as a6 } from "./index-cQqALZIW.mjs";
|
|
13
13
|
import { g as g3, a as a7, r as r2 } from "./index-BeJTy4iY.mjs";
|
|
14
|
-
import { f as f2, b as b6, a as a8, g as g4, r as r3, t as t2 } from "./index-
|
|
14
|
+
import { f as f2, b as b6, a as a8, g as g4, r as r3, t as t2 } from "./index-BPthShL-.mjs";
|
|
15
15
|
import { b as b7, a as a9, i as i2 } from "./index-Bph7a3PR.mjs";
|
|
16
16
|
import { D, L as L4 } from "./index-BRVKhbs6.mjs";
|
|
17
17
|
export {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { INavItem } from '../../../types';
|
|
2
|
+
import { GridColumns, INavItem } from '../../../types';
|
|
3
3
|
type NavigationProps = {
|
|
4
4
|
menu: INavItem[];
|
|
5
|
+
columns?: GridColumns;
|
|
5
6
|
};
|
|
6
7
|
declare const Navigation: FC<NavigationProps>;
|
|
7
8
|
export default Navigation;
|
package/dist/layout/index.cjs
CHANGED
|
@@ -3,16 +3,16 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const react = require("@chakra-ui/react");
|
|
4
4
|
const reactI18next = require("react-i18next");
|
|
5
5
|
require("@mdx-js/react");
|
|
6
|
-
const index$1 = require("../index-
|
|
6
|
+
const index$1 = require("../index-B4M1IKzL.js");
|
|
7
7
|
require("../index-C6MG_f24.js");
|
|
8
8
|
require("../index-CBRFCYhV.js");
|
|
9
9
|
require("react-medium-image-zoom");
|
|
10
10
|
const react$1 = require("react");
|
|
11
|
-
const index = require("../index-
|
|
11
|
+
const index = require("../index-DzOucsVx.js");
|
|
12
12
|
const icons = require("@chakra-ui/icons");
|
|
13
13
|
require("i18next");
|
|
14
14
|
require("react-markdown");
|
|
15
|
-
const index$2 = require("../index-
|
|
15
|
+
const index$2 = require("../index-ov4J7p3D.js");
|
|
16
16
|
const index$3 = require("../index-DgrIJs-a.js");
|
|
17
17
|
const Content = ({ children }) => {
|
|
18
18
|
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { as: "section", py: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index.Container, { children }) });
|
|
@@ -42,12 +42,12 @@ const Disclaimer = () => {
|
|
|
42
42
|
const Extra = ({ children }) => {
|
|
43
43
|
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { as: "section", my: 2, children });
|
|
44
44
|
};
|
|
45
|
-
const Navigation$1 = ({ menu }) => {
|
|
45
|
+
const Navigation$1 = ({ menu, columns = { base: 1, sm: 2, md: 4 } }) => {
|
|
46
46
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
47
|
react.SimpleGrid,
|
|
48
48
|
{
|
|
49
49
|
as: "ul",
|
|
50
|
-
columns
|
|
50
|
+
columns,
|
|
51
51
|
mt: 4,
|
|
52
52
|
mb: 6,
|
|
53
53
|
p: 0,
|
|
@@ -74,7 +74,7 @@ const Footer = () => {
|
|
|
74
74
|
const { currentLocale } = index$1.usePageContext();
|
|
75
75
|
const menu = navigation.footer[currentLocale.code] ?? [];
|
|
76
76
|
const socialNetworks = metadata.socialNetworks ?? [];
|
|
77
|
-
const { extra, showDisclaimer = true } = (config == null ? void 0 : config.footer) ?? {};
|
|
77
|
+
const { extra, showDisclaimer = true, navigationColumns } = (config == null ? void 0 : config.footer) ?? {};
|
|
78
78
|
const hasNavigation = !!menu.length;
|
|
79
79
|
const hasSocialNetworks = !!socialNetworks.length;
|
|
80
80
|
const hasExtra = !!extra;
|
|
@@ -86,7 +86,7 @@ const Footer = () => {
|
|
|
86
86
|
color: react.useColorModeValue("gray.700", "gray.200"),
|
|
87
87
|
py: 4,
|
|
88
88
|
children: /* @__PURE__ */ jsxRuntime.jsxs(index.Container, { children: [
|
|
89
|
-
hasNavigation && /* @__PURE__ */ jsxRuntime.jsx(Navigation$1, { menu }),
|
|
89
|
+
hasNavigation && /* @__PURE__ */ jsxRuntime.jsx(Navigation$1, { menu, columns: navigationColumns }),
|
|
90
90
|
hasExtra && /* @__PURE__ */ jsxRuntime.jsx(Extra, { children: extra }),
|
|
91
91
|
showDisclaimer && /* @__PURE__ */ jsxRuntime.jsx(Disclaimer, {}),
|
|
92
92
|
/* @__PURE__ */ jsxRuntime.jsx(Brand$1, { brand: /* @__PURE__ */ jsxRuntime.jsx(index.Logo, {}) }),
|
package/dist/layout/index.mjs
CHANGED
|
@@ -2,16 +2,16 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import { Box, Divider, AbsoluteCenter, useColorModeValue, Text, SimpleGrid, Flex, Menu, MenuButton, Button, HStack, Icon, MenuList, MenuItem, Popover, PopoverTrigger, PopoverContent, List, ListItem, Stack, Collapse, useDisclosure, IconButton, Heading } from "@chakra-ui/react";
|
|
3
3
|
import { useTranslation } from "react-i18next";
|
|
4
4
|
import "@mdx-js/react";
|
|
5
|
-
import { L as Link, a as useSiteContext, u as usePageContext } from "../index-
|
|
5
|
+
import { L as Link, a as useSiteContext, u as usePageContext } from "../index-ClIPWZ3z.mjs";
|
|
6
6
|
import "../index-BJRvnR8Q.mjs";
|
|
7
7
|
import "../index-RzByAgHO.mjs";
|
|
8
8
|
import "react-medium-image-zoom";
|
|
9
9
|
import { useMemo, forwardRef, useState, useEffect } from "react";
|
|
10
|
-
import { a as Container, c as Logo, d as SocialNetworks, L as LinkButton } from "../index-
|
|
10
|
+
import { a as Container, c as Logo, d as SocialNetworks, L as LinkButton } from "../index-D9i6mZaH.mjs";
|
|
11
11
|
import { ChevronDownIcon, ChevronRightIcon, CloseIcon, HamburgerIcon, ChevronUpIcon } from "@chakra-ui/icons";
|
|
12
12
|
import "i18next";
|
|
13
13
|
import "react-markdown";
|
|
14
|
-
import { g as getCurrentYear } from "../index-
|
|
14
|
+
import { g as getCurrentYear } from "../index-BPthShL-.mjs";
|
|
15
15
|
import { b as buildPath } from "../index-Bph7a3PR.mjs";
|
|
16
16
|
const Content = ({ children }) => {
|
|
17
17
|
return /* @__PURE__ */ jsx(Box, { as: "section", py: 4, children: /* @__PURE__ */ jsx(Container, { children }) });
|
|
@@ -41,12 +41,12 @@ const Disclaimer = () => {
|
|
|
41
41
|
const Extra = ({ children }) => {
|
|
42
42
|
return /* @__PURE__ */ jsx(Box, { as: "section", my: 2, children });
|
|
43
43
|
};
|
|
44
|
-
const Navigation$1 = ({ menu }) => {
|
|
44
|
+
const Navigation$1 = ({ menu, columns = { base: 1, sm: 2, md: 4 } }) => {
|
|
45
45
|
return /* @__PURE__ */ jsx(
|
|
46
46
|
SimpleGrid,
|
|
47
47
|
{
|
|
48
48
|
as: "ul",
|
|
49
|
-
columns
|
|
49
|
+
columns,
|
|
50
50
|
mt: 4,
|
|
51
51
|
mb: 6,
|
|
52
52
|
p: 0,
|
|
@@ -73,7 +73,7 @@ const Footer = () => {
|
|
|
73
73
|
const { currentLocale } = usePageContext();
|
|
74
74
|
const menu = navigation.footer[currentLocale.code] ?? [];
|
|
75
75
|
const socialNetworks = metadata.socialNetworks ?? [];
|
|
76
|
-
const { extra, showDisclaimer = true } = (config == null ? void 0 : config.footer) ?? {};
|
|
76
|
+
const { extra, showDisclaimer = true, navigationColumns } = (config == null ? void 0 : config.footer) ?? {};
|
|
77
77
|
const hasNavigation = !!menu.length;
|
|
78
78
|
const hasSocialNetworks = !!socialNetworks.length;
|
|
79
79
|
const hasExtra = !!extra;
|
|
@@ -85,7 +85,7 @@ const Footer = () => {
|
|
|
85
85
|
color: useColorModeValue("gray.700", "gray.200"),
|
|
86
86
|
py: 4,
|
|
87
87
|
children: /* @__PURE__ */ jsxs(Container, { children: [
|
|
88
|
-
hasNavigation && /* @__PURE__ */ jsx(Navigation$1, { menu }),
|
|
88
|
+
hasNavigation && /* @__PURE__ */ jsx(Navigation$1, { menu, columns: navigationColumns }),
|
|
89
89
|
hasExtra && /* @__PURE__ */ jsx(Extra, { children: extra }),
|
|
90
90
|
showDisclaimer && /* @__PURE__ */ jsx(Disclaimer, {}),
|
|
91
91
|
/* @__PURE__ */ jsx(Brand$1, { brand: /* @__PURE__ */ jsx(Logo, {}) }),
|
package/dist/providers/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("../index-
|
|
4
|
-
const index$1 = require("../index-
|
|
3
|
+
const index = require("../index-DXTC3R_J.js");
|
|
4
|
+
const index$1 = require("../index-B4M1IKzL.js");
|
|
5
5
|
exports.MdxProvider = index.MdxProvider;
|
|
6
6
|
exports.PageProvider = index$1.PageProvider;
|
|
7
7
|
exports.SiteProvider = index$1.SiteProvider;
|
package/dist/providers/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type StrapiComponentType = 'STRAPI__COMPONENT_CONTENT_ACTION_BUTTON' | 'STRAPI__COMPONENT_CONTENT_CONTACTS_PAGE' | 'STRAPI__COMPONENT_CONTENT_COOKIE_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_FAQ' | 'STRAPI__COMPONENT_CONTENT_FEATURES' | 'STRAPI__COMPONENT_CONTENT_GAME_CARDS' | 'STRAPI__COMPONENT_CONTENT_GAME_CARD_TABS' | 'STRAPI__COMPONENT_CONTENT_GAME_DEMO' | 'STRAPI__COMPONENT_CONTENT_GAME_INFO' | 'STRAPI__COMPONENT_CONTENT_HOW_TO' | 'STRAPI__COMPONENT_CONTENT_INFORMER' | 'STRAPI__COMPONENT_CONTENT_LIST' | 'STRAPI__COMPONENT_CONTENT_MEDIA' | 'STRAPI__COMPONENT_CONTENT_PRIVACY_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_PROS_CONS' | 'STRAPI__COMPONENT_CONTENT_RICH_TEXT' | 'STRAPI__COMPONENT_CONTENT_TABLE' | 'STRAPI__COMPONENT_CONTENT_TERMS_CONDITIONS_PAGE' | 'STRAPI__COMPONENT_CONTENT_TIP';
|
|
1
|
+
export type StrapiComponentType = 'STRAPI__COMPONENT_CONTENT_ACTION_BUTTON' | 'STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS' | 'STRAPI__COMPONENT_CONTENT_CONTACTS_PAGE' | 'STRAPI__COMPONENT_CONTENT_COOKIE_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_FAQ' | 'STRAPI__COMPONENT_CONTENT_FEATURES' | 'STRAPI__COMPONENT_CONTENT_GAME_CARDS' | 'STRAPI__COMPONENT_CONTENT_GAME_CARD_TABS' | 'STRAPI__COMPONENT_CONTENT_GAME_DEMO' | 'STRAPI__COMPONENT_CONTENT_GAME_INFO' | 'STRAPI__COMPONENT_CONTENT_HOW_TO' | 'STRAPI__COMPONENT_CONTENT_INFORMER' | 'STRAPI__COMPONENT_CONTENT_LIST' | 'STRAPI__COMPONENT_CONTENT_MEDIA' | 'STRAPI__COMPONENT_CONTENT_PRIVACY_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_PROS_CONS' | 'STRAPI__COMPONENT_CONTENT_RICH_TEXT' | 'STRAPI__COMPONENT_CONTENT_TABLE' | 'STRAPI__COMPONENT_CONTENT_TERMS_CONDITIONS_PAGE' | 'STRAPI__COMPONENT_CONTENT_TIP';
|
|
2
2
|
export interface IStrapiComponentFragment {
|
|
3
3
|
__typename: StrapiComponentType;
|
|
4
4
|
[prop: string]: unknown;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { ImageType, INavigation, ISocialNetwork } from '../components';
|
|
2
|
+
import { GridColumns, ImageType, INavigation, ISocialNetwork } from '../components';
|
|
3
3
|
import { ISeo } from '../content';
|
|
4
4
|
import { Currency, ILocale } from '../i18n';
|
|
5
5
|
interface ISiteHeaderConfig {
|
|
@@ -8,6 +8,7 @@ interface ISiteHeaderConfig {
|
|
|
8
8
|
interface ISiteFooterConfig {
|
|
9
9
|
extra?: ReactNode;
|
|
10
10
|
showDisclaimer?: boolean;
|
|
11
|
+
navigationColumns?: GridColumns;
|
|
11
12
|
}
|
|
12
13
|
interface ISiteThemeConfig {
|
|
13
14
|
isInvertedColor?: boolean;
|
|
@@ -6,5 +6,5 @@ interface IFormatDateOptions {
|
|
|
6
6
|
locale?: ILocale['code'];
|
|
7
7
|
options?: Intl.DateTimeFormatOptions;
|
|
8
8
|
}
|
|
9
|
-
export declare function formatDate({ value, locale, options }: IFormatDateOptions): string;
|
|
9
|
+
export declare function formatDate({ value, locale, options }: IFormatDateOptions): string | null;
|
|
10
10
|
export {};
|
package/dist/utils/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const index = require("../index-C6MG_f24.js");
|
|
4
4
|
const index$1 = require("../index-CYr1ct1t.js");
|
|
5
5
|
const index$2 = require("../index-BfITsKAr.js");
|
|
6
|
-
const index$3 = require("../index-
|
|
6
|
+
const index$3 = require("../index-ov4J7p3D.js");
|
|
7
7
|
const index$4 = require("../index-DgrIJs-a.js");
|
|
8
8
|
const index$5 = require("../index-CbuiYkSg.js");
|
|
9
9
|
exports.Animation = index.Animation;
|
package/dist/utils/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A } from "../index-BJRvnR8Q.mjs";
|
|
2
2
|
import { b, c, g, a } from "../index-cQqALZIW.mjs";
|
|
3
3
|
import { g as g2, a as a2, r } from "../index-BeJTy4iY.mjs";
|
|
4
|
-
import { f, b as b2, a as a3, g as g3, r as r2, t } from "../index-
|
|
4
|
+
import { f, b as b2, a as a3, g as g3, r as r2, t } from "../index-BPthShL-.mjs";
|
|
5
5
|
import { b as b3, a as a4, i } from "../index-Bph7a3PR.mjs";
|
|
6
6
|
import { D, L } from "../index-BRVKhbs6.mjs";
|
|
7
7
|
export {
|