chore: create Multica handoff checkpoint

This commit is contained in:
leefer
2026-08-06 22:54:46 +08:00
parent bd97ba1829
commit 33f9db43b1
51 changed files with 3054 additions and 2883 deletions
+3 -3
View File
@@ -1,5 +1,5 @@
/* Canonical CSS owner: market. Historical layers consolidated 2026-08-02. */
@media (max-width: 720px) {
@media (max-width: 767px) {
.stock-dialog {
width: calc(-16px + 100vw);
@@ -628,7 +628,7 @@
height: 14px;
}
@media (max-width: 720px) {
@media (max-width: 767px) {
body.stock-preview-open {
overflow: hidden;
}
@@ -770,7 +770,7 @@
overflow-wrap: anywhere;
}
@media (max-width: 720px) {
@media (max-width: 767px) {
.entity-detail-dialog .detail-grid {
grid-template-columns: repeat(2, minmax(0px, 1fr));
}
+6 -6
View File
@@ -96,7 +96,7 @@ function findStockFallback(code) {
function supportsStockPreviewHover() {
return window.matchMedia("(hover: hover) and (pointer: fine)").matches
&& window.innerWidth > 720;
&& window.innerWidth > 767;
}
function handleStockPreviewPointerOver(event) {
@@ -138,7 +138,7 @@ function handleStockPreviewFocusOut(event) {
}
function handleMobileStockPreviewClick(event) {
if (window.innerWidth > 720) return;
if (window.innerWidth > 767) return;
const trigger = event.target.closest?.(".stock-preview-trigger");
if (!trigger) return;
const code = stockCodeFromTrigger(trigger);
@@ -160,7 +160,7 @@ function handleStockPreviewKeydown(event) {
const code = stockCodeFromTrigger(trigger);
if (!code) return;
event.preventDefault();
if (window.innerWidth <= 720) showStockPreview(code, trigger);
if (window.innerWidth <= 767) showStockPreview(code, trigger);
else openStock(code, findStockFallback(code));
}
@@ -186,7 +186,7 @@ async function showStockPreview(code, trigger) {
state.stockPreviewChart = "daily";
renderStockPreviewLoading();
elements.stockPreview.hidden = false;
const mobile = window.innerWidth <= 720;
const mobile = window.innerWidth <= 767;
elements.stockPreviewBackdrop.hidden = !mobile;
document.body.classList.toggle("stock-preview-open", mobile);
requestAnimationFrame(repositionStockPreview);
@@ -239,7 +239,7 @@ async function showEntityPreview(item, trigger) {
state.stockPreviewChart = "daily";
renderStockPreviewLoading();
elements.stockPreview.hidden = false;
const mobile = window.innerWidth <= 720;
const mobile = window.innerWidth <= 767;
elements.stockPreviewBackdrop.hidden = !mobile;
document.body.classList.toggle("stock-preview-open", mobile);
requestAnimationFrame(repositionStockPreview);
@@ -433,7 +433,7 @@ function openStockDetailFromPreview() {
}
function repositionStockPreview() {
if (elements.stockPreview.hidden || window.innerWidth <= 720 || !stockPreviewAnchor?.isConnected) return;
if (elements.stockPreview.hidden || window.innerWidth <= 767 || !stockPreviewAnchor?.isConnected) return;
const anchor = stockPreviewAnchor.getBoundingClientRect();
const preview = elements.stockPreview.getBoundingClientRect();
const gap = 12;