Skip to content

Commit e1de7ee

Browse files
implement fixed deposit rates pages for 12 banks
1 parent 7a7f8a7 commit e1de7ee

14 files changed

Lines changed: 1080 additions & 0 deletions

File tree

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { Metadata } from "next";
2+
import Link from "next/link";
3+
import React from "react";
4+
import { ArrowLeftIcon } from "lucide-react";
5+
import { Button } from "@/components/ui/button";
6+
import { Container } from "@/components/ui/container";
7+
import Heading from "@/components/ui/heading";
8+
import Subheading from "@/components/ui/subheading";
9+
import Paragraph from "@/components/ui/paragraph";
10+
import TelegramLinkButton from "@/components/telegram-link-button";
11+
import { DepositRateAnchor } from "@/components/deposit-rate-anchor";
12+
import { DepositRatesChart } from "@/components/deposit-rates-chart";
13+
import AdUnit from "@/components/ad-unit";
14+
import { META_OPEN_GRAPH, META_TWITTER } from "@/app/shared-metadata";
15+
import {
16+
DepositRateBank,
17+
Routes,
18+
TelegramChannel,
19+
TopicTitle,
20+
} from "@/lib/enums";
21+
22+
const title = "Bank of China Fixed Deposit Rates";
23+
const description =
24+
"Analyse Bank of China fixed deposit rate trends in Singapore for the past 6 months, 1 year and 2 years.";
25+
const url = Routes.FixedDepositRatesBankOfChina;
26+
27+
export const metadata: Metadata = {
28+
title,
29+
description,
30+
alternates: {
31+
canonical: url,
32+
},
33+
openGraph: {
34+
...META_OPEN_GRAPH,
35+
title,
36+
description,
37+
url,
38+
},
39+
twitter: {
40+
...META_TWITTER,
41+
title,
42+
description,
43+
},
44+
};
45+
46+
export default function BankOfChinaFixedDepositRates() {
47+
return (
48+
<Container>
49+
<div className="space-y-2">
50+
<Heading>{title}</Heading>
51+
<Subheading>{description}</Subheading>
52+
</div>
53+
<DepositRatesChart bank={DepositRateBank.BANK_OF_CHINA} />
54+
<Paragraph>
55+
The chart above shows recent Bank of China fixed deposit rate trend movement.
56+
You can use this to decide when to{" "}
57+
<DepositRateAnchor bank={DepositRateBank.BANK_OF_CHINA} linkText="lock in" />{" "}
58+
your Bank of China fixed deposit for better returns.
59+
</Paragraph>
60+
<AdUnit />
61+
<Paragraph>
62+
<span className="font-medium">SG Alerts</span> is a free notification
63+
service that monitors fixed deposit rates from major banks in Singapore,
64+
including Bank of China, and sends Telegram notifications when rates go up.
65+
</Paragraph>
66+
<Paragraph>
67+
To get started, click the button below to join the Telegram channel and
68+
receive updates.
69+
</Paragraph>
70+
<div className="sticky bottom-6 z-50 mt-8 text-center">
71+
<TelegramLinkButton
72+
channel={TelegramChannel.FixedDepositRates}
73+
linkText="Subscribe Now"
74+
className="shadow-md"
75+
topicTitle={TopicTitle.FixedDepositRates}
76+
/>
77+
</div>
78+
<div className="mt-4 text-center">
79+
<Button variant="secondary" asChild>
80+
<Link href={Routes.FixedDepositRates}>
81+
<ArrowLeftIcon className="mr-2 h-4 w-4" />
82+
Go Back
83+
</Link>
84+
</Button>
85+
</div>
86+
</Container>
87+
);
88+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { Metadata } from "next";
2+
import Link from "next/link";
3+
import React from "react";
4+
import { ArrowLeftIcon } from "lucide-react";
5+
import { Button } from "@/components/ui/button";
6+
import { Container } from "@/components/ui/container";
7+
import Heading from "@/components/ui/heading";
8+
import Subheading from "@/components/ui/subheading";
9+
import Paragraph from "@/components/ui/paragraph";
10+
import TelegramLinkButton from "@/components/telegram-link-button";
11+
import { DepositRateAnchor } from "@/components/deposit-rate-anchor";
12+
import { DepositRatesChart } from "@/components/deposit-rates-chart";
13+
import AdUnit from "@/components/ad-unit";
14+
import { META_OPEN_GRAPH, META_TWITTER } from "@/app/shared-metadata";
15+
import {
16+
DepositRateBank,
17+
Routes,
18+
TelegramChannel,
19+
TopicTitle,
20+
} from "@/lib/enums";
21+
22+
const title = "CIMB Fixed Deposit Rates";
23+
const description =
24+
"Analyse CIMB fixed deposit rate trends in Singapore for the past 6 months, 1 year and 2 years.";
25+
const url = Routes.FixedDepositRatesCimb;
26+
27+
export const metadata: Metadata = {
28+
title,
29+
description,
30+
alternates: {
31+
canonical: url,
32+
},
33+
openGraph: {
34+
...META_OPEN_GRAPH,
35+
title,
36+
description,
37+
url,
38+
},
39+
twitter: {
40+
...META_TWITTER,
41+
title,
42+
description,
43+
},
44+
};
45+
46+
export default function CimbFixedDepositRates() {
47+
return (
48+
<Container>
49+
<div className="space-y-2">
50+
<Heading>{title}</Heading>
51+
<Subheading>{description}</Subheading>
52+
</div>
53+
<DepositRatesChart bank={DepositRateBank.CIMB} />
54+
<Paragraph>
55+
The chart above shows recent CIMB fixed deposit rate trend movement.
56+
You can use this to decide when to{" "}
57+
<DepositRateAnchor bank={DepositRateBank.CIMB} linkText="lock in" />{" "}
58+
your CIMB fixed deposit for better returns.
59+
</Paragraph>
60+
<AdUnit />
61+
<Paragraph>
62+
<span className="font-medium">SG Alerts</span> is a free notification
63+
service that monitors fixed deposit rates from major banks in Singapore,
64+
including CIMB, and sends Telegram notifications when rates go up.
65+
</Paragraph>
66+
<Paragraph>
67+
To get started, click the button below to join the Telegram channel and
68+
receive updates.
69+
</Paragraph>
70+
<div className="sticky bottom-6 z-50 mt-8 text-center">
71+
<TelegramLinkButton
72+
channel={TelegramChannel.FixedDepositRates}
73+
linkText="Subscribe Now"
74+
className="shadow-md"
75+
topicTitle={TopicTitle.FixedDepositRates}
76+
/>
77+
</div>
78+
<div className="mt-4 text-center">
79+
<Button variant="secondary" asChild>
80+
<Link href={Routes.FixedDepositRates}>
81+
<ArrowLeftIcon className="mr-2 h-4 w-4" />
82+
Go Back
83+
</Link>
84+
</Button>
85+
</div>
86+
</Container>
87+
);
88+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { Metadata } from "next";
2+
import Link from "next/link";
3+
import React from "react";
4+
import { ArrowLeftIcon } from "lucide-react";
5+
import { Button } from "@/components/ui/button";
6+
import { Container } from "@/components/ui/container";
7+
import Heading from "@/components/ui/heading";
8+
import Subheading from "@/components/ui/subheading";
9+
import Paragraph from "@/components/ui/paragraph";
10+
import TelegramLinkButton from "@/components/telegram-link-button";
11+
import { DepositRateAnchor } from "@/components/deposit-rate-anchor";
12+
import { DepositRatesChart } from "@/components/deposit-rates-chart";
13+
import AdUnit from "@/components/ad-unit";
14+
import { META_OPEN_GRAPH, META_TWITTER } from "@/app/shared-metadata";
15+
import {
16+
DepositRateBank,
17+
Routes,
18+
TelegramChannel,
19+
TopicTitle,
20+
} from "@/lib/enums";
21+
22+
const title = "Citibank Fixed Deposit Rates";
23+
const description =
24+
"Analyse Citibank fixed deposit rate trends in Singapore for the past 6 months, 1 year and 2 years.";
25+
const url = Routes.FixedDepositRatesCitibank;
26+
27+
export const metadata: Metadata = {
28+
title,
29+
description,
30+
alternates: {
31+
canonical: url,
32+
},
33+
openGraph: {
34+
...META_OPEN_GRAPH,
35+
title,
36+
description,
37+
url,
38+
},
39+
twitter: {
40+
...META_TWITTER,
41+
title,
42+
description,
43+
},
44+
};
45+
46+
export default function CitibankFixedDepositRates() {
47+
return (
48+
<Container>
49+
<div className="space-y-2">
50+
<Heading>{title}</Heading>
51+
<Subheading>{description}</Subheading>
52+
</div>
53+
<DepositRatesChart bank={DepositRateBank.CITIBANK} />
54+
<Paragraph>
55+
The chart above shows recent Citibank fixed deposit rate trend movement.
56+
You can use this to decide when to{" "}
57+
<DepositRateAnchor bank={DepositRateBank.CITIBANK} linkText="lock in" />{" "}
58+
your Citibank fixed deposit for better returns.
59+
</Paragraph>
60+
<AdUnit />
61+
<Paragraph>
62+
<span className="font-medium">SG Alerts</span> is a free notification
63+
service that monitors fixed deposit rates from major banks in Singapore,
64+
including Citibank, and sends Telegram notifications when rates go up.
65+
</Paragraph>
66+
<Paragraph>
67+
To get started, click the button below to join the Telegram channel and
68+
receive updates.
69+
</Paragraph>
70+
<div className="sticky bottom-6 z-50 mt-8 text-center">
71+
<TelegramLinkButton
72+
channel={TelegramChannel.FixedDepositRates}
73+
linkText="Subscribe Now"
74+
className="shadow-md"
75+
topicTitle={TopicTitle.FixedDepositRates}
76+
/>
77+
</div>
78+
<div className="mt-4 text-center">
79+
<Button variant="secondary" asChild>
80+
<Link href={Routes.FixedDepositRates}>
81+
<ArrowLeftIcon className="mr-2 h-4 w-4" />
82+
Go Back
83+
</Link>
84+
</Button>
85+
</div>
86+
</Container>
87+
);
88+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { Metadata } from "next";
2+
import Link from "next/link";
3+
import React from "react";
4+
import { ArrowLeftIcon } from "lucide-react";
5+
import { Button } from "@/components/ui/button";
6+
import { Container } from "@/components/ui/container";
7+
import Heading from "@/components/ui/heading";
8+
import Subheading from "@/components/ui/subheading";
9+
import Paragraph from "@/components/ui/paragraph";
10+
import TelegramLinkButton from "@/components/telegram-link-button";
11+
import { DepositRateAnchor } from "@/components/deposit-rate-anchor";
12+
import { DepositRatesChart } from "@/components/deposit-rates-chart";
13+
import AdUnit from "@/components/ad-unit";
14+
import { META_OPEN_GRAPH, META_TWITTER } from "@/app/shared-metadata";
15+
import {
16+
DepositRateBank,
17+
Routes,
18+
TelegramChannel,
19+
TopicTitle,
20+
} from "@/lib/enums";
21+
22+
const title = "Hong Leong Finance Fixed Deposit Rates";
23+
const description =
24+
"Analyse Hong Leong Finance fixed deposit rate trends in Singapore for the past 6 months, 1 year and 2 years.";
25+
const url = Routes.FixedDepositRatesHongLeongFinance;
26+
27+
export const metadata: Metadata = {
28+
title,
29+
description,
30+
alternates: {
31+
canonical: url,
32+
},
33+
openGraph: {
34+
...META_OPEN_GRAPH,
35+
title,
36+
description,
37+
url,
38+
},
39+
twitter: {
40+
...META_TWITTER,
41+
title,
42+
description,
43+
},
44+
};
45+
46+
export default function HongLeongFinanceFixedDepositRates() {
47+
return (
48+
<Container>
49+
<div className="space-y-2">
50+
<Heading>{title}</Heading>
51+
<Subheading>{description}</Subheading>
52+
</div>
53+
<DepositRatesChart bank={DepositRateBank.HONG_LEONG_FINANCE} />
54+
<Paragraph>
55+
The chart above shows recent Hong Leong Finance fixed deposit rate trend movement.
56+
You can use this to decide when to{" "}
57+
<DepositRateAnchor bank={DepositRateBank.HONG_LEONG_FINANCE} linkText="lock in" />{" "}
58+
your Hong Leong Finance fixed deposit for better returns.
59+
</Paragraph>
60+
<AdUnit />
61+
<Paragraph>
62+
<span className="font-medium">SG Alerts</span> is a free notification
63+
service that monitors fixed deposit rates from major banks in Singapore,
64+
including Hong Leong Finance, and sends Telegram notifications when rates go up.
65+
</Paragraph>
66+
<Paragraph>
67+
To get started, click the button below to join the Telegram channel and
68+
receive updates.
69+
</Paragraph>
70+
<div className="sticky bottom-6 z-50 mt-8 text-center">
71+
<TelegramLinkButton
72+
channel={TelegramChannel.FixedDepositRates}
73+
linkText="Subscribe Now"
74+
className="shadow-md"
75+
topicTitle={TopicTitle.FixedDepositRates}
76+
/>
77+
</div>
78+
<div className="mt-4 text-center">
79+
<Button variant="secondary" asChild>
80+
<Link href={Routes.FixedDepositRates}>
81+
<ArrowLeftIcon className="mr-2 h-4 w-4" />
82+
Go Back
83+
</Link>
84+
</Button>
85+
</div>
86+
</Container>
87+
);
88+
}

0 commit comments

Comments
 (0)