@funhub/platform 0.2.3-beta.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/assets/icons/channel-list/channel-active-indicator.mjs +2 -0
  2. package/dist/assets/icons/common/header-menu.mjs +2 -0
  3. package/dist/assets/icons/common/header-search-icon.mjs +2 -0
  4. package/dist/assets/icons/common/right_arrow_thin.mjs +2 -0
  5. package/dist/assets/icons/eye-off-icon.mjs +1 -1
  6. package/dist/assets/icons/marquee-close.mjs +2 -0
  7. package/dist/assets/icons/marquee-speaker.mjs +2 -0
  8. package/dist/assets/images/shortcut-grid/shortcut-grid-card-bg-primary.mjs +2 -0
  9. package/dist/biz.d.mts +11 -4
  10. package/dist/biz.mjs +1 -1
  11. package/dist/common.d.mts +5 -2
  12. package/dist/common.mjs +1 -1
  13. package/dist/components/biz/basics/fullscreen-feed/runtime/user-action.mjs +1 -1
  14. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -1
  15. package/dist/components/biz/business/advertisement/ad-match.mjs +1 -1
  16. package/dist/components/biz/business/advertisement/banner-ad/client.mjs +1 -1
  17. package/dist/components/biz/business/advertisement/banner-ad/material.d.mts +2 -2
  18. package/dist/components/biz/business/advertisement/banner-ad/material.mjs +1 -1
  19. package/dist/components/biz/business/advertisement/banner-ad/schema.d.mts +9 -4
  20. package/dist/components/biz/business/advertisement/banner-ad/schema.mjs +1 -1
  21. package/dist/components/biz/business/advertisement/feed-ad/index.d.mts +1 -31
  22. package/dist/components/biz/business/advertisement/feed-ad/index.mjs +1 -1
  23. package/dist/components/biz/business/advertisement/floating-ad/client.mjs +1 -1
  24. package/dist/components/biz/business/advertisement/floating-ad/material.mjs +1 -1
  25. package/dist/components/biz/business/advertisement/icon-ad/client.mjs +1 -1
  26. package/dist/components/biz/business/advertisement/icon-ad/material.d.mts +1 -1
  27. package/dist/components/biz/business/advertisement/icon-ad/material.mjs +1 -1
  28. package/dist/components/biz/business/advertisement/icon-ad/schema.d.mts +7 -1
  29. package/dist/components/biz/business/advertisement/icon-ad/schema.mjs +1 -1
  30. package/dist/components/biz/business/advertisement/index.d.mts +2 -2
  31. package/dist/components/biz/business/advertisement/popup-ad/client.mjs +2 -2
  32. package/dist/components/biz/business/advertisement/popup-ad/index.d.mts +1 -1
  33. package/dist/components/biz/business/advertisement/popup-ad/material.d.mts +2 -2
  34. package/dist/components/biz/business/advertisement/popup-ad/schema.d.mts +14 -15
  35. package/dist/components/biz/business/advertisement/popup-ad/schema.mjs +1 -1
  36. package/dist/components/biz/business/advertisement/text-ad/client.mjs +1 -1
  37. package/dist/components/biz/business/advertisement/text-ad/material.d.mts +1 -1
  38. package/dist/components/biz/business/advertisement/text-ad/material.mjs +1 -1
  39. package/dist/components/biz/business/advertisement/text-ad/schema.d.mts +5 -1
  40. package/dist/components/biz/business/advertisement/text-ad/schema.mjs +1 -1
  41. package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.mjs +1 -1
  42. package/dist/components/biz/business/banner-carousel/client.d.mts +2 -1
  43. package/dist/components/biz/business/banner-carousel/client.mjs +1 -1
  44. package/dist/components/biz/business/banner-carousel/default-props.mjs +1 -1
  45. package/dist/components/biz/business/channel-list/client.mjs +1 -1
  46. package/dist/components/biz/business/channel-list/default-props.mjs +1 -1
  47. package/dist/components/biz/business/detail/shared/detail-operate.mjs +1 -1
  48. package/dist/components/biz/business/detail/shared/editor-preview.mjs +1 -1
  49. package/dist/components/biz/business/detail/shared/registry.d.mts +36 -1
  50. package/dist/components/biz/business/detail/shared/registry.mjs +1 -1
  51. package/dist/components/biz/business/detail/video-detail-actions/client.mjs +1 -1
  52. package/dist/components/biz/business/detail/video-detail-info/client.mjs +1 -1
  53. package/dist/components/biz/business/detail/video-detail-recommend/client.d.mts +1 -13
  54. package/dist/components/biz/business/detail/video-detail-recommend/client.mjs +1 -1
  55. package/dist/components/biz/business/detail/video-detail-recommend/material.mjs +1 -1
  56. package/dist/components/biz/business/detail/video-detail-recommend/shared.mjs +2 -0
  57. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/client.d.mts +8 -0
  58. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/client.mjs +2 -0
  59. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/index.d.mts +5 -0
  60. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/material.d.mts +45 -0
  61. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/material.mjs +2 -0
  62. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/schema.d.mts +9 -0
  63. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/schema.mjs +2 -0
  64. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/server.d.mts +11 -0
  65. package/dist/components/biz/business/detail/video-detail-waterfall-recommend/server.mjs +2 -0
  66. package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +1 -1
  67. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.d.mts +1 -1
  68. package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +1 -1
  69. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +4 -3
  70. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +1 -1
  71. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +1 -1
  72. package/dist/components/biz/business/header-search/header-logo-search/client.mjs +1 -1
  73. package/dist/components/biz/business/header-search/header-search/client.mjs +1 -1
  74. package/dist/components/biz/business/header-search/shared/avatar.mjs +1 -1
  75. package/dist/components/biz/business/header-search/shared/header-action.mjs +2 -0
  76. package/dist/components/biz/business/header-search/shared/header-search-icon.mjs +2 -0
  77. package/dist/components/biz/business/header-search/shared/header-shell.mjs +2 -0
  78. package/dist/components/biz/business/header-search/shared/logo.mjs +1 -1
  79. package/dist/components/biz/business/header-search/shared/search.mjs +1 -1
  80. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.d.mts +0 -8
  81. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs +1 -1
  82. package/dist/components/biz/business/home-recommend/home-recommend-grid/material.d.mts +0 -8
  83. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.d.mts +0 -8
  84. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs +1 -1
  85. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.d.mts +0 -8
  86. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
  87. package/dist/components/biz/business/home-recommend/shared/home-recommend-preview.mjs +1 -1
  88. package/dist/components/biz/business/hot-recommend/client.d.mts +17 -0
  89. package/dist/components/biz/business/hot-recommend/client.mjs +2 -0
  90. package/dist/components/biz/business/hot-recommend/index.d.mts +5 -0
  91. package/dist/components/biz/business/hot-recommend/material.d.mts +24 -0
  92. package/dist/components/biz/business/hot-recommend/material.mjs +2 -0
  93. package/dist/components/biz/business/hot-recommend/schema.d.mts +23 -0
  94. package/dist/components/biz/business/hot-recommend/schema.mjs +2 -0
  95. package/dist/components/biz/business/hot-recommend/server.d.mts +11 -0
  96. package/dist/components/biz/business/hot-recommend/server.mjs +2 -0
  97. package/dist/components/biz/business/index.d.mts +12 -3
  98. package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -1
  99. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -1
  100. package/dist/components/biz/business/large-feature-grid/schema.mjs +1 -1
  101. package/dist/components/biz/business/marquee/client.mjs +1 -1
  102. package/dist/components/biz/business/marquee/marquee.module.mjs +2 -6
  103. package/dist/components/biz/business/marquee/material.d.mts +1 -1
  104. package/dist/components/biz/business/marquee/schema.d.mts +1 -1
  105. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -1
  106. package/dist/components/biz/business/profile/index.d.mts +1 -1
  107. package/dist/components/biz/business/profile/profile-header/client.d.mts +2 -1
  108. package/dist/components/biz/business/profile/profile-header/client.mjs +1 -1
  109. package/dist/components/biz/business/profile/profile-header/index.d.mts +1 -1
  110. package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +1 -1
  111. package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +1 -1
  112. package/dist/components/biz/business/profile/profile-main/client.mjs +1 -1
  113. package/dist/components/biz/business/profile/profile-main/empty-state.mjs +2 -0
  114. package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -1
  115. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -1
  116. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/video-waterfall.mjs +2 -0
  117. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -1
  118. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.d.mts +5 -1
  119. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -1
  120. package/dist/components/biz/business/profile/profile-main/utils.mjs +1 -1
  121. package/dist/components/biz/business/ranking-recommend/client.d.mts +17 -0
  122. package/dist/components/biz/business/ranking-recommend/client.mjs +70 -0
  123. package/dist/components/biz/business/ranking-recommend/material.d.mts +35 -0
  124. package/dist/components/biz/business/ranking-recommend/material.mjs +2 -0
  125. package/dist/components/biz/business/ranking-recommend/schema.d.mts +35 -0
  126. package/dist/components/biz/business/ranking-recommend/schema.mjs +2 -0
  127. package/dist/components/biz/business/ranking-recommend/server.d.mts +11 -0
  128. package/dist/components/biz/business/ranking-recommend/server.mjs +2 -0
  129. package/dist/components/biz/business/ranking-recommend/shared/query.mjs +2 -0
  130. package/dist/components/biz/business/ranking-recommend/shared.d.mts +15 -0
  131. package/dist/components/biz/business/ranking-recommend/shared.mjs +2 -0
  132. package/dist/components/biz/business/search-history/client.mjs +1 -1
  133. package/dist/components/biz/business/search-history/schema.mjs +1 -1
  134. package/dist/components/biz/business/search-input/client.mjs +1 -1
  135. package/dist/components/biz/business/search-waterfall-recommend/client.d.mts +9 -0
  136. package/dist/components/biz/business/search-waterfall-recommend/client.mjs +2 -0
  137. package/dist/components/biz/business/search-waterfall-recommend/index.d.mts +4 -0
  138. package/dist/components/biz/business/search-waterfall-recommend/material.d.mts +40 -0
  139. package/dist/components/biz/business/search-waterfall-recommend/material.mjs +2 -0
  140. package/dist/components/biz/business/search-waterfall-recommend/server.d.mts +8 -0
  141. package/dist/components/biz/business/search-waterfall-recommend/server.mjs +2 -0
  142. package/dist/components/biz/business/shortcut-grid/client.mjs +1 -1
  143. package/dist/components/biz/business/tab-bar/client.mjs +1 -1
  144. package/dist/components/common/collection-popup/create-collection-sheet.d.mts +41 -0
  145. package/dist/components/common/collection-popup/create-collection-sheet.mjs +2 -0
  146. package/dist/components/common/collection-popup/index.d.mts +1 -0
  147. package/dist/components/common/collection-popup/index.mjs +1 -1
  148. package/dist/components/common/icons/setting.mjs +1 -1
  149. package/dist/components/common/list/collection-list/collection-list-item.d.mts +8 -0
  150. package/dist/components/common/list/collection-list/collection-list-item.mjs +1 -1
  151. package/dist/components/common/list/collection-list/collection-list.d.mts +6 -0
  152. package/dist/components/common/list/collection-list/collection-list.mjs +1 -1
  153. package/dist/components/common/list/collection-list/collection-select-icon.mjs +2 -0
  154. package/dist/components/common/list/waterfall-recommend/index.d.mts +2 -0
  155. package/dist/components/common/list/waterfall-recommend/waterfall-recommend.d.mts +99 -0
  156. package/dist/components/common/list/waterfall-recommend/waterfall-recommend.mjs +2 -0
  157. package/dist/components/common/series-episodes/index.d.mts +3 -1
  158. package/dist/components/common/series-episodes/index.mjs +1 -1
  159. package/dist/components/common/tab-bar/index.mjs +1 -1
  160. package/dist/components/pages/collection-detail/_components/collection-detail-video-card.mjs +2 -0
  161. package/dist/components/pages/collection-detail/detail.mjs +1 -1
  162. package/dist/components/pages/edit/page.mjs +1 -1
  163. package/dist/components/pages/home/client.mjs +1 -1
  164. package/dist/components/pages/login/auth-page-styles.mjs +6 -0
  165. package/dist/components/pages/login/login-client.mjs +1 -1
  166. package/dist/components/pages/login/register.mjs +1 -1
  167. package/dist/components/pages/login/verify.mjs +1 -4
  168. package/dist/components/pages/publish/components/collection.mjs +1 -1
  169. package/dist/components/pages/search/page-client.mjs +1 -1
  170. package/dist/components/pages/search/search-result/index.mjs +1 -1
  171. package/dist/components/pages/search/search-result/search-all.mjs +1 -1
  172. package/dist/components/pages/search/search-result/search-user.mjs +1 -1
  173. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -1
  174. package/dist/components/pages/search/search-result/shared.mjs +2 -0
  175. package/dist/components/pages/search/top-header.mjs +1 -1
  176. package/dist/components/pages/search-result/page-client.mjs +1 -1
  177. package/dist/components/pages/search-result/search-all.mjs +1 -1
  178. package/dist/components/pages/search-result/search-empty.mjs +2 -0
  179. package/dist/components/pages/search-result/search-tab.mjs +1 -1
  180. package/dist/components/pages/search-result/search-user.mjs +1 -1
  181. package/dist/components/pages/search-result/search-video-info.mjs +2 -0
  182. package/dist/components/pages/search-result/shared.mjs +2 -0
  183. package/dist/components/pages/search-result/top-header.mjs +2 -0
  184. package/dist/components/pages/settings/_components/reset-password-drawer.mjs +2 -2
  185. package/dist/components/pages/settings/_components/settings.mjs +1 -1
  186. package/dist/components/pages/user-follow/_components/follow-no-login.mjs +1 -1
  187. package/dist/components/pages/video-list/video-list-client.mjs +1 -1
  188. package/dist/components/pages/video-list/video-list-recommend-item.mjs +2 -0
  189. package/dist/components/pages/video-list/video-list-skeleton.d.mts +2 -3
  190. package/dist/components/pages/video-list/video-list-skeleton.mjs +1 -1
  191. package/dist/components/ui/badge.d.mts +1 -1
  192. package/dist/components/ui/box.d.mts +1 -1
  193. package/dist/components/ui/button.d.mts +1 -1
  194. package/dist/i18n/locales/en.mjs +2 -2
  195. package/dist/i18n/locales/zh-CN.mjs +2 -2
  196. package/dist/materials.d.mts +6 -1
  197. package/dist/materials.mjs +1 -1
  198. package/dist/service/generated/client.d.mts +38 -2
  199. package/dist/service/generated/client.mjs +1 -1
  200. package/dist/service/generated/tanstack.d.mts +47 -2
  201. package/dist/service/generated/tanstack.mjs +1 -1
  202. package/dist/service.d.mts +3 -3
  203. package/dist/service.mjs +1 -1
  204. package/dist/theme-tokens.d.mts +9 -0
  205. package/dist/theme-tokens.mjs +2 -0
  206. package/dist/types.d.mts +662 -9
  207. package/dist/utils/helper.d.mts +1 -1
  208. package/dist/utils/helper.mjs +1 -1
  209. package/package.json +7 -2
  210. package/theme.css +170 -59
  211. package/dist/assets/icons/detail/collect_nor.mjs +0 -2
  212. package/dist/assets/icons/detail/collect_sel.mjs +0 -2
  213. package/dist/assets/icons/detail/share.mjs +0 -2
  214. package/dist/assets/icons/marquee-enter.mjs +0 -2
  215. package/dist/assets/icons/right_arrow.mjs +0 -2
  216. package/dist/assets/icons/search/avatar.mjs +0 -2
  217. package/dist/assets/images/marquee.mjs +0 -2
  218. package/dist/components/biz/business/detail/shared/detail-introduction.mjs +0 -2
  219. package/dist/components/common/collection-popup/collection-create-modal.mjs +0 -2
  220. package/dist/components/common/skeleton/search-video-card-skeleton.mjs +0 -2
  221. package/dist/components/pages/search/search-utils.mjs +0 -2
  222. package/dist/components/pages/search-result/search-result-skeleton.mjs +0 -2
  223. package/dist/components/pages/search-result/search-video.mjs +0 -2
  224. package/dist/components/pages/video-list/video-list-item.mjs +0 -2
