mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2026-01-01 12:18:35 -05:00
feat: add server default locale setting (#1536)
* feat: add server default locale setting * fix: do not modify defaultLocale property of IntlProvider
This commit is contained in:
@@ -119,7 +119,7 @@ const CoreApp: Omit<NextAppComponentType, 'origGetInitialProps'> = ({
|
||||
<InteractionProvider>
|
||||
<ToastProvider components={{ Toast, ToastContainer }}>
|
||||
<Head>
|
||||
<title>Overseerr</title>
|
||||
<title>{currentSettings.applicationTitle}</title>
|
||||
<meta
|
||||
name="viewport"
|
||||
content="initial-scale=1, viewport-fit=cover, width=device-width"
|
||||
@@ -156,6 +156,7 @@ CoreApp.getInitialProps = async (initialProps) => {
|
||||
cacheImages: false,
|
||||
vapidPublic: '',
|
||||
enablePushRegistration: false,
|
||||
locale: 'en',
|
||||
};
|
||||
|
||||
if (ctx.res) {
|
||||
@@ -209,7 +210,9 @@ CoreApp.getInitialProps = async (initialProps) => {
|
||||
initialProps
|
||||
);
|
||||
|
||||
const locale = user?.settings?.locale ?? 'en';
|
||||
const locale = user?.settings?.locale
|
||||
? user.settings.locale
|
||||
: currentSettings.locale;
|
||||
|
||||
const messages = await loadLocaleData(locale as AvailableLocales);
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import React from 'react';
|
||||
import { GetServerSideProps, NextPage } from 'next';
|
||||
import type { Collection } from '../../../../server/models/Collection';
|
||||
import axios from 'axios';
|
||||
import { parseCookies } from 'nookies';
|
||||
import { GetServerSideProps, NextPage } from 'next';
|
||||
import React from 'react';
|
||||
import type { Collection } from '../../../../server/models/Collection';
|
||||
import CollectionDetails from '../../../components/CollectionDetails';
|
||||
|
||||
interface CollectionPageProps {
|
||||
@@ -16,11 +15,10 @@ const CollectionPage: NextPage<CollectionPageProps> = ({ collection }) => {
|
||||
export const getServerSideProps: GetServerSideProps<CollectionPageProps> = async (
|
||||
ctx
|
||||
) => {
|
||||
const cookies = parseCookies(ctx);
|
||||
const response = await axios.get<Collection>(
|
||||
`http://localhost:${process.env.PORT || 5055}/api/v1/collection/${
|
||||
ctx.query.collectionId
|
||||
}${cookies.locale ? `?language=${cookies.locale}` : ''}`,
|
||||
}`,
|
||||
{
|
||||
headers: ctx.req?.headers?.cookie
|
||||
? { cookie: ctx.req.headers.cookie }
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import React from 'react';
|
||||
import axios from 'axios';
|
||||
import { NextPage } from 'next';
|
||||
import React from 'react';
|
||||
import type { MovieDetails as MovieDetailsType } from '../../../../server/models/Movie';
|
||||
import MovieDetails from '../../../components/MovieDetails';
|
||||
import axios from 'axios';
|
||||
import { parseCookies } from 'nookies';
|
||||
|
||||
interface MoviePageProps {
|
||||
movie?: MovieDetailsType;
|
||||
@@ -15,11 +14,10 @@ const MoviePage: NextPage<MoviePageProps> = ({ movie }) => {
|
||||
|
||||
MoviePage.getInitialProps = async (ctx) => {
|
||||
if (ctx.req) {
|
||||
const cookies = parseCookies(ctx);
|
||||
const response = await axios.get<MovieDetailsType>(
|
||||
`http://localhost:${process.env.PORT || 5055}/api/v1/movie/${
|
||||
ctx.query.movieId
|
||||
}${cookies.locale ? `?language=${cookies.locale}` : ''}`,
|
||||
}`,
|
||||
{
|
||||
headers: ctx.req?.headers?.cookie
|
||||
? { cookie: ctx.req.headers.cookie }
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import React from 'react';
|
||||
import { NextPage } from 'next';
|
||||
import axios from 'axios';
|
||||
import { parseCookies } from 'nookies';
|
||||
import TvDetails from '../../../components/TvDetails';
|
||||
import { NextPage } from 'next';
|
||||
import React from 'react';
|
||||
import type { TvDetails as TvDetailsType } from '../../../../server/models/Tv';
|
||||
import TvDetails from '../../../components/TvDetails';
|
||||
|
||||
interface TvPageProps {
|
||||
tv?: TvDetailsType;
|
||||
@@ -15,11 +14,10 @@ const TvPage: NextPage<TvPageProps> = ({ tv }) => {
|
||||
|
||||
TvPage.getInitialProps = async (ctx) => {
|
||||
if (ctx.req) {
|
||||
const cookies = parseCookies(ctx);
|
||||
const response = await axios.get<TvDetailsType>(
|
||||
`http://localhost:${process.env.PORT || 5055}/api/v1/tv/${
|
||||
ctx.query.tvId
|
||||
}${cookies.locale ? `?language=${cookies.locale}` : ''}`,
|
||||
}`,
|
||||
{
|
||||
headers: ctx.req?.headers?.cookie
|
||||
? { cookie: ctx.req.headers.cookie }
|
||||
|
||||
Reference in New Issue
Block a user