26 |
27 | Input
28 |
48 |
49 |
50 | Output
51 |
57 | {translatedText}
58 |
59 |
60 |
61 | );
62 | };
63 |
64 | export default TranslationFields;
65 |
--------------------------------------------------------------------------------
/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import { GeistSans } from "geist/font/sans";
3 | import { GeistMono } from "geist/font/mono";
4 | import "./globals.css";
5 | import { Viewport } from "next";
6 |
7 | const APP_NAME = "TranslateMY";
8 | const APP_DEFAULT_TITLE = "TranslateMY";
9 | const APP_TITLE_TEMPLATE = "%s - PWA App";
10 | const APP_DESCRIPTION =
11 | "A translation app for Bahasa Melayu to English with support for Manglish and bahasa pasar.";
12 |
13 | export const viewport: Viewport = {
14 | themeColor: "#FFFFFF",
15 | };
16 |
17 | export const metadata: Metadata = {
18 | applicationName: APP_NAME,
19 | title: {
20 | default: APP_DEFAULT_TITLE,
21 | template: APP_TITLE_TEMPLATE,
22 | },
23 | description: APP_DESCRIPTION,
24 | appleWebApp: {
25 | capable: true,
26 | statusBarStyle: "default",
27 | title: APP_DEFAULT_TITLE,
28 | // startUpImage: [],
29 | },
30 | formatDetection: {
31 | telephone: false,
32 | },
33 | openGraph: {
34 | type: "website",
35 | siteName: APP_NAME,
36 | title: {
37 | default: APP_DEFAULT_TITLE,
38 | template: APP_TITLE_TEMPLATE,
39 | },
40 | description: APP_DESCRIPTION,
41 | },
42 | twitter: {
43 | card: "summary",
44 | title: {
45 | default: APP_DEFAULT_TITLE,
46 | template: APP_TITLE_TEMPLATE,
47 | },
48 | description: APP_DESCRIPTION,
49 | },
50 | };
51 |
52 | export default function RootLayout({
53 | children,
54 | }: {
55 | children: React.ReactNode;
56 | }) {
57 | return (
58 |
59 |
62 |