Skip to content

Commit fc70be7

Browse files
committed
feat: add unique title to all page
1 parent b095b8b commit fc70be7

6 files changed

Lines changed: 158 additions & 128 deletions

File tree

src/pages/404.tsx

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { GetStaticPropsContext } from 'next';
55
import { i18n, useTranslation } from 'next-i18next';
66
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
77
import getConfig from 'next/config';
8+
import Head from 'next/head';
89

910
import { informations } from '@/config/config';
1011
import { Footer } from '@/uikit/Footer';
@@ -151,47 +152,52 @@ function Page404() {
151152
const isMobile = useBreakpointValue({ base: true, lg: false });
152153

153154
return (
154-
<Flex flexDirection='column'>
155-
<Box w='full' position='fixed' top={0} left={0} right={0} zIndex={15}>
156-
<Header />
157-
</Box>
158-
<Flex
159-
justifyContent='center'
160-
alignItems='center'
161-
flexDirection='column'
162-
w='full'
163-
h='100vh'
164-
background='black'
165-
position='relative'
166-
overflow='hidden'>
155+
<>
156+
<Head>
157+
<title>Mocha Bot - Page Not Found</title>
158+
</Head>
159+
<Flex flexDirection='column'>
160+
<Box w='full' position='fixed' top={0} left={0} right={0} zIndex={15}>
161+
<Header />
162+
</Box>
167163
<Flex
168-
zIndex={10}
169-
color='white'
164+
justifyContent='center'
170165
alignItems='center'
171166
flexDirection='column'
172-
px={10}>
173-
<Text
174-
as='h1'
175-
fontWeight='bold'
176-
fontSize={{ base: '9xl', lg: '10xl' }}>
177-
{t('common:not_found.title')}
178-
</Text>
179-
<Box
180-
fontSize={{ base: 'lg', md: '2xl', lg: '3xl' }}
181-
textAlign={{ base: 'center' }}>
182-
<NotFoundDescription
183-
isMobile={isMobile}
184-
descriptions={t('common:not_found.descriptions', {
185-
returnObjects: true,
186-
})}
187-
/>
188-
</Box>
189-
</Flex>
167+
w='full'
168+
h='100vh'
169+
background='black'
170+
position='relative'
171+
overflow='hidden'>
172+
<Flex
173+
zIndex={10}
174+
color='white'
175+
alignItems='center'
176+
flexDirection='column'
177+
px={10}>
178+
<Text
179+
as='h1'
180+
fontWeight='bold'
181+
fontSize={{ base: '9xl', lg: '10xl' }}>
182+
{t('common:not_found.title')}
183+
</Text>
184+
<Box
185+
fontSize={{ base: 'lg', md: '2xl', lg: '3xl' }}
186+
textAlign={{ base: 'center' }}>
187+
<NotFoundDescription
188+
isMobile={isMobile}
189+
descriptions={t('common:not_found.descriptions', {
190+
returnObjects: true,
191+
})}
192+
/>
193+
</Box>
194+
</Flex>
190195

191-
<PlanetBackground isMobile={isMobile} />
196+
<PlanetBackground isMobile={isMobile} />
197+
</Flex>
198+
<Footer informations={informations} />
192199
</Flex>
193-
<Footer informations={informations} />
194-
</Flex>
200+
</>
195201
);
196202
}
197203

src/pages/index.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ import type { GetStaticPropsContext } from 'next';
22
import { i18n } from 'next-i18next';
33
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
44
import getConfig from 'next/config';
5+
import Head from 'next/head';
56

67
import { LandingPageContainer } from '@/modules/landingPage/LandingPageContainer';
78

89
const { publicRuntimeConfig } = getConfig();
910

1011
function Index() {
11-
return <LandingPageContainer />;
12+
return (
13+
<>
14+
<Head>
15+
<title>Mocha Bot</title>
16+
</Head>
17+
<LandingPageContainer />
18+
</>
19+
);
1220
}
1321

