diff --git a/package.json b/package.json index 2c17b8a..a04c324 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "lodash": "^4.17.21", "lucide-react": "^0.501.0", "next": "15.3.1", + "next-redux-wrapper": "^8.1.0", "next-themes": "^0.4.6", "react": "^19.0.0", "react-day-picker": "8.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94c0c7a..a54e8a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -74,6 +74,9 @@ importers: next: specifier: 15.3.1 version: 15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next-redux-wrapper: + specifier: ^8.1.0 + version: 8.1.0(next@15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-redux@9.2.0(@types/react@19.1.2)(react@19.1.0)(redux@5.0.1))(react@19.1.0) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -2117,6 +2120,13 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + next-redux-wrapper@8.1.0: + resolution: {integrity: sha512-2hIau0hcI6uQszOtrvAFqgc0NkZegKYhBB7ZAKiG3jk7zfuQb4E7OV9jfxViqqojh3SEHdnFfPkN9KErttUKuw==} + peerDependencies: + next: '>=9' + react: '*' + react-redux: '*' + next-themes@0.4.6: resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} peerDependencies: @@ -4720,6 +4730,12 @@ snapshots: natural-compare@1.4.0: {} + next-redux-wrapper@8.1.0(next@15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-redux@9.2.0(@types/react@19.1.2)(react@19.1.0)(redux@5.0.1))(react@19.1.0): + dependencies: + next: 15.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-redux: 9.2.0(@types/react@19.1.2)(react@19.1.0)(redux@5.0.1) + next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6fcee9d..7766960 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,7 +1,10 @@ import type { Metadata } from 'next'; import { Inter } from 'next/font/google'; +import { textControlApi } from '@/shared/language/api/text-control.api'; import { Providers } from '@/shared/providers/providers'; +import { makeStore } from '@/shared/store'; +import { TextItem } from '@/shared/types/text.types'; import { Footer } from '@/widgets/footer'; import { Header } from '@/widgets/header/ui'; @@ -16,20 +19,26 @@ export const metadata: Metadata = { 'Качественное топливо, удобное расположение и отличный сервис для наших клиентов', }; -export default function RootLayout({ +export default async function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { + const store = makeStore(); + + const response = await store.dispatch( + textControlApi.endpoints.fetchText.initiate(), + ); + return ( - +
{children}