@@ -1,7 +1,7 @@
1
1
 
2
2
  //#region utils/helper.d.ts
3
3
  /**
4
- * 将像素值转换为 vw(基于 430 宽设计稿)。
4
+ * 将像素值转换为 vw(基于 390 宽设计稿)。
5
5
  * @param px 像素值。
6
6
  * @returns 转换后的 vw 字符串。
7
7
  */
@@ -1,2 +1,2 @@
1
1
 
2
- function e(e){return`${(e/430*100).toFixed(3)}vw`}function t(e){if(e)return e.trim()||void 0}function n(){typeof document<`u`&&(document.body.style.overflow=`hidden`)}function r(){typeof document<`u`&&(document.body.style.overflow=``)}export{n as disablePageScroll,r as enablePageScroll,t as normalizeClassName,e as pxToVw};
2
+ function e(e){return`${(e/390*100).toFixed(3)}vw`}function t(e){if(e)return e.trim()||void 0}function n(){typeof document<`u`&&(document.body.style.overflow=`hidden`)}function r(){typeof document<`u`&&(document.body.style.overflow=``)}export{n as disablePageScroll,r as enablePageScroll,t as normalizeClassName,e as pxToVw};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@funhub/platform",
3
3
  "type": "module",
4
- "version": "0.2.3-beta.1",
4
+ "version": "0.2.3",
5
5
  "private": false,