1422
export async function getStaticProps({ locale }: GetStaticPropsContext) {

src/pages/pricing/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default function Index() {
1313
return (
1414
<>
1515
<Head>
16-
<title>Mocha - Premium</title>
16+
<title>Mocha Bot - Premium</title>
1717
<meta property='og:title' content='Mocha - Premium' key='meta-title' />
1818
<meta
1919
property='og:description'

src/pages/privacy-policy/index.tsx

Lines changed: 96 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,103 @@
11
import { Container, Heading, Text, VStack } from '@chakra-ui/react';
2+
import Head from 'next/head';
23

34
function PrivacyPolicy() {
45
return (
5-
<Container maxW='3xl'>
6-
<VStack spacing={2} alignItems='flex-start'>
7-
<Heading>Privacy Policy for Mocha</Heading>
8-
<Text>
9-
At Mocha, accessible from https://mocha-bot.xyz/, one of our main
10-
priorities is the privacy of our visitors. This Privacy Policy
11-
document contains types of information that is collected and recorded
12-
by Mocha and how we use it.
13-
</Text>
14-
<Text>
15-
If you have additional questions or require more information about our
16-
Privacy Policy, do not hesitate to contact us.
17-
</Text>
18-
<Heading>Log Files</Heading>
19-
<Text>
20-
Mocha follows a standard procedure of using log files. These files log
21-
visitors when they visit websites. All hosting companies do this and a
22-
part of hosting services analytics. The information collected by log
23-
files include internet protocol (IP) addresses, browser type, Internet
24-
Service Provider (ISP), date and time stamp, referring/exit pages, and
25-
possibly the number of clicks. These are not linked to any information
26-
that is personally identifiable. The purpose of the information is for
27-
analyzing trends, administering the site, tracking users movement on
28-
the website, and gathering demographic information. Our Privacy Policy
29-
was created with the help of the{' '}
30-
<a href='https://www.privacypolicyonline.com/privacy-policy-generator/'>
31-
Privacy Policy Generator
32-
</a>
33-
.
34-
</Text>
35-
<Heading>Privacy Policies</Heading>
36-
<Text>
37-
You may consult this list to find the Privacy Policy for each of the
38-
advertising partners of Mocha.
39-
</Text>
40-
<Text>
41-
Third-party ad servers or ad networks uses technologies like cookies,
42-
JavaScript, or Web Beacons that are used in their respective
43-
advertisements and links that appear on Mocha, which are sent directly
44-
to users browser. They automatically receive your IP address when this
45-
occurs. These technologies are used to measure the effectiveness of
46-
their advertising campaigns and/or to personalize the advertising
47-
content that you see on websites that you visit.
48-
</Text>
49-
<Text>
50-
Note that Mocha has no access to or control over these cookies that
51-
are used by third-party advertisers.
52-
</Text>
53-
<Heading>Third Party Privacy Policies</Heading>
54-
<Text>
55-
Mocha Privacy Policy does not apply to other advertisers or websites.
56-
Thus, we are advising you to consult the respective Privacy Policies
57-
of these third-party ad servers for more detailed information. It may
58-
include their practices and instructions about how to opt-out of
59-
certain options.{' '}
60-
</Text>
61-
<Text>
62-
You can choose to disable cookies through your individual browser
63-
options. To know more detailed information about cookie management
64-
with specific web browsers, it can be found at the browsers respective
65-
websites. What Are Cookies?
66-
</Text>
67-
<Heading>Children Information</Heading>
68-
<Text>
69-
Another part of our priority is adding protection for children while
70-
using the internet. We encourage parents and guardians to observe,
71-
participate in, and/or monitor and guide their online activity.
72-
</Text>
73-
<Text>
74-
Mocha does not knowingly collect any Personal Identifiable Information
75-
from children under the age of 13. If you think that your child
76-
provided this kind of information on our website, we strongly
77-
encourage you to contact us immediately and we will do our best
78-
efforts to promptly remove such information from our records.
79-
</Text>
80-
<Heading>Online Privacy Policy Only</Heading>
81-
<Text>
82-
This Privacy Policy applies only to our online activities and is valid
83-
for visitors to our website with regards to the information that they
84-
shared and/or collect in Mocha. This policy is not applicable to any
85-
information collected offline or via channels other than this website.
86-
</Text>
87-
<Heading>Consent</Heading>
88-
<Text>
89-
By using our website, you here by consent to our Privacy Policy and
90-
agree to its Terms and Conditions.
91-
</Text>
92-
</VStack>
93-
</Container>
6+
<>
7+
<Head>
8+
<title>Mocha Bot - Privacy Policy</title>
9+
</Head>
10+
<Container maxW='3xl'>
11+
<VStack spacing={2} alignItems='flex-start'>
12+
<Heading>Privacy Policy for Mocha</Heading>
13+
<Text>
14+
At Mocha, accessible from https://mocha-bot.xyz/, one of our main
15+
priorities is the privacy of our visitors. This Privacy Policy
16+
document contains types of information that is collected and
17+
recorded by Mocha and how we use it.
18+
</Text>
19+
<Text>
20+
If you have additional questions or require more information about
21+
our Privacy Policy, do not hesitate to contact us.
22+
</Text>
23+
<Heading>Log Files</Heading>
24+
<Text>
25+
Mocha follows a standard procedure of using log files. These files
26+
log visitors when they visit websites. All hosting companies do this
27+
and a part of hosting services analytics. The information collected
28+
by log files include internet protocol (IP) addresses, browser type,
29+
Internet Service Provider (ISP), date and time stamp, referring/exit
30+
pages, and possibly the number of clicks. These are not linked to
31+
any information that is personally identifiable. The purpose of the
32+
information is for analyzing trends, administering the site,
33+
tracking users movement on the website, and gathering demographic
34+
information. Our Privacy Policy was created with the help of the{' '}
35+
<a href='https://www.privacypolicyonline.com/privacy-policy-generator/'>
36+
Privacy Policy Generator
37+
</a>
38+
.
39+
</Text>
40+
<Heading>Privacy Policies</Heading>
41+
<Text>
42+
You may consult this list to find the Privacy Policy for each of the
43+
advertising partners of Mocha.
44+
</Text>
45+
<Text>
46+
Third-party ad servers or ad networks uses technologies like
47+
cookies, JavaScript, or Web Beacons that are used in their
48+
respective advertisements and links that appear on Mocha, which are
49+
sent directly to users browser. They automatically receive your IP
50+
address when this occurs. These technologies are used to measure the
51+
effectiveness of their advertising campaigns and/or to personalize
52+
the advertising content that you see on websites that you visit.
53+
</Text>
54+
<Text>
55+
Note that Mocha has no access to or control over these cookies that
56+
are used by third-party advertisers.
57+
</Text>
58+
<Heading>Third Party Privacy Policies</Heading>
59+
<Text>
60+
Mocha Privacy Policy does not apply to other advertisers or
61+
websites. Thus, we are advising you to consult the respective
62+
Privacy Policies of these third-party ad servers for more detailed
63+
information. It may include their practices and instructions about
64+
how to opt-out of certain options.{' '}
65+
</Text>
66+
<Text>
67+
You can choose to disable cookies through your individual browser
68+
options. To know more detailed information about cookie management
69+
with specific web browsers, it can be found at the browsers
70+
respective websites. What Are Cookies?
71+
</Text>
72+
<Heading>Children Information</Heading>
73+
<Text>
74+
Another part of our priority is adding protection for children while
75+
using the internet. We encourage parents and guardians to observe,
76+
participate in, and/or monitor and guide their online activity.
77+
</Text>
78+
<Text>
79+
Mocha does not knowingly collect any Personal Identifiable
80+
Information from children under the age of 13. If you think that
81+
your child provided this kind of information on our website, we
82+
strongly encourage you to contact us immediately and we will do our
83+
best efforts to promptly remove such information from our records.
84+
</Text>
85+
<Heading>Online Privacy Policy Only</Heading>
86+
<Text>
87+
This Privacy Policy applies only to our online activities and is
88+
valid for visitors to our website with regards to the information
89+
that they shared and/or collect in Mocha. This policy is not
90+
applicable to any information collected offline or via channels
91+
other than this website.
92+
</Text>
93+
<Heading>Consent</Heading>
94+
<Text>
95+
By using our website, you here by consent to our Privacy Policy and
96+
agree to its Terms and Conditions.
97+
</Text>
98+
</VStack>
99+
</Container>
100+
</>
94101
);
95102
}
96103

src/pages/room/[slug].tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default function Index({
1616
return (
1717
<>
1818
<Head>
19+
<title>Mocha Bot - {room.name}</title>
1920
<meta property='og:title' content={room.name} key='meta-title' />
2021
<meta
2122
property='og:description'

src/pages/search.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ import type { GetStaticPropsContext } from 'next';
22
import { i18n } from 'next-i18next';
33
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
44
import getConfig from 'next/config';
5+
import Head from 'next/head';
56

67
import { RoomSearchContainer } from '@/modules/room/RoomSearchContainer';
78

89
const { publicRuntimeConfig } = getConfig();
910

1011
export default function Index() {
11-
return <RoomSearchContainer />;
12+
return (
13+
<>
14+
<Head>
15+
<title>Mocha Bot - Search Rooms</title>
16+
</Head>
17+
<RoomSearchContainer />
18+
</>
19+
);
1220
}
1321

1422
export async function getStaticProps({ locale }: GetStaticPropsContext) {

0 commit comments

Comments
 (0)