Merge version_1 into main #4

Merged
bender merged 1 commits from version_1 into main 2026-03-03 19:35:11 +00:00

View File

@@ -1,56 +1,17 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
import "./styles/globals.css";
export const metadata: Metadata = {
title: "Professional App Mockups in Minutes | Mockcraft", description: "Create stunning app mockups, animated promos & marketing assets in minutes. No design skills needed. Free for indie developers & startups.", keywords: "app mockups, marketing assets, promo videos, screenshot templates, app store mockups, indie developer tools", metadataBase: new URL("https://mockcraft.io"),
alternates: {
canonical: "https://mockcraft.io"
},
openGraph: {
title: "Professional App Mockups in Minutes", description: "Create stunning app mockups and animated promos without design skills. Perfect for indie developers and startups.", url: "https://mockcraft.io", siteName: "Mockcraft", type: "website", images: [
{
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ARpCLBCs1yGU9NZOZPDDKb4yJC/a-sleek-saas-dashboard-showing-professio-1772565176537-ffdfe08b.png", alt: "Mockcraft - Professional App Mockups Platform"
}
]
},
twitter: {
card: "summary_large_image", title: "Professional App Mockups in Minutes | Mockcraft", description: "Create stunning app mockups and animated promos without design skills.", images: [
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ARpCLBCs1yGU9NZOZPDDKb4yJC/a-sleek-saas-dashboard-showing-professio-1772565176537-ffdfe08b.png"
]
},
robots: {
index: true,
follow: true
}
};
title: "Mockcraft - Professional App Mockups in Minutes", description: "Upload your screenshots, customize stunning mockups and animated promos—no design skills required. Launch your app marketing today."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1418,7 +1379,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}