48
.playwright-cli/console-2026-08-12T09-46-41-534Z.log
Normal file
48
.playwright-cli/console-2026-08-12T09-46-41-534Z.log
Normal file
@ -0,0 +1,48 @@
|
||||
[ 1408ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 1568ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 326631ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 326939ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 1014053ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 1014218ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
114
.playwright-cli/console-2026-08-12T10-04-12-030Z.log
Normal file
114
.playwright-cli/console-2026-08-12T10-04-12-030Z.log
Normal file
@ -0,0 +1,114 @@
|
||||
[ 1918ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 2028ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 43780ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 43816ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 81770ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 81828ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 222554ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 222575ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 222581ms] [ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error) @ https://seo.23cm.cn/api/public/articles?page=1&size=24&sort=newest&with_images=6:0
|
||||
[ 262592ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 262623ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 267617ms] [ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error) @ https://seo.23cm.cn/api/public/articles?page=1&size=24&sort=newest&with_images=6:0
|
||||
[ 269500ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 269528ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
[ 349414ms] [WARNING] Alpine Expression Error: item is not defined
|
||||
|
||||
Expression: "item.type === 'brand'"
|
||||
|
||||
JSHandle@node @ http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:406
|
||||
[ 349470ms] ReferenceError: item is not defined
|
||||
at [Alpine] item.type === 'brand' (eval at safeAsyncFunction (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:461:16), <anonymous>:3:32)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:480:23
|
||||
at tryCatch (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:390:10)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:16
|
||||
at reactiveEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1638:12)
|
||||
at Object.effect2 [as effect] (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1618:21)
|
||||
at effect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:56:32)
|
||||
at wrappedEffect (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:68:25)
|
||||
at http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:2889:2
|
||||
at Function.<anonymous> (http://localhost:4322/node_modules/.vite/deps/alpinejs.js?v=48bfe970:1160:54)
|
||||
0
.playwright-cli/page-2026-08-12T09-46-05-967Z.yml
Normal file
0
.playwright-cli/page-2026-08-12T09-46-05-967Z.yml
Normal file
143
.playwright-cli/page-2026-08-12T09-46-43-269Z.yml
Normal file
143
.playwright-cli/page-2026-08-12T09-46-43-269Z.yml
Normal file
@ -0,0 +1,143 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]
|
||||
- contentinfo [ref=e291]:
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]:
|
||||
- generic [ref=e295]: Portfolio Studio
|
||||
- generic [ref=e296]: 2026 Edition
|
||||
- paragraph [ref=e297]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Paris
|
||||
- generic [ref=e300]: •
|
||||
- generic [ref=e301]: Milan
|
||||
- generic [ref=e302]: •
|
||||
- generic [ref=e303]: Tokyo
|
||||
- generic [ref=e304]: •
|
||||
- generic [ref=e305]: New York
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]: Categories
|
||||
- list [ref=e308]:
|
||||
- listitem [ref=e309]:
|
||||
- button "x" [ref=e310] [cursor=pointer]:
|
||||
- generic [ref=e311]: x
|
||||
- listitem [ref=e312]:
|
||||
- button "Backstage" [ref=e313] [cursor=pointer]:
|
||||
- generic [ref=e314]: Backstage
|
||||
- listitem [ref=e315]:
|
||||
- button "Events" [ref=e316] [cursor=pointer]:
|
||||
- generic [ref=e317]: Events
|
||||
- listitem [ref=e318]:
|
||||
- button "Street" [ref=e319] [cursor=pointer]:
|
||||
- generic [ref=e320]: Street
|
||||
- listitem [ref=e321]:
|
||||
- button "Trending Colors" [ref=e322] [cursor=pointer]:
|
||||
- generic [ref=e323]: Trending Colors
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Color Studio Tools
|
||||
- generic [ref=e327]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e328] [cursor=pointer]:
|
||||
- generic [ref=e330]: AI Color Trend Generator
|
||||
- generic [ref=e331]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e332] [cursor=pointer]:
|
||||
- generic [ref=e334]: Photo Swatch Extractor
|
||||
- generic [ref=e335]: Upload
|
||||
- generic [ref=e336]:
|
||||
- generic [ref=e337]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e338]:
|
||||
- link "About" [ref=e339] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e340] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e341] [cursor=pointer]:
|
||||
- generic [ref=e342]: Back to top
|
||||
156
.playwright-cli/page-2026-08-12T09-52-08-686Z.yml
Normal file
156
.playwright-cli/page-2026-08-12T09-52-08-686Z.yml
Normal file
@ -0,0 +1,156 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]
|
||||
- contentinfo [ref=e291]:
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]:
|
||||
- generic [ref=e295]: Portfolio Studio
|
||||
- generic [ref=e296]: 2026 Edition
|
||||
- paragraph [ref=e297]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Paris
|
||||
- generic [ref=e300]: •
|
||||
- generic [ref=e301]: Milan
|
||||
- generic [ref=e302]: •
|
||||
- generic [ref=e303]: Tokyo
|
||||
- generic [ref=e304]: •
|
||||
- generic [ref=e305]: New York
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]: Categories
|
||||
- list [ref=e308]:
|
||||
- listitem [ref=e309]:
|
||||
- button "x" [ref=e310] [cursor=pointer]:
|
||||
- generic [ref=e311]: x
|
||||
- listitem [ref=e312]:
|
||||
- button "Backstage" [ref=e313] [cursor=pointer]:
|
||||
- generic [ref=e314]: Backstage
|
||||
- listitem [ref=e315]:
|
||||
- button "Events" [ref=e316] [cursor=pointer]:
|
||||
- generic [ref=e317]: Events
|
||||
- listitem [ref=e318]:
|
||||
- button "Street" [ref=e319] [cursor=pointer]:
|
||||
- generic [ref=e320]: Street
|
||||
- listitem [ref=e321]:
|
||||
- button "Trending Colors" [ref=e322] [cursor=pointer]:
|
||||
- generic [ref=e323]: Trending Colors
|
||||
- generic [ref=e325]:
|
||||
- generic [ref=e326]: Color Studio Tools
|
||||
- generic [ref=e327]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e328] [cursor=pointer]:
|
||||
- generic [ref=e330]: AI Color Trend Generator
|
||||
- generic [ref=e331]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e332] [cursor=pointer]:
|
||||
- generic [ref=e334]: Photo Swatch Extractor
|
||||
- generic [ref=e335]: Upload
|
||||
- generic [ref=e336]:
|
||||
- generic [ref=e337]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e338]:
|
||||
- link "About" [ref=e339] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e340] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e341] [cursor=pointer]:
|
||||
- generic [ref=e342]: Back to top
|
||||
- generic [ref=e345]:
|
||||
- button "Menu" [ref=e346]:
|
||||
- img [ref=e348]
|
||||
- generic: Menu
|
||||
- button "Inspect" [ref=e352]:
|
||||
- img [ref=e354]
|
||||
- generic: Inspect
|
||||
- button "Audit" [ref=e356]:
|
||||
- img [ref=e358]
|
||||
- generic: Audit
|
||||
- button "Settings" [ref=e361]:
|
||||
- img [ref=e363]
|
||||
- generic: Settings
|
||||
BIN
.playwright-cli/page-2026-08-12T09-55-34-779Z.png
Normal file
BIN
.playwright-cli/page-2026-08-12T09-55-34-779Z.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
156
.playwright-cli/page-2026-08-12T10-04-14-218Z.yml
Normal file
156
.playwright-cli/page-2026-08-12T10-04-14-218Z.yml
Normal file
@ -0,0 +1,156 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]
|
||||
- contentinfo [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e439]: Portfolio Studio
|
||||
- generic [ref=e440]: 2026 Edition
|
||||
- paragraph [ref=e441]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: Paris
|
||||
- generic [ref=e444]: •
|
||||
- generic [ref=e445]: Milan
|
||||
- generic [ref=e446]: •
|
||||
- generic [ref=e447]: Tokyo
|
||||
- generic [ref=e448]: •
|
||||
- generic [ref=e449]: New York
|
||||
- generic [ref=e450]:
|
||||
- generic [ref=e451]: Categories
|
||||
- list [ref=e452]:
|
||||
- listitem [ref=e453]:
|
||||
- button "x" [ref=e454] [cursor=pointer]:
|
||||
- generic [ref=e455]: x
|
||||
- listitem [ref=e456]:
|
||||
- button "Backstage" [ref=e457] [cursor=pointer]:
|
||||
- generic [ref=e458]: Backstage
|
||||
- listitem [ref=e459]:
|
||||
- button "Events" [ref=e460] [cursor=pointer]:
|
||||
- generic [ref=e461]: Events
|
||||
- listitem [ref=e462]:
|
||||
- button "Street" [ref=e463] [cursor=pointer]:
|
||||
- generic [ref=e464]: Street
|
||||
- listitem [ref=e465]:
|
||||
- button "Trending Colors" [ref=e466] [cursor=pointer]:
|
||||
- generic [ref=e467]: Trending Colors
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]: Color Studio Tools
|
||||
- generic [ref=e471]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e472] [cursor=pointer]:
|
||||
- generic [ref=e474]: AI Color Trend Generator
|
||||
- generic [ref=e475]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e476] [cursor=pointer]:
|
||||
- generic [ref=e478]: Photo Swatch Extractor
|
||||
- generic [ref=e479]: Upload
|
||||
- generic [ref=e480]:
|
||||
- generic [ref=e481]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e482]:
|
||||
- link "About" [ref=e483] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e484] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e485] [cursor=pointer]:
|
||||
- generic [ref=e486]: Back to top
|
||||
- generic [ref=e489]:
|
||||
- button "Menu" [ref=e490]:
|
||||
- img [ref=e492]
|
||||
- generic: Menu
|
||||
- button "Inspect" [ref=e496]:
|
||||
- img [ref=e498]
|
||||
- generic: Inspect
|
||||
- button "Audit" [ref=e500]:
|
||||
- img [ref=e502]
|
||||
- generic: Audit
|
||||
- button "Settings" [ref=e505]:
|
||||
- img [ref=e507]
|
||||
- generic: Settings
|
||||
158
.playwright-cli/page-2026-08-12T10-04-55-958Z.yml
Normal file
158
.playwright-cli/page-2026-08-12T10-04-55-958Z.yml
Normal file
@ -0,0 +1,158 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]
|
||||
- contentinfo [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e439]: Portfolio Studio
|
||||
- generic [ref=e440]: 2026 Edition
|
||||
- paragraph [ref=e441]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: Paris
|
||||
- generic [ref=e444]: •
|
||||
- generic [ref=e445]: Milan
|
||||
- generic [ref=e446]: •
|
||||
- generic [ref=e447]: Tokyo
|
||||
- generic [ref=e448]: •
|
||||
- generic [ref=e449]: New York
|
||||
- generic [ref=e450]:
|
||||
- generic [ref=e451]: Categories
|
||||
- list [ref=e452]:
|
||||
- listitem [ref=e453]:
|
||||
- button "x" [ref=e454] [cursor=pointer]:
|
||||
- generic [ref=e455]: x
|
||||
- listitem [ref=e456]:
|
||||
- button "Backstage" [ref=e457] [cursor=pointer]:
|
||||
- generic [ref=e458]: Backstage
|
||||
- listitem [ref=e459]:
|
||||
- button "Events" [ref=e460] [cursor=pointer]:
|
||||
- generic [ref=e461]: Events
|
||||
- listitem [ref=e462]:
|
||||
- button "Street" [ref=e463] [cursor=pointer]:
|
||||
- generic [ref=e464]: Street
|
||||
- listitem [ref=e465]:
|
||||
- button "Trending Colors" [ref=e466] [cursor=pointer]:
|
||||
- generic [ref=e467]: Trending Colors
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]: Color Studio Tools
|
||||
- generic [ref=e471]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e472] [cursor=pointer]:
|
||||
- generic [ref=e474]: AI Color Trend Generator
|
||||
- generic [ref=e475]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e476] [cursor=pointer]:
|
||||
- generic [ref=e478]: Photo Swatch Extractor
|
||||
- generic [ref=e479]: Upload
|
||||
- generic [ref=e480]:
|
||||
- generic [ref=e481]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e482]:
|
||||
- link "About" [ref=e483] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e484] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e485] [cursor=pointer]:
|
||||
- generic [ref=e486]: Back to top
|
||||
- generic [ref=e489]:
|
||||
- button "Menu" [ref=e490]:
|
||||
- img [ref=e492]
|
||||
- generic: Menu
|
||||
- button "Inspect" [ref=e496]:
|
||||
- img [ref=e498]
|
||||
- generic: Inspect
|
||||
- button "Audit" [ref=e500]:
|
||||
- generic [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- img [ref=e505]
|
||||
- generic: Audit
|
||||
- button "Settings" [ref=e508]:
|
||||
- img [ref=e510]
|
||||
- generic: Settings
|
||||
162
.playwright-cli/page-2026-08-12T10-04-58-942Z.yml
Normal file
162
.playwright-cli/page-2026-08-12T10-04-58-942Z.yml
Normal file
@ -0,0 +1,162 @@
|
||||
- generic [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: COLLECTION · RTW
|
||||
- button "×" [ref=e516] [cursor=pointer]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [checked] [active] [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]:
|
||||
- generic [ref=e517]: No shows match the current filters · 暂无符合条件的秀场
|
||||
- contentinfo [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e439]: Portfolio Studio
|
||||
- generic [ref=e440]: 2026 Edition
|
||||
- paragraph [ref=e441]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: Paris
|
||||
- generic [ref=e444]: •
|
||||
- generic [ref=e445]: Milan
|
||||
- generic [ref=e446]: •
|
||||
- generic [ref=e447]: Tokyo
|
||||
- generic [ref=e448]: •
|
||||
- generic [ref=e449]: New York
|
||||
- generic [ref=e450]:
|
||||
- generic [ref=e451]: Categories
|
||||
- list [ref=e452]:
|
||||
- listitem [ref=e453]:
|
||||
- button "x" [ref=e454] [cursor=pointer]:
|
||||
- generic [ref=e455]: x
|
||||
- listitem [ref=e456]:
|
||||
- button "Backstage" [ref=e457] [cursor=pointer]:
|
||||
- generic [ref=e458]: Backstage
|
||||
- listitem [ref=e459]:
|
||||
- button "Events" [ref=e460] [cursor=pointer]:
|
||||
- generic [ref=e461]: Events
|
||||
- listitem [ref=e462]:
|
||||
- button "Street" [ref=e463] [cursor=pointer]:
|
||||
- generic [ref=e464]: Street
|
||||
- listitem [ref=e465]:
|
||||
- button "Trending Colors" [ref=e466] [cursor=pointer]:
|
||||
- generic [ref=e467]: Trending Colors
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]: Color Studio Tools
|
||||
- generic [ref=e471]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e472] [cursor=pointer]:
|
||||
- generic [ref=e474]: AI Color Trend Generator
|
||||
- generic [ref=e475]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e476] [cursor=pointer]:
|
||||
- generic [ref=e478]: Photo Swatch Extractor
|
||||
- generic [ref=e479]: Upload
|
||||
- generic [ref=e480]:
|
||||
- generic [ref=e481]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e482]:
|
||||
- link "About" [ref=e483] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e484] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e485] [cursor=pointer]:
|
||||
- generic [ref=e486]: Back to top
|
||||
- generic [ref=e489]:
|
||||
- button "Menu" [ref=e490]:
|
||||
- img [ref=e492]
|
||||
- generic: Menu
|
||||
- button "Inspect" [ref=e496]:
|
||||
- img [ref=e498]
|
||||
- generic: Inspect
|
||||
- button "Audit" [ref=e500]:
|
||||
- generic [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- img [ref=e518]
|
||||
- generic: Audit
|
||||
- button "Settings" [ref=e508]:
|
||||
- img [ref=e510]
|
||||
- generic: Settings
|
||||
BIN
.playwright-cli/page-2026-08-12T10-04-59-176Z.png
Normal file
BIN
.playwright-cli/page-2026-08-12T10-04-59-176Z.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
143
.playwright-cli/page-2026-08-12T10-05-33-946Z.yml
Normal file
143
.playwright-cli/page-2026-08-12T10-05-33-946Z.yml
Normal file
@ -0,0 +1,143 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]
|
||||
- contentinfo [ref=e435]:
|
||||
- generic [ref=e436]:
|
||||
- generic [ref=e437]:
|
||||
- generic [ref=e438]:
|
||||
- generic [ref=e439]: Portfolio Studio
|
||||
- generic [ref=e440]: 2026 Edition
|
||||
- paragraph [ref=e441]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: Paris
|
||||
- generic [ref=e444]: •
|
||||
- generic [ref=e445]: Milan
|
||||
- generic [ref=e446]: •
|
||||
- generic [ref=e447]: Tokyo
|
||||
- generic [ref=e448]: •
|
||||
- generic [ref=e449]: New York
|
||||
- generic [ref=e450]:
|
||||
- generic [ref=e451]: Categories
|
||||
- list [ref=e452]:
|
||||
- listitem [ref=e453]:
|
||||
- button "x" [ref=e454] [cursor=pointer]:
|
||||
- generic [ref=e455]: x
|
||||
- listitem [ref=e456]:
|
||||
- button "Backstage" [ref=e457] [cursor=pointer]:
|
||||
- generic [ref=e458]: Backstage
|
||||
- listitem [ref=e459]:
|
||||
- button "Events" [ref=e460] [cursor=pointer]:
|
||||
- generic [ref=e461]: Events
|
||||
- listitem [ref=e462]:
|
||||
- button "Street" [ref=e463] [cursor=pointer]:
|
||||
- generic [ref=e464]: Street
|
||||
- listitem [ref=e465]:
|
||||
- button "Trending Colors" [ref=e466] [cursor=pointer]:
|
||||
- generic [ref=e467]: Trending Colors
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]: Color Studio Tools
|
||||
- generic [ref=e471]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e472] [cursor=pointer]:
|
||||
- generic [ref=e474]: AI Color Trend Generator
|
||||
- generic [ref=e475]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e476] [cursor=pointer]:
|
||||
- generic [ref=e478]: Photo Swatch Extractor
|
||||
- generic [ref=e479]: Upload
|
||||
- generic [ref=e480]:
|
||||
- generic [ref=e481]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e482]:
|
||||
- link "About" [ref=e483] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e484] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e485] [cursor=pointer]:
|
||||
- generic [ref=e486]: Back to top
|
||||
BIN
.playwright-cli/page-2026-08-12T10-05-36-850Z.png
Normal file
BIN
.playwright-cli/page-2026-08-12T10-05-36-850Z.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
144
.playwright-cli/page-2026-08-12T10-07-54-674Z.yml
Normal file
144
.playwright-cli/page-2026-08-12T10-07-54-674Z.yml
Normal file
@ -0,0 +1,144 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]:
|
||||
- generic [ref=e99]: No shows match the current filters · 暂无符合条件的秀场
|
||||
- contentinfo [ref=e100]:
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e104]: Portfolio Studio
|
||||
- generic [ref=e105]: 2026 Edition
|
||||
- paragraph [ref=e106]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e107]:
|
||||
- generic [ref=e108]: Paris
|
||||
- generic [ref=e109]: •
|
||||
- generic [ref=e110]: Milan
|
||||
- generic [ref=e111]: •
|
||||
- generic [ref=e112]: Tokyo
|
||||
- generic [ref=e113]: •
|
||||
- generic [ref=e114]: New York
|
||||
- generic [ref=e115]:
|
||||
- generic [ref=e116]: Categories
|
||||
- list [ref=e117]:
|
||||
- listitem [ref=e118]:
|
||||
- button "x" [ref=e119] [cursor=pointer]:
|
||||
- generic [ref=e120]: x
|
||||
- listitem [ref=e121]:
|
||||
- button "Backstage" [ref=e122] [cursor=pointer]:
|
||||
- generic [ref=e123]: Backstage
|
||||
- listitem [ref=e124]:
|
||||
- button "Events" [ref=e125] [cursor=pointer]:
|
||||
- generic [ref=e126]: Events
|
||||
- listitem [ref=e127]:
|
||||
- button "Street" [ref=e128] [cursor=pointer]:
|
||||
- generic [ref=e129]: Street
|
||||
- listitem [ref=e130]:
|
||||
- button "Trending Colors" [ref=e131] [cursor=pointer]:
|
||||
- generic [ref=e132]: Trending Colors
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e135]: Color Studio Tools
|
||||
- generic [ref=e136]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e137] [cursor=pointer]:
|
||||
- generic [ref=e139]: AI Color Trend Generator
|
||||
- generic [ref=e140]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e141] [cursor=pointer]:
|
||||
- generic [ref=e143]: Photo Swatch Extractor
|
||||
- generic [ref=e144]: Upload
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e147]:
|
||||
- link "About" [ref=e148] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e149] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e150] [cursor=pointer]:
|
||||
- generic [ref=e151]: Back to top
|
||||
BIN
.playwright-cli/page-2026-08-12T10-07-54-980Z.png
Normal file
BIN
.playwright-cli/page-2026-08-12T10-07-54-980Z.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
159
.playwright-cli/page-2026-08-12T10-08-41-626Z.yml
Normal file
159
.playwright-cli/page-2026-08-12T10-08-41-626Z.yml
Normal file
@ -0,0 +1,159 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- navigation [ref=e2]:
|
||||
- generic [ref=e3]:
|
||||
- link "Portfolio 2026" [ref=e4] [cursor=pointer]:
|
||||
- /url: /portfolio
|
||||
- text: Portfolio
|
||||
- generic [ref=e5]: "2026"
|
||||
- link "All Shows" [ref=e6] [cursor=pointer]:
|
||||
- /url: /shows
|
||||
- link "Latest Projects" [ref=e7] [cursor=pointer]:
|
||||
- /url: /latest-projects
|
||||
- link "About" [ref=e8] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact Us" [ref=e9] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- generic [ref=e10]:
|
||||
- link "Login" [ref=e11] [cursor=pointer]:
|
||||
- /url: /login
|
||||
- link "Signup" [ref=e12] [cursor=pointer]:
|
||||
- /url: /register
|
||||
- generic [ref=e14]:
|
||||
- banner [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- generic [ref=e17]: Runway Archive · 2026 Edition
|
||||
- heading "All Shows" [level=1] [ref=e18]
|
||||
- generic [ref=e19]:
|
||||
- complementary [ref=e20]:
|
||||
- generic [ref=e21]:
|
||||
- heading "REFINE" [level=2] [ref=e22]
|
||||
- button "折叠/展开筛选" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e27]:
|
||||
- generic [ref=e28] [cursor=pointer]:
|
||||
- generic [ref=e29]: DESIGNERS
|
||||
- generic [ref=e30]:
|
||||
- generic [ref=e31]: "0"
|
||||
- img [ref=e33]
|
||||
- generic [ref=e35]:
|
||||
- textbox "Search designer…" [ref=e36]
|
||||
- list [ref=e37]:
|
||||
- listitem [ref=e38] [cursor=pointer]
|
||||
- generic [ref=e39] [cursor=pointer]: Show all 198 designers ▾
|
||||
- generic [ref=e40]:
|
||||
- generic [ref=e41] [cursor=pointer]:
|
||||
- generic [ref=e42]: COLLECTION
|
||||
- img [ref=e44]
|
||||
- list [ref=e47]:
|
||||
- listitem [ref=e48] [cursor=pointer]:
|
||||
- generic [ref=e49]:
|
||||
- checkbox "Ready-to-Wear" [ref=e50]
|
||||
- generic [ref=e51]: Ready-to-Wear
|
||||
- listitem [ref=e52] [cursor=pointer]:
|
||||
- generic [ref=e53]:
|
||||
- checkbox "Menswear" [ref=e54]
|
||||
- generic [ref=e55]: Menswear
|
||||
- listitem [ref=e56] [cursor=pointer]:
|
||||
- generic [ref=e57]:
|
||||
- checkbox "Couture" [ref=e58]
|
||||
- generic [ref=e59]: Couture
|
||||
- listitem [ref=e60] [cursor=pointer]:
|
||||
- generic [ref=e61]:
|
||||
- checkbox "Resort" [ref=e62]
|
||||
- generic [ref=e63]: Resort
|
||||
- listitem [ref=e64] [cursor=pointer]:
|
||||
- generic [ref=e65]:
|
||||
- checkbox "Pre-Fall" [ref=e66]
|
||||
- generic [ref=e67]: Pre-Fall
|
||||
- generic [ref=e68]:
|
||||
- generic [ref=e69] [cursor=pointer]:
|
||||
- generic [ref=e70]: SEASON
|
||||
- img [ref=e72]
|
||||
- list [ref=e75]:
|
||||
- listitem [ref=e76] [cursor=pointer]:
|
||||
- generic [ref=e77]:
|
||||
- checkbox "Spring / Summer" [ref=e78]
|
||||
- generic [ref=e79]: Spring / Summer
|
||||
- listitem [ref=e80] [cursor=pointer]:
|
||||
- generic [ref=e81]:
|
||||
- checkbox "Fall / Winter" [ref=e82]
|
||||
- generic [ref=e83]: Fall / Winter
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85] [cursor=pointer]:
|
||||
- generic [ref=e86]: YEAR
|
||||
- img [ref=e88]
|
||||
- list [ref=e91]:
|
||||
- listitem [ref=e92] [cursor=pointer]:
|
||||
- generic [ref=e93]:
|
||||
- checkbox "2027" [ref=e94]
|
||||
- generic [ref=e95]: "2027"
|
||||
- button "Clear all ×" [ref=e96] [cursor=pointer]
|
||||
- main [ref=e97]:
|
||||
- generic [ref=e99]: No shows match the current filters · 暂无符合条件的秀场
|
||||
- contentinfo [ref=e100]:
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e104]: Portfolio Studio
|
||||
- generic [ref=e105]: 2026 Edition
|
||||
- paragraph [ref=e106]: Minimalist editorial portfolio documenting haute couture shows, backstage fittings, and street culture. Integrated with 2026 color forecast intelligence and AI palette generator.
|
||||
- generic [ref=e107]:
|
||||
- generic [ref=e108]: Paris
|
||||
- generic [ref=e109]: •
|
||||
- generic [ref=e110]: Milan
|
||||
- generic [ref=e111]: •
|
||||
- generic [ref=e112]: Tokyo
|
||||
- generic [ref=e113]: •
|
||||
- generic [ref=e114]: New York
|
||||
- generic [ref=e115]:
|
||||
- generic [ref=e116]: Categories
|
||||
- list [ref=e117]:
|
||||
- listitem [ref=e118]:
|
||||
- button "x" [ref=e119] [cursor=pointer]:
|
||||
- generic [ref=e120]: x
|
||||
- listitem [ref=e121]:
|
||||
- button "Backstage" [ref=e122] [cursor=pointer]:
|
||||
- generic [ref=e123]: Backstage
|
||||
- listitem [ref=e124]:
|
||||
- button "Events" [ref=e125] [cursor=pointer]:
|
||||
- generic [ref=e126]: Events
|
||||
- listitem [ref=e127]:
|
||||
- button "Street" [ref=e128] [cursor=pointer]:
|
||||
- generic [ref=e129]: Street
|
||||
- listitem [ref=e130]:
|
||||
- button "Trending Colors" [ref=e131] [cursor=pointer]:
|
||||
- generic [ref=e132]: Trending Colors
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e135]: Color Studio Tools
|
||||
- generic [ref=e136]:
|
||||
- button "AI Color Trend Generator Gemini 2026" [ref=e137] [cursor=pointer]:
|
||||
- generic [ref=e139]: AI Color Trend Generator
|
||||
- generic [ref=e140]: Gemini 2026
|
||||
- button "Photo Swatch Extractor Upload" [ref=e141] [cursor=pointer]:
|
||||
- generic [ref=e143]: Photo Swatch Extractor
|
||||
- generic [ref=e144]: Upload
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: © 2026 PORTFOLIO STUDIO. ALL RIGHTS RESERVED.
|
||||
- generic [ref=e147]:
|
||||
- link "About" [ref=e148] [cursor=pointer]:
|
||||
- /url: /about
|
||||
- link "Contact" [ref=e149] [cursor=pointer]:
|
||||
- /url: /contact
|
||||
- button "Back to top" [ref=e150] [cursor=pointer]:
|
||||
- generic [ref=e151]: Back to top
|
||||
- generic [ref=e154]:
|
||||
- button "Menu" [ref=e155]:
|
||||
- img [ref=e157]
|
||||
- generic: Menu
|
||||
- button "Inspect" [ref=e161]:
|
||||
- img [ref=e163]
|
||||
- generic: Inspect
|
||||
- button "Audit" [ref=e165]:
|
||||
- generic [ref=e166]:
|
||||
- img [ref=e167]
|
||||
- img [ref=e170]
|
||||
- generic: Audit
|
||||
- button "Settings" [ref=e173]:
|
||||
- img [ref=e175]
|
||||
- generic: Settings
|
||||
BIN
.playwright-cli/page-2026-08-12T10-08-43-775Z.png
Normal file
BIN
.playwright-cli/page-2026-08-12T10-08-43-775Z.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
BIN
.playwright-cli/skel.png
Normal file
BIN
.playwright-cli/skel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
31
.workbuddy/memory/2026-08-12.md
Normal file
31
.workbuddy/memory/2026-08-12.md
Normal file
@ -0,0 +1,31 @@
|
||||
# 2026-08-12
|
||||
|
||||
## shows.astro 骨架屏抖动修复
|
||||
- 问题:加载中阶段骨架屏 `<template>` 被整段注释掉,网格为空;数据回来时 24 张卡片瞬间铺开导致整页高度猛增(最大抖动)。原骨架还只渲染 12 张,与首屏 24 张行数不匹配。
|
||||
- 修复:
|
||||
1. 恢复骨架屏模板(去掉注释),数量绑定 `skeletonCount` getter = `this.size`(24),与首屏 data 行数一致。
|
||||
2. 骨架内部结构与真实卡片完全对齐:左图 `.showscard-img`(aspect 3/4)、右栏三行占位高度对齐真实 title(41px)/meta(29px)/meta-foot(29px)、底部 5 个 `.showscard-thumb`。
|
||||
3. 图片阶段无抖动:容器 aspect-ratio 锁定,img 仅 opacity 渐显。
|
||||
- 验证:`npx astro build` 通过(11 页,无错),lint 干净。
|
||||
|
||||
## shows.astro 抖动修复(第二轮,补充对齐)
|
||||
- 用户再次反馈抖动:发现骨架与真实卡片内部尺寸仍有偏差 + 真实文字区块行数不固定。
|
||||
- 关键修复:**真实卡片文字区块锁定固定高度**(不再随行数/字体加载变化):
|
||||
- `.showscard-title` 加 `h-[41px] overflow-hidden`(line-clamp-2 × 15.5px×1.32)
|
||||
- `.showscard-meta` 加 `h-[29px] overflow-hidden`(line-clamp-2 × 9.5px×1.55)
|
||||
- `.showscard-meta-foot` 加 `h-[38px] overflow-hidden`(两行 meta-line 16px + gap 6px)
|
||||
- `.showscard-meta-line` 加 `h-[16px] leading-[16px] overflow-hidden whitespace-nowrap`
|
||||
- 骨架第三行 showsline 高度 29px → 38px 与 meta-foot 对齐
|
||||
- 至此三个阶段的卡片高度公式完全一致(info=132px + strip mt10 + thumb aspect 3/4),桌面/移动(flex-col)均一致。
|
||||
|
||||
## shows.astro 骨架图特别小(核心 root cause 修复)
|
||||
- 用户第三次反馈:loading=true 时骨架「特别小」。截图实测数据:骨架 `.showscard` 164px / `.showscard-right` 16px / 真实卡片 372px(右栏 224px)。视口 1280 下 `.showsroot` 仅 626px(主区 350px)。
|
||||
- **真正 root cause(不是骨架本身,而是宿主布局)**:
|
||||
- `Layout.astro` 把 `<slot />` 套在 `<div class="flex-1 flex flex-col">` 里,slot 在 flex column 容器内作为 flex item。
|
||||
- `shows.astro` 的 `<div class="showsroot m-auto">` 中 `m-auto` 在 flex column 容器内作为 cross-axis `margin: auto`,让 showsroot 收缩到 content width + 居中(shrink-to-fit)。
|
||||
- 骨架阶段 24 张空 div(无 img/文字)→ card min-content = 0 → 整个链条(card→grid→main→body→root)收缩到 626px → 主区 350px → 卡片 164px。
|
||||
- 数据阶段真实卡片有 `<img>` intrinsic + 文字 → 收缩到 1042px → 看起来「正常」。
|
||||
- **修复**:把 `<div class="showsroot m-auto">` 改为 `<div class="showsroot w-full">`(取消 m-auto,强制 width 100% wrapper)。`w-full` 优先级覆盖 `m-auto` 的 shrink-to-fit 行为;max-w-[1600px] 仍保留大屏上限。
|
||||
- **副作用归零**:骨架/数据阶段 rootW 都是 1180px(=body 1280 - 50×2 padding),主区都是 904px,2 列都是 441px,加载中→数据完成→图片完成三阶段宽度完全一致,不再抖动。
|
||||
- 验证:empty state 截图可见主区跨满 ~1000px(不再是 350px)。`astro build` 通过。
|
||||
- **经验教训**:Astro + flex 布局的页内子组件,**禁用 `m-auto`**,必须用 `w-full` 或显式 width。`m-auto` 作为 flex item 在 flex 容器中会触发 shrink-to-fit,造成「内容驱动宽度」连锁效应。
|
||||
@ -19,6 +19,15 @@
|
||||
- CSS 写法:能用 @apply 就 @apply;`<style>` 顶部加 `@reference "tailwindcss";`。仅保留手写:@keyframes、渐变 shimmer、!important、双时长 transition。Tailwind v4 已移除零值类(mt-0 等),零值边距保持手写。
|
||||
- 导航(Layout.astro):**保持原样未改动**(Portfolio / Latest Projects / About / Contact / Login / Signup),含页脚 Categories + Color Studio Tools + About/Contact 链接。门禁仅由 6 个 ComingSoon 占位页承担,导航不删任何链接(用户要求 header 别动)。
|
||||
|
||||
## Layout 陷阱(重要,2026-08-12 踩坑)
|
||||
- **Layout.astro** 把 `<slot />` 包裹在 `<div class="flex-1 flex flex-col">`(flex column 容器)。
|
||||
- **禁用 `m-auto`** 作为页内根容器(`<div class="xxx m-auto">`):它在 flex column 容器中作为 flex item 的 cross-axis `margin: auto`,会触发 **shrink-to-fit**(content 决定宽度),导致:
|
||||
- 内容空/少时根容器收缩到极窄(骨架 24 张空 div → .showsroot 仅 626px / 主区 350px / 卡片 164px)。
|
||||
- 内容多时根容器被撑大(真实卡片有 img/文字 → 1042px 「看起来正常」)。
|
||||
- 同页面在不同内容状态下宽度剧烈变化 = 抖动。
|
||||
- **正确做法**:用 `w-full`(强制 100% 父容器,常配 `max-w-[xxx]`),或 `w-full mx-auto`(保留大屏居中)。
|
||||
- 适用范围:所有 Layout 内的页内根容器(包括 showsroot / blogs / about 等),**避免 `m-auto` 单独使用**。
|
||||
|
||||
## 部署(Docker + Gitea Actions)
|
||||
- 仅 brands.astro 构建期 SSR 取数(用 API_SSR);其余页面运行时相对 /api 拉取(nginx 反代 backend:8090)。
|
||||
- 交付文件:前端 Dockerfile / nginx.conf / docker-compose.yml / deploy.sh / .gitea/workflows/deploy.yml / .env.example / DEPLOY.md;后端 Dockerfile。
|
||||
|
||||
@ -3,9 +3,13 @@ import { defineConfig } from 'astro/config';
|
||||
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
|
||||
import alpinejs from '@astrojs/alpinejs';
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
vite: {
|
||||
plugins: [tailwindcss()]
|
||||
}
|
||||
},
|
||||
|
||||
integrations: [alpinejs()]
|
||||
});
|
||||
79
package-lock.json
generated
79
package-lock.json
generated
@ -8,7 +8,10 @@
|
||||
"name": "test",
|
||||
"version": "0.0.1",
|
||||
"dependencies": {
|
||||
"@astrojs/alpinejs": "^1.0.0",
|
||||
"@tailwindcss/vite": "^4.3.3",
|
||||
"@types/alpinejs": "^3.13.11",
|
||||
"alpinejs": "^3.16.1",
|
||||
"astro": "^7.1.6",
|
||||
"tailwindcss": "^4.3.3"
|
||||
},
|
||||
@ -16,6 +19,16 @@
|
||||
"node": ">=22.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@astrojs/alpinejs": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/@astrojs/alpinejs/-/alpinejs-1.0.0.tgz",
|
||||
"integrity": "sha512-xmLFD8MBunXCG39nS3dmINQfdhqlDNbHAYyw8n6jfLGL/AFeyYOtz6p1EtXX8NEbGLHk7mUOHoaC3j1WudUYoQ==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@types/alpinejs": "^3.0.0",
|
||||
"alpinejs": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@astrojs/compiler-binding": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/@astrojs/compiler-binding/-/compiler-binding-0.3.2.tgz",
|
||||
@ -487,6 +500,27 @@
|
||||
"node": ">= 20.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/core": {
|
||||
"version": "1.11.3",
|
||||
"resolved": "https://registry.npmmirror.com/@emnapi/core/-/core-1.11.3.tgz",
|
||||
"integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@emnapi/wasi-threads": "1.2.3",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/core/node_modules/@emnapi/wasi-threads": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz",
|
||||
"integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/wasi-threads": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-2.0.1.tgz",
|
||||
@ -1702,6 +1736,17 @@
|
||||
"node": "^20.19.0 || ^22.13.0 || >=23.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/core": {
|
||||
"version": "2.0.0-alpha.3",
|
||||
"resolved": "https://registry.npmmirror.com/@emnapi/core/-/core-2.0.0-alpha.3.tgz",
|
||||
"integrity": "sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@emnapi/wasi-threads": "2.0.1",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/runtime": {
|
||||
"version": "2.0.0-alpha.3",
|
||||
"resolved": "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-2.0.0-alpha.3.tgz",
|
||||
@ -2397,6 +2442,13 @@
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/alpinejs": {
|
||||
"version": "3.13.11",
|
||||
"resolved": "https://registry.npmmirror.com/@types/alpinejs/-/alpinejs-3.13.11.tgz",
|
||||
"integrity": "sha512-3KhGkDixCPiLdL3Z/ok1GxHwLxEWqQOKJccgaQL01wc0EVM2tCTaqlC3NIedmxAXkVzt/V6VTM8qPgnOHKJ1MA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz",
|
||||
@ -2451,6 +2503,31 @@
|
||||
"integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.1.5.tgz",
|
||||
"integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.1.5.tgz",
|
||||
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/alpinejs": {
|
||||
"version": "3.16.1",
|
||||
"resolved": "https://registry.npmmirror.com/alpinejs/-/alpinejs-3.16.1.tgz",
|
||||
"integrity": "sha512-QXcW8MK9JoG8GZ7vCt2cXJlcEPIA7Xk/7IQ1+L2iLp7sXcIxct0PrgidmHzK97gD9QlfUjHXPxujdZ1mC2PYVg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "~3.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/am-i-vibing": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/am-i-vibing/-/am-i-vibing-0.4.0.tgz",
|
||||
@ -2982,6 +3059,7 @@
|
||||
"integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
@ -3331,7 +3409,6 @@
|
||||
"resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.7.0.tgz",
|
||||
"integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"jiti": "lib/jiti-cli.mjs"
|
||||
}
|
||||
|
||||
@ -12,7 +12,10 @@
|
||||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/alpinejs": "^1.0.0",
|
||||
"@tailwindcss/vite": "^4.3.3",
|
||||
"@types/alpinejs": "^3.13.11",
|
||||
"alpinejs": "^3.16.1",
|
||||
"astro": "^7.1.6",
|
||||
"tailwindcss": "^4.3.3"
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ const {
|
||||
} = Astro.props;
|
||||
|
||||
const categories: { label: string; value: PortfolioCategory | 'Trending Colors' }[] = [
|
||||
{ label: '灵感', value: '灵感' },
|
||||
{ label: 'x', value: 'x' },
|
||||
{ label: 'Backstage', value: 'Backstage' },
|
||||
{ label: 'Events', value: 'Events' },
|
||||
{ label: 'Street', value: 'Street' },
|
||||
|
||||
@ -46,7 +46,7 @@ export interface ArticlePage {
|
||||
|
||||
export function getBase(): string {
|
||||
const env = import.meta.env as any
|
||||
if (env.DEV) return "http://localhost:8090"
|
||||
if (env.DEV) return "https://seo.23cm.cn"
|
||||
if (env.SSR) return (env.API_SSR || env.PUBLIC_API_BASE || "").replace(/\/$/, "")
|
||||
return (env.PUBLIC_API_BASE || "").replace(/\/$/, "")
|
||||
}
|
||||
|
||||
@ -75,19 +75,19 @@ function railDesc(r: typeof shows[number]) {
|
||||
<!-- 二级大字号分类(标签页):仅「发布会」上线,其余标注 Coming Soon -->
|
||||
<div id="tabbar" class="mt-16 md:mt-24">
|
||||
<ul class="flex items-center gap-6 list-none p-0 m-0 overflow-x-auto">
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="backstage" data-active="true">发布会
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="backstage" data-active="true">A
|
||||
<span class="text-xs uppercase tracking-widest bg-black text-white px-2 py-0.5 rounded-full font-mono font-bold align-super">Live</span>
|
||||
</li>
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="shows" data-soon="true">灵感
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="shows" data-soon="true">B
|
||||
<span class="text-xs uppercase tracking-widest bg-zinc-200 text-zinc-600 px-2 py-0.5 rounded-full font-mono font-bold align-super">Soon</span>
|
||||
</li>
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="events" data-soon="true">社媒
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="events" data-soon="true">C
|
||||
<span class="text-xs uppercase tracking-widest bg-zinc-200 text-zinc-600 px-2 py-0.5 rounded-full font-mono font-bold align-super">Soon</span>
|
||||
</li>
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="street" data-soon="true">街拍
|
||||
<li class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap" data-tab="street" data-soon="true">D
|
||||
<span class="text-xs uppercase tracking-widest bg-zinc-200 text-zinc-600 px-2 py-0.5 rounded-full font-mono font-bold align-super">Soon</span>
|
||||
</li>
|
||||
<a href="/brands" class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap hover:opacity-80">品牌</a>
|
||||
<a href="/brands" class="tab text-[42px] font-extrabold cursor-pointer whitespace-nowrap hover:opacity-80">E</a>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user