6
6
  "sideEffects": [
7
7
  "**/*.css"
@@ -55,6 +55,10 @@
55
55
  "types": "./dist/i18n.d.mts",
56
56
  "import": "./dist/i18n.mjs"
57
57
  },
58
+ "./theme-tokens": {
59
+ "types": "./dist/theme-tokens.d.mts",
60
+ "import": "./dist/theme-tokens.mjs"
61
+ },
58
62
  "./config/tailwind": {
59
63
  "types": "./config/tailwind/index.d.ts",
60
64
  "import": "./config/tailwind/index.mjs",
@@ -132,7 +136,8 @@
132
136
  "scripts": {
133
137
  "dev:web": "next dev",
134
138
  "build:web": "next build",
135
- "prebuild": "pnpm i18n:build",
139
+ "gen:theme-tokens": "node scripts/generate-theme-tokens.mjs",
140
+ "prebuild": "pnpm gen:theme-tokens && pnpm i18n:build",
136
141
  "build": "cross-env TSDOWN_ENV=production tsdown",
137
142
  "predev": "pnpm i18n:build",
138
143
  "dev": "node scripts/dev-with-i18n-watch.mjs",
package/theme.css CHANGED
@@ -1,24 +1,135 @@
1
1
  :root {
2
2
  --tab-bar-height: 56px;
3
- /* 默认是白天模式的颜色 */
4
- --color-bg1: #ffffff;
5
- --color-bg2: #f9f9f9;
6
- --color-bg3: #f2f5fa;
7
- --color-bg4: rgba(253, 76, 94, 0.1);
8
- --color-text1: #333333;
9
- --color-text2: #666666;
10
- --color-text3: #999999;
11
- --color-text4: rgb(253, 76, 94);
12
- --color-line1: rgba(0, 0, 0, 0.05);
13
- --color-line2: rgba(253, 76, 94, 0.4);
14
- --color-theme1: #1fa7ff;
15
- --color-theme2: linear-gradient(135deg, #4fd8ff 0%, #07bfff 100%);
16
- --color-theme3: rgba(0, 173, 251, 0.2);
17
- --color-theme4: #00adfb;
18
- --color-theme5: rgb(253, 76, 94);
19
- --color-theme6: #cd3f4e;
20
- /** 叠层色:用于深色区域上的半透明浮层,亮色 #FFFFFF·10% */
21
- --color-overlay: rgba(255, 255, 255, 0.1);
3
+ --tab-bar-top-gap: 8px;
4
+ --tab-bar-safe-area-bottom: max(env(safe-area-inset-bottom, 0px), 8px);
5
+ --tab-bar-occupied-height: calc(var(--tab-bar-height) + var(--tab-bar-safe-area-bottom));
6
+ /* app-v1 全量语义变量(Figma 定稿节点聚合) */
7
+ --color-brand-primary: #c043e8;
8
+ --color-brand-accent-purple: #9012ff;
9
+ --color-brand-tag-gradient-start: #ca3fe9;
10
+ --color-brand-tag-gradient-end: #9756e3;
11
+ --color-brand-action-gradient-end: #6c43ee;
12
+ --color-brand-rating: #ffc039;
13
+ --color-brand-hot-ranking: #c922ef;
14
+ --color-brand-link: #9054e5;
15
+ --color-text-primary: #ffffff;
16
+ --color-text-secondary: rgba(255, 255, 255, 0.9);
17
+ --color-text-white80: rgba(255, 255, 255, 0.8);
18
+ --color-text-tertiary: rgba(255, 255, 255, 0.6);
19
+ --color-text-quaternary: rgba(255, 255, 255, 0.5);
20
+ --color-text-dimmed: rgba(255, 255, 255, 0.7);
21
+ --color-text-disabled: rgba(255, 255, 255, 0.3);
22
+ --color-text-inactive: #bfbfbf;
23
+ --color-text-muted: #747474;
24
+ --color-surface-tab-bg: #121212;
25
+ --color-surface-card-fallback: #282129;
26
+ --color-surface-chip-bg: #1b1b1b;
27
+ --color-surface-chip-gray20: rgba(217, 217, 217, 0.2);
28
+ --color-surface-white20: rgba(255, 255, 255, 0.2);
29
+ --color-surface-white10: rgba(255, 255, 255, 0.1);
30
+ --color-surface-mask-black40: rgba(0, 0, 0, 0.4);
31
+ --color-surface-mask-black60: rgba(0, 0, 0, 0.6);
32
+ --color-surface-panel-dark: #060315;
33
+ --color-surface-field-bg: rgba(173, 163, 191, 0.1);
34
+ --color-border-search-highlight: rgba(230, 42, 255, 0.9);
35
+ --color-border-panel-glow: rgba(219, 55, 255, 0.4);
36
+ --color-border-danger: #ff1eff;
37
+ --color-border-required: rgba(255, 0, 0, 0.7);
38
+ --color-neutral-black: #000000;
39
+ --color-neutral-white: #ffffff;
40
+ --color-overlay-mask-start: rgba(8, 2, 17, 0);
41
+ --color-overlay-mask-end70: rgba(8, 2, 17, 0.7);
42
+ --color-overlay-mask-end80: rgba(8, 2, 17, 0.8);
43
+ --color-overlay-top-bar-black30: rgba(0, 0, 0, 0.3);
44
+ --color-overlay-create-top-black50: rgba(0, 0, 0, 0.5);
45
+ --color-overlay-create-mid-purple27: rgba(116, 18, 131, 0.27);
46
+ --color-overlay-create-bottom-purple0: rgba(75, 24, 87, 0);
47
+ --color-overlay-panel-fade-start90: rgba(6, 3, 21, 0.9);
48
+ --color-overlay-panel-fade-end0: rgba(6, 3, 21, 0);
49
+ --gradient-brand-tag: linear-gradient(90deg, #ca3fe9 0%, #9756e3 100%);
50
+ --gradient-action-button: linear-gradient(90deg, #9756e3 0%, #6c43ee 100%);
51
+ --gradient-card-mask-strong: linear-gradient(180deg, rgba(8, 2, 17, 0) 28.624%, rgba(8, 2, 17, 0.8) 77.695%);
52
+ --gradient-card-mask-medium: linear-gradient(180deg, rgba(8, 2, 17, 0) 46.087%, rgba(8, 2, 17, 0.7) 83.152%);
53
+ --gradient-card-mask-light: linear-gradient(180deg, rgba(8, 2, 17, 0) 44.638%, rgba(8, 2, 17, 0.7) 82.699%);
54
+ --gradient-detail-hero-blur: linear-gradient(180deg, rgba(8, 2, 17, 0) 41.303%, rgba(8, 2, 17, 0.7) 61.091%);
55
+ --gradient-search-panel-fade: linear-gradient(180deg, rgba(6, 3, 21, 0.9) 19.905%, rgba(6, 3, 21, 0) 100%);
56
+ --gradient-search-hot-card: linear-gradient(180deg, rgba(151, 86, 227, 0.4) 21.144%, rgba(151, 86, 227, 0) 87.065%);
57
+ --gradient-create-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(116, 18, 131, 0.27) 28.215%, rgba(75, 24, 87, 0) 100%);
58
+ --font-family-sans: 'PingFang SC';
59
+ --font-family-numeric: 'DIN';
60
+ --font-family-numeric-black: 'DIN_Black';
61
+ --font-sans: var(--font-family-sans);
62
+ --font-mono: var(--font-family-numeric);
63
+ --font-size-xs: 10px;
64
+ --font-size-sm: 12px;
65
+ --font-size-md: 14px;
66
+ --font-size-status: 15px;
67
+ --font-size-base: 16px;
68
+ --font-size-lg: 18px;
69
+ --font-size-xl: 20px;
70
+ --line-height-xs: 14px;
71
+ --line-height-sm: 14px;
72
+ --line-height-tight: 16px;
73
+ --line-height-md: 20px;
74
+ --line-height-status: 22px;
75
+ --line-height-base: 24px;
76
+ --line-height-lg: 24px;
77
+ --font-weight-regular: 400;
78
+ --font-weight-medium: 500;
79
+ --font-weight-semibold: 600;
80
+ --font-weight-bold: 700;
81
+ --radius-sm: 4px;
82
+ --radius-md: 8px;
83
+ --radius-lg: 12px;
84
+ --radius-xl: 16px;
85
+ --radius-sheet: 24px;
86
+ --radius-pill: 100px;
87
+ --effect-backdrop-blur-card-mask: 2px;
88
+ --effect-backdrop-blur-card-mask-lite: 1.5px;
89
+ --effect-backdrop-blur-detail-hero: 4px;
90
+ --effect-backdrop-blur-modal-sheet: 50px;
91
+ --color-cover-text-primary: #ffffff;
92
+ --color-cover-text-secondary: #747474;
93
+ --color-cover-gray-11: #121212;
94
+ --color-cover-gray-6: #d9d9d9;
95
+ --color-cover-light-gray-6: #e0e0e0;
96
+ --color-cover-surface-dark: #1b1b1b;
97
+ --color-cover-gray11: var(--color-cover-gray-11);
98
+ --color-cover-gray6: var(--color-cover-gray-6);
99
+ --color-cover-light-gray6: var(--color-cover-light-gray-6);
100
+ --gradient-cover-overlay: linear-gradient(158.6385deg, #000000 14.614%, rgba(18, 18, 18, 0.1) 50.185%);
101
+ --gradient-cover-cover-overlay: var(--gradient-cover-overlay);
102
+ --font-family-cover-latin: 'Inter';
103
+ --font-family-cover-zh: 'PingFang SC';
104
+ --font-family-cover-numeric: 'Poppins';
105
+ --font-size-cover-16: 16px;
106
+ --font-size-cover-28: 28px;
107
+ --font-size-cover-36: 36px;
108
+ --font-size-cover-48: 48px;
109
+ --font-size-cover-64: 64px;
110
+ --font-size-cover-80: 80px;
111
+ --font-size-cover-110: 110px;
112
+ --font-size-cover-140: 140px;
113
+
114
+ /* 默认是白天模式的颜色(旧变量别名,兼容历史引用) */
115
+ --color-bg1: var(--color-surface-tab-bg);
116
+ --color-bg2: var(--color-surface-chip-bg);
117
+ --color-bg3: var(--color-surface-card-fallback);
118
+ --color-bg4: var(--color-surface-white20);
119
+ --color-text1: var(--color-text-primary);
120
+ --color-text2: var(--color-text-secondary);
121
+ --color-text3: var(--color-text-tertiary);
122
+ --color-text4: var(--color-brand-primary);
123
+ --color-line1: var(--color-surface-chip-gray20);
124
+ --color-line2: var(--color-border-panel-glow);
125
+ --color-theme1: var(--color-brand-accent-purple);
126
+ --color-theme2: var(--gradient-action-button);
127
+ --color-theme3: var(--color-surface-chip-gray20);
128
+ --color-theme4: var(--color-brand-link);
129
+ --color-theme5: var(--color-brand-primary);
130
+ --color-theme6: var(--color-brand-tag-gradient-start);
131
+ /** 叠层色:兼容旧变量,映射到新遮罩层级 */
132
+ --color-overlay: var(--color-overlay-mask-end70);
22
133
 
23
134
  /* shadcn/ui */
24
135
  --background: oklch(1 0 0);
@@ -27,8 +138,8 @@
27
138
  --card-foreground: oklch(0.145 0 0);
28
139
  --popover: oklch(1 0 0);
29
140
  --popover-foreground: oklch(0.145 0 0);
30
- --primary: rgb(253, 76, 94);
31
- --primary-foreground: oklch(0.97 0.01 343);
141
+ --primary: var(--color-brand-primary);
142
+ --primary-foreground: #ffffff;
32
143
  --secondary: oklch(0.967 0.001 286.375);
33
144
  --secondary-foreground: oklch(0.21 0.006 285.885);
34
145
  --muted: oklch(0.97 0 0);
@@ -38,43 +149,43 @@
38
149
  --destructive: oklch(0.58 0.22 27);
39
150
  --border: oklch(0.922 0 0);
40
151
  --input: oklch(0.922 0 0);
41
- --ring: oklch(0.708 0 0);
42
- --chart-1: oklch(0.82 0.11 346);
43
- --chart-2: oklch(0.73 0.18 350);
44
- --chart-3: rgb(253, 76, 94);
45
- --chart-4: rgb(253, 76, 94);
46
- --chart-5: oklch(0.52 0.2 4);
152
+ --ring: var(--color-brand-primary);
153
+ --chart-1: #c043e8;
154
+ --chart-2: #9012ff;
155
+ --chart-3: #ffc039;
156
+ --chart-4: #9756e3;
157
+ --chart-5: #6c43ee;
47
158
  --radius: 0.625rem;
48
159
  --sidebar: oklch(0.985 0 0);
49
160
  --sidebar-foreground: oklch(0.145 0 0);
50
- --sidebar-primary: rgb(253, 76, 94);
51
- --sidebar-primary-foreground: oklch(0.97 0.01 343);
161
+ --sidebar-primary: var(--color-brand-primary);
162
+ --sidebar-primary-foreground: #ffffff;
52
163
  --sidebar-accent: oklch(0.97 0 0);
53
164
  --sidebar-accent-foreground: oklch(0.205 0 0);
54
165
  --sidebar-border: oklch(0.922 0 0);
55
- --sidebar-ring: oklch(0.708 0 0);
166
+ --sidebar-ring: var(--color-brand-primary);
56
167
  }
57
168
 
58
169
  .dark {
59
170
  /* 黑夜模式的颜色 */
60
- --color-bg1: #171717;
61
- --color-bg2: #222222;
62
- --color-bg3: #fe5a5c;
63
- --color-bg4: rgba(253, 76, 94, 0.1);
64
- --color-text1: #d7d7d7;
65
- --color-text2: #a3a3a3;
66
- --color-text3: #717171;
67
- --color-text4: #f2f5fa;
68
- --color-line1: rgba(255, 255, 255, 0.05);
69
- --color-line2: rgba(253, 76, 94, 0.4);
70
- --color-theme1: #1fa7ff;
71
- --color-theme2: linear-gradient(135deg, #4fd8ff 0%, #07bfff 100%);
72
- --color-theme3: rgba(0, 173, 251, 0.2);
73
- --color-theme4: #00adfb;
74
- --color-theme5: rgb(253, 76, 94);
75
- --color-theme6: #cd3f4e;
76
- /** 叠层色:暗色 #000000·10% */
77
- --color-overlay: rgba(0, 0, 0, 0.1);
171
+ --color-bg1: var(--color-surface-tab-bg);
172
+ --color-bg2: var(--color-surface-chip-bg);
173
+ --color-bg3: var(--color-surface-card-fallback);
174
+ --color-bg4: var(--color-surface-white20);
175
+ --color-text1: var(--color-text-primary);
176
+ --color-text2: var(--color-text-secondary);
177
+ --color-text3: var(--color-text-tertiary);
178
+ --color-text4: var(--color-brand-primary);
179
+ --color-line1: var(--color-surface-chip-gray20);
180
+ --color-line2: var(--color-border-panel-glow);
181
+ --color-theme1: var(--color-brand-accent-purple);
182
+ --color-theme2: var(--gradient-action-button);
183
+ --color-theme3: var(--color-surface-chip-gray20);
184
+ --color-theme4: var(--color-brand-link);
185
+ --color-theme5: var(--color-brand-primary);
186
+ --color-theme6: var(--color-brand-tag-gradient-start);
187
+ /** 叠层色:兼容旧变量,映射到新遮罩层级 */
188
+ --color-overlay: var(--color-overlay-mask-end70);
78
189
 
79
190
  /* shadcn/ui */
80
191
  --background: oklch(0.145 0 0);
@@ -83,8 +194,8 @@
83
194
  --card-foreground: oklch(0.985 0 0);
84
195
  --popover: oklch(0.205 0 0);
85
196
  --popover-foreground: oklch(0.985 0 0);
86
- --primary: rgb(253, 76, 94);
87
- --primary-foreground: oklch(0.97 0.01 343);
197
+ --primary: var(--color-brand-primary);
198
+ --primary-foreground: #ffffff;
88
199
  --secondary: oklch(0.274 0.006 286.033);
89
200
  --secondary-foreground: oklch(0.985 0 0);
90
201
  --muted: oklch(0.269 0 0);
@@ -94,18 +205,18 @@
94
205
  --destructive: oklch(0.704 0.191 22.216);
95
206
  --border: oklch(1 0 0 / 10%);
96
207
  --input: oklch(1 0 0 / 15%);
97
- --ring: oklch(0.556 0 0);
98
- --chart-1: oklch(0.82 0.11 346);
99
- --chart-2: oklch(0.73 0.18 350);
100
- --chart-3: rgb(253, 76, 94);
101
- --chart-4: rgb(253, 76, 94);
102
- --chart-5: oklch(0.52 0.2 4);
208
+ --ring: var(--color-brand-primary);
209
+ --chart-1: #c043e8;
210
+ --chart-2: #9012ff;
211
+ --chart-3: #ffc039;
212
+ --chart-4: #9756e3;
213
+ --chart-5: #6c43ee;
103
214
  --sidebar: oklch(0.205 0 0);
104
215
  --sidebar-foreground: oklch(0.985 0 0);
105
- --sidebar-primary: oklch(0.73 0.18 350);
106
- --sidebar-primary-foreground: oklch(0.97 0.01 343);
216
+ --sidebar-primary: var(--color-brand-primary);
217
+ --sidebar-primary-foreground: #ffffff;
107
218
  --sidebar-accent: oklch(0.269 0 0);
108
219
  --sidebar-accent-foreground: oklch(0.985 0 0);
109
220
  --sidebar-border: oklch(1 0 0 / 10%);
110
- --sidebar-ring: oklch(0.556 0 0);
221
+ --sidebar-ring: var(--color-brand-primary);
111
222
  }
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`g`,{clipPath:`url(#clip0_528_6021)`},e.createElement(`path`,{d:`M11.9969 2.85869e-06C12.4121 -0.000967899 12.7924 0.245368 12.977 0.635041L16.0994 7.22761L23.0665 8.29233C23.4767 8.35509 23.818 8.65614 23.9465 9.0691C24.0749 9.48214 23.9679 9.93589 23.6716 10.2399L18.605 15.4373L19.8088 22.6605C19.8804 23.0905 19.7115 23.5259 19.3741 23.7821C19.0788 24.0063 18.6988 24.0595 18.3621 23.9317L18.2204 23.8658L11.999 20.3904L5.77972 23.8658C5.41164 24.0714 4.96367 24.0386 4.62598 23.7821C4.28835 23.5255 4.12027 23.0897 4.1924 22.6594L5.40366 15.4385L0.328522 10.241C0.0317724 9.93703 -0.0749205 9.48248 0.0536718 9.0691C0.182264 8.65576 0.524003 8.35473 0.934684 8.29233L7.93803 7.22761L11.02 0.639505L11.0967 0.499998C11.2973 0.190743 11.6335 0.000980944 11.9969 2.85869e-06ZM9.64466 8.77558C9.48616 9.11453 9.17773 9.34976 8.82118 9.40392L3.43177 10.222L7.34039 14.2253C7.56574 14.4561 7.68343 14.7761 7.66745 15.1014L7.65253 15.2409L6.72784 20.7442L11.4866 18.088L11.6091 18.0288C11.902 17.9113 12.2319 17.9313 12.5125 18.088L17.2744 20.7464L16.3572 15.2398C16.2954 14.8691 16.4117 14.4898 16.6683 14.2264L20.5716 10.2209L15.2194 9.40392C14.8654 9.34978 14.5594 9.11687 14.4002 8.78116L12.0054 3.72653L9.64466 8.77558Z`,fill:`currentColor`})),e.createElement(`defs`,null,e.createElement(`clipPath`,{id:`clip0_528_6021`},e.createElement(`rect`,{width:24,height:24,fill:`white`}))));export{t as default};
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`g`,{clipPath:`url(#clip0_528_6024)`},e.createElement(`path`,{d:`M11.9969 2.85869e-06C12.4121 -0.000967899 12.7924 0.245368 12.977 0.635041L16.0994 7.22761L23.0665 8.29233C23.4767 8.35509 23.818 8.65614 23.9465 9.06911C24.0749 9.48214 23.9679 9.93589 23.6716 10.2399L18.605 15.4373L19.8088 22.6605C19.8804 23.0905 19.7115 23.5259 19.3741 23.7821C19.0788 24.0063 18.6988 24.0595 18.3621 23.9317L18.2204 23.8658L11.999 20.3904L5.77972 23.8658C5.41164 24.0714 4.96367 24.0386 4.62598 23.7821C4.28835 23.5256 4.12027 23.0897 4.1924 22.6594L5.40366 15.4385L0.328522 10.241C0.0317724 9.93703 -0.0749205 9.48248 0.0536718 9.06911C0.182264 8.65576 0.524003 8.35473 0.934684 8.29233L7.93803 7.22761L11.02 0.639505L11.0967 0.499998C11.2973 0.190743 11.6335 0.000980944 11.9969 2.85869e-06Z`,fill:`#FFD320`})),e.createElement(`defs`,null,e.createElement(`clipPath`,{id:`clip0_528_6024`},e.createElement(`rect`,{width:24,height:24,fill:`white`}))));export{t as default};
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`path`,{d:`M6.2998 0C6.6864 0 7 0.313596 7 0.700195C6.99989 1.0867 6.68634 1.40039 6.2998 1.40039H4.90039C2.96739 1.40039 1.40039 2.96739 1.40039 4.90039V9.09961C1.40039 11.0326 2.96739 12.5996 4.90039 12.5996H9.09961C11.0326 12.5996 12.5996 11.0326 12.5996 9.09961V7.7002C12.5996 7.31366 12.9133 7.00011 13.2998 7C13.6864 7 14 7.3136 14 7.7002V9.09961C14 11.8058 11.8058 14 9.09961 14H4.90039C2.1942 14 6.76469e-08 11.8058 0 9.09961V4.90039C0 2.1942 2.1942 0 4.90039 0H6.2998ZM13.3721 0.00292969C13.7248 0.0389736 14 0.337905 14 0.700195V5.59961C14 5.98621 13.6864 6.2998 13.2998 6.2998C12.9133 6.2997 12.5996 5.98614 12.5996 5.59961V2.39062L8.125 6.86523C7.85167 7.13842 7.4081 7.13842 7.13477 6.86523C6.86153 6.59191 6.86156 6.14835 7.13477 5.875L11.6104 1.40039H8.40039C8.01386 1.40039 7.7003 1.0867 7.7002 0.700195C7.7002 0.313596 8.01379 0 8.40039 0H13.2998L13.3721 0.00292969Z`,fill:`currentColor`}));export{t as default};
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{preserveAspectRatio:`none`,width:`1em`,height:`1em`,overflow:`visible`,style:{display:`block`},viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},e.createElement(`path`,{id:`Subtract`,d:`M8 0C12.4183 6.44256e-08 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 1.28855e-07 12.4183 0 8C0 3.58172 3.58172 0 8 0ZM6.77148 4.34668C6.54772 4.16153 6.21731 4.17499 6.00879 4.38672C5.80047 4.5985 5.78833 4.93303 5.9707 5.16016L6.00879 5.20508L9.02441 8.2666L6.00879 11.3281C5.78643 11.554 5.78652 11.9206 6.00879 12.1465C6.23121 12.3723 6.59195 12.3722 6.81445 12.1465L10.2334 8.67578C10.4558 8.44989 10.4558 8.08333 10.2334 7.85742L6.81445 4.38672L6.77148 4.34668Z`,fill:`var(--fill-0, #F59E0B)`}));export{t as default};
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,viewBox:`0 0 12 12`,width:`1em`,height:`1em`,...t},e.createElement(`path`,{d:`M4.24 11.749a.908.908 0 0 1-1.253 0 .837.837 0 0 1 0-1.212L7.678 6 2.987 1.463l-.06-.065A.836.836 0 0 1 2.986.25.908.908 0 0 1 4.173.192l.067.059 5.32 5.143a.837.837 0 0 1 0 1.212l-5.32 5.143Z`}));export{t as default};
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 36 36`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},e.createElement(`path`,{d:`M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z`,fill:`#FFDADA`}),e.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M18 23.4219C24.2999 23.4219 27.3841 26.2639 28.7998 29.1133C26.5534 31.6567 21.9492 33.4637 18 33.4619C14.0508 33.4637 9.59061 31.6566 7.2002 29.1133C8.61593 26.2639 11.7001 23.4219 18 23.4219ZM18 7.2002C21.3956 7.2002 24.2997 10.0654 24.2998 13.5986V15.2002C24.2997 18.7344 21.3956 21.5996 18 21.5996C14.6044 21.5996 11.7003 18.7344 11.7002 15.2002V13.5996C11.7003 10.0654 14.6044 7.2002 18 7.2002Z`,fill:`url(#paint0_linear_481_372)`}),e.createElement(`defs`,null,e.createElement(`linearGradient`,{id:`paint0_linear_481_372`,x1:18,y1:7.2002,x2:18,y2:33.4685,gradientUnits:`userSpaceOnUse`},e.createElement(`stop`,{stopColor:`#FD4C5E`,stopOpacity:.4}),e.createElement(`stop`,{offset:1,stopColor:`#FD4C5E`,stopOpacity:.05}))));export{t as default};