-
- src}
- layout="fill"
- objectFit="contain"
- unoptimized
- className="rounded-full"
- />
-
+
+
+ src}
+ layout="fill"
+ objectFit="contain"
+ unoptimized
+ className="rounded-full"
+ />
+
+
@@ -145,79 +154,86 @@ const HeaderView = ({ props: [EffThis] }) => {
- {config.Name}
- {
- set_clicks(clicks + 1);
- }}
- />
+
+ {config.Name}
+ {
+ set_clicks(clicks + 1);
+ }}
+ />
+
-
-
- 已收录的歌曲 首
-
-
+
+ ) : null}
+
+
+
diff --git a/components/ui/blur-fade.jsx b/components/ui/blur-fade.jsx
new file mode 100644
index 0000000..d90d9b3
--- /dev/null
+++ b/components/ui/blur-fade.jsx
@@ -0,0 +1,42 @@
+"use client";;
+import { useRef } from "react";
+import { AnimatePresence, motion, useInView } from "framer-motion";
+
+export default function BlurFade({
+ children,
+ className,
+ variant,
+ duration = 0.4,
+ delay = 0,
+ yOffset = 6,
+ inView = false,
+ inViewMargin = "-50px",
+ blur = "6px"
+}) {
+ const ref = useRef(null);
+ const inViewResult = useInView(ref, { once: true, margin: inViewMargin });
+ const isInView = !inView || inViewResult;
+ const defaultVariants = {
+ hidden: { y: yOffset, opacity: 0, filter: `blur(${blur})` },
+ visible: { y: -yOffset, opacity: 1, filter: `blur(0px)` },
+ };
+ const combinedVariants = variant || defaultVariants;
+ return (
+ (
+
+ {children}
+
+ )
+ );
+}