tiefen_space_h5/app/layout.js

249 lines
8.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use client";
import { Inter } from "next/font/google";
import React, { useEffect } from "react";
import { usePathname } from "next/navigation";
import "./globals.css";
import BottomNav from "../components/BottomNav";
import { Provider } from "react-redux";
import store from "../store";
import withAuth from "@/components/WithAuth";
const inter = Inter({ subsets: ["latin"] });
const metadata = {
title: "铁粉空间",
description: "与Ta永不失联",
keywords: [
"铁粉空间",
"铁粉空间APP",
"社交",
"网红",
"粉丝",
"创作者",
"变现",
"平台",
"铁粉",
"空间",
],
};
// export const viewport = {
// width: "device-width",
// initialScale: 1,
// maximumScale: 1,
// userScalable: 0,
// };
export default function RootLayout({ children }) {
const pathname = usePathname();
useEffect(() => {
// 禁止双指放大
window.onload = function () {
document.addEventListener("touchstart", function (event) {
if (event.touches.length > 1) {
event.preventDefault();
}
});
var lastTouchEnd = 0;
document.addEventListener(
"touchend",
function (event) {
var now = new Date().getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
},
false
);
document.addEventListener("gesturestart", function (event) {
event.preventDefault();
});
};
}, []);
useEffect(() => {
const timer = setTimeout(() => {
window.scrollTo({
top: 0,
left: 0,
behavior: "smooth", // 可选,平滑滚动效果
});
clearTimeout(timer);
}, 100);
}, [pathname]);
return (
<html
lang="zh-CN"
className="bg-deepBg h-full"
data-prefers-color-scheme="dark"
>
<head>
<title>{metadata.title}</title>
<link rel="icon" href="/favicon.ico" type="image/x-icon"></link>
<link
rel="shortcut icon"
href="/favicon.ico"
type="image/x-icon"
></link>
<link rel="icon" href="/favicon.png" type="image/png"></link>
{/* <meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/> */}
<meta
name="description"
content={metadata.description}
keywords={metadata.keywords}
/>
<meta charSet="UTF-8" />
{/* <!-- 自定义应用图标可用 --> */}
<link
rel="apple-touch-icon-precomposed"
sizes="120x120"
href="favicon.ico"
/>
{/* <!-- 全屏设置 --> */}
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui,viewport-fit=cover"
/>
<meta name="apple-touch-fullscreen" content="yes" />
{/* <!-- 网站开启对 web app 程序的支持 具体表现为去除浏览器地址栏和底部导航栏 :先保存为桌面书签,然后通过书签打开即可生效--> */}
<meta name="apple-mobile-web-app-capable" content="yes" />
{/* <!-- 用来定义顶部状态栏的形式默认是default为白色 black为黑色 black-translucent为灰色半透明会占据屏幕的约20px不同的设备可能会有差异--> */}
{/* <!-- 在定义了apple-mobile-web-app-capable的前提下设置状态栏的属性值apple-mobile-web-app-status-bar-style才有效 --> */}
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
{/* <!-- apple-touch-startup-image用来配置启动动画 --> */}
{/* <!-- 这里要注意,这里图片的尺寸要和设备的静态图片显示尺寸完全对应,差一个像素都会导致启动动画无法显示 --> */}
{/* <!-- 下面列举了iPhone的所有尺寸ps:为了方便大家就全部贴出来了!!) --> */}
{/* <!-- iPhone 678 startup image @2x--> */}
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/750_1334.png"
}
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image"
/>
{/* <!-- iPhone 678p startup image @3x--> */}
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1242_2208.png"
}
media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
{/* <!-- iPhone X Xs startup image @3x--> */}
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1125_2436.png"
}
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
{/* <!-- iPhone XR startup image @2X --> */}
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/828_1792.png"
}
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image"
/>
{/* <!-- iPhone XR Max startup image @3x--> */}
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/640_960.png"
}
media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/640_1136.png"
}
media="(device-width: 320px) and (device-height: 568) and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1080_1920.png"
}
media="(device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1080_2340.png"
}
media="(device-width: 360px) and (device-height: 780px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1170_2532.png"
}
media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1179_2556.png"
}
media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1242_2688.png"
}
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1284_2778.png"
}
media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
<link
href={
process.env.NEXT_PUBLIC_WEB_ASSETS_URL +
"/images/launchPage/1290_2796.png"
}
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3)"
rel="apple-touch-startup-image"
/>
</head>
<body className={`${inter.className} h-full`}>
<main className={`w-full bg-deepBg h-full`}>
<div id="maskDomBox"></div>
{withAuth(
<Provider store={store}>
<div>
{children}
{/* <ImagesMask ref={imagesMaskRef} /> */}
</div>
</Provider>
)}
{/* <Provider store={store}>{children}</Provider> */}
</main>
<footer className="fixed bottom-0 w-screen bg-black">
<div>
<BottomNav />
</div>
</footer>
</body>
</html>
);
}