移除神必谷歌字体

This commit is contained in:
Mikuisnotavailable
2026-01-19 20:08:54 +08:00
parent 6b7a057cb4
commit d830b73770
3 changed files with 54 additions and 48 deletions

View File

@@ -1,4 +1,3 @@
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import "tailwindcss"; @import "tailwindcss";
/* @tailwind base; /* @tailwind base;
@tailwind components; @tailwind components;
@@ -7,7 +6,8 @@
:root { :root {
--background: #ffffff; --background: #ffffff;
--foreground: #171717; --foreground: #171717;
--navbar-height: 64px; /* 与pt-16对应 */ --navbar-height: 64px;
/* 与pt-16对应 */
--primary-orange: #f97316; --primary-orange: #f97316;
--primary-orange-dark: #ea580c; --primary-orange-dark: #ea580c;
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
@@ -25,7 +25,7 @@
body { body {
color: var(--foreground); color: var(--foreground);
background: var(--background); background: var(--background);
font-family: 'Inter', Arial, Helvetica, sans-serif; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
scroll-behavior: smooth; scroll-behavior: smooth;
} }
@@ -132,7 +132,7 @@ body {
background-color: #1f2937; background-color: #1f2937;
border-color: #c2410c; border-color: #c2410c;
} }
.card-minecraft:hover { .card-minecraft:hover {
border-color: var(--primary-orange); border-color: var(--primary-orange);
} }
@@ -159,96 +159,97 @@ body {
/* 现代布局解决方案 */ /* 现代布局解决方案 */
@layer utilities { @layer utilities {
/* 全屏减去navbar高度 */ /* 全屏减去navbar高度 */
.h-screen-nav { .h-screen-nav {
height: calc(100vh - var(--navbar-height)); height: calc(100vh - var(--navbar-height));
} }
/* 侧栏最大高度,确保底部按钮可见 */ /* 侧栏最大高度,确保底部按钮可见 */
.sidebar-max-height { .sidebar-max-height {
max-height: calc(100vh - var(--navbar-height) - 120px); max-height: calc(100vh - var(--navbar-height) - 120px);
} }
/* 首页hero section专用高度 */ /* 首页hero section专用高度 */
.min-h-screen-nav { .min-h-screen-nav {
min-height: calc(100vh - var(--navbar-height)); min-height: calc(100vh - var(--navbar-height));
} }
/* 增强的过渡效果 */ /* 增强的过渡效果 */
.transition-all-enhanced { .transition-all-enhanced {
transition: all var(--transition-normal); transition: all var(--transition-normal);
} }
.transition-colors-enhanced { .transition-colors-enhanced {
transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal); transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);
} }
.transition-transform-enhanced { .transition-transform-enhanced {
transition: transform var(--transition-normal); transition: transform var(--transition-normal);
} }
/* 微交互效果 */ /* 微交互效果 */
.micro-interaction { .micro-interaction {
transition: all var(--transition-fast); transition: all var(--transition-fast);
} }
.micro-interaction:hover { .micro-interaction:hover {
transform: scale(1.02); transform: scale(1.02);
} }
.micro-interaction:active { .micro-interaction:active {
transform: scale(0.98); transform: scale(0.98);
} }
/* 加载动画 */ /* 加载动画 */
.animate-pulse-slow { .animate-pulse-slow {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
} }
.animate-pulse-fast { .animate-pulse-fast {
animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite; animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
} }
/* 弹跳动画 */ /* 弹跳动画 */
.animate-bounce-slow { .animate-bounce-slow {
animation: bounce 2s infinite; animation: bounce 2s infinite;
} }
.animate-bounce-fast { .animate-bounce-fast {
animation: bounce 1s infinite; animation: bounce 1s infinite;
} }
/* 旋转动画 */ /* 旋转动画 */
.animate-spin-slow { .animate-spin-slow {
animation: spin 3s linear infinite; animation: spin 3s linear infinite;
} }
.animate-spin-fast { .animate-spin-fast {
animation: spin 1s linear infinite; animation: spin 1s linear infinite;
} }
/* 渐变动画 */ /* 渐变动画 */
.animate-gradient { .animate-gradient {
background-size: 200% 200%; background-size: 200% 200%;
animation: gradient 3s ease infinite; animation: gradient 3s ease infinite;
} }
/* 阴影动画 */ /* 阴影动画 */
.shadow-animated { .shadow-animated {
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
transition: box-shadow var(--transition-normal); transition: box-shadow var(--transition-normal);
} }
.shadow-animated:hover { .shadow-animated:hover {
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
} }
/* 模糊动画 */ /* 模糊动画 */
.backdrop-blur-animated { .backdrop-blur-animated {
backdrop-filter: blur(8px); backdrop-filter: blur(8px);
transition: backdrop-filter var(--transition-normal); transition: backdrop-filter var(--transition-normal);
} }
.backdrop-blur-animated:hover { .backdrop-blur-animated:hover {
backdrop-filter: blur(16px); backdrop-filter: blur(16px);
} }
@@ -259,18 +260,23 @@ body {
0% { 0% {
background-position: 0% 50%; background-position: 0% 50%;
} }
50% { 50% {
background-position: 100% 50%; background-position: 100% 50%;
} }
100% { 100% {
background-position: 0% 50%; background-position: 0% 50%;
} }
} }
@keyframes float { @keyframes float {
0%, 100% {
0%,
100% {
transform: translateY(0px); transform: translateY(0px);
} }
50% { 50% {
transform: translateY(-10px); transform: translateY(-10px);
} }
@@ -280,6 +286,7 @@ body {
0% { 0% {
background-position: -200% 0; background-position: -200% 0;
} }
100% { 100% {
background-position: 200% 0; background-position: 200% 0;
} }
@@ -290,6 +297,7 @@ body {
transform: translateY(30px); transform: translateY(30px);
opacity: 0; opacity: 0;
} }
to { to {
transform: translateY(0); transform: translateY(0);
opacity: 1; opacity: 1;
@@ -301,6 +309,7 @@ body {
transform: translateY(-30px); transform: translateY(-30px);
opacity: 0; opacity: 0;
} }
to { to {
transform: translateY(0); transform: translateY(0);
opacity: 1; opacity: 1;
@@ -312,6 +321,7 @@ body {
transform: translateX(-30px); transform: translateX(-30px);
opacity: 0; opacity: 0;
} }
to { to {
transform: translateX(0); transform: translateX(0);
opacity: 1; opacity: 1;
@@ -323,6 +333,7 @@ body {
transform: translateX(30px); transform: translateX(30px);
opacity: 0; opacity: 0;
} }
to { to {
transform: translateX(0); transform: translateX(0);
opacity: 1; opacity: 1;
@@ -334,6 +345,7 @@ body {
transform: scale(0.9); transform: scale(0.9);
opacity: 0; opacity: 0;
} }
to { to {
transform: scale(1); transform: scale(1);
opacity: 1; opacity: 1;
@@ -345,6 +357,7 @@ body {
transform: scale(1); transform: scale(1);
opacity: 1; opacity: 1;
} }
to { to {
transform: scale(0.9); transform: scale(0.9);
opacity: 0; opacity: 0;
@@ -378,23 +391,19 @@ body {
/* 加载状态样式 */ /* 加载状态样式 */
.loading-shimmer { .loading-shimmer {
background: linear-gradient( background: linear-gradient(90deg,
90deg, #f0f0f0 0%,
#f0f0f0 0%, #e0e0e0 50%,
#e0e0e0 50%, #f0f0f0 100%);
#f0f0f0 100%
);
background-size: 200% 100%; background-size: 200% 100%;
animation: shimmer 1.5s infinite; animation: shimmer 1.5s infinite;
} }
.dark .loading-shimmer { .dark .loading-shimmer {
background: linear-gradient( background: linear-gradient(90deg,
90deg, #374151 0%,
#374151 0%, #4b5563 50%,
#4b5563 50%, #374151 100%);
#374151 100%
);
background-size: 200% 100%; background-size: 200% 100%;
animation: shimmer 1.5s infinite; animation: shimmer 1.5s infinite;
} }
@@ -426,7 +435,10 @@ body {
/* 响应式动效 */ /* 响应式动效 */
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
*,
*::before,
*::after {
animation-duration: 0.01ms !important; animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important; animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important; transition-duration: 0.01ms !important;
@@ -435,15 +447,16 @@ body {
/* 触摸设备优化 */ /* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) { @media (hover: none) and (pointer: coarse) {
.btn-carrot:hover, .btn-carrot:hover,
.btn-carrot-outline:hover, .btn-carrot-outline:hover,
.card-minecraft:hover { .card-minecraft:hover {
transform: none; transform: none;
} }
.btn-carrot:active, .btn-carrot:active,
.btn-carrot-outline:active, .btn-carrot-outline:active,
.card-minecraft:active { .card-minecraft:active {
transform: scale(0.98); transform: scale(0.98);
} }
} }

View File

@@ -1,5 +1,4 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css"; import "./globals.css";
import Navbar from "@/components/Navbar"; import Navbar from "@/components/Navbar";
import { AuthProvider } from "@/contexts/AuthContext"; import { AuthProvider } from "@/contexts/AuthContext";
@@ -9,12 +8,6 @@ import { ErrorNotificationContainer } from "@/components/ErrorNotification";
import ScrollToTop from "@/components/ScrollToTop"; import ScrollToTop from "@/components/ScrollToTop";
import PageTransition from "@/components/PageTransition"; import PageTransition from "@/components/PageTransition";
const inter = Inter({
subsets: ["latin"],
weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'],
display: 'swap',
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "CarrotSkin - 现代化Minecraft Yggdrasil皮肤站", title: "CarrotSkin - 现代化Minecraft Yggdrasil皮肤站",
description: "新一代Minecraft Yggdrasil皮肤站为创作者打造的现代化皮肤管理平台", description: "新一代Minecraft Yggdrasil皮肤站为创作者打造的现代化皮肤管理平台",
@@ -34,7 +27,7 @@ export default function RootLayout({
}>) { }>) {
return ( return (
<html lang="zh-CN"> <html lang="zh-CN">
<body className={inter.className}> <body>
<AuthProvider> <AuthProvider>
<Navbar /> <Navbar />
<PageTransition> <PageTransition>

View File

@@ -32,7 +32,7 @@ const config: Config = {
}, },
fontFamily: { fontFamily: {
'minecraft': ['Minecraft', 'monospace'], 'minecraft': ['Minecraft', 'monospace'],
'sans': ['Inter', 'system-ui', 'sans-serif'], 'sans': ['-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif'],
}, },
animation: { animation: {
'float': 'float 3s ease-in-out infinite', 'float': 'float 3s ease-in-out infinite',