feat: integrate iFinD data and refine intelligent workspaces
This commit is contained in:
+131
-3
@@ -29,6 +29,10 @@
|
||||
--col-text:220px;
|
||||
--right-rail-wide:372px;
|
||||
--pool-table-max-height:calc(var(--content-height) - var(--topbar-height) - var(--page-pad-y) - var(--page-pad-y) - var(--card-gap));
|
||||
--sentiment-history-max-height:510px;
|
||||
--sentiment-chart-compact-height:clamp(180px,20dvh,250px);
|
||||
--sentiment-chart-compact-canvas-height:calc(var(--sentiment-chart-compact-height) - 18px);
|
||||
--sentiment-history-min-height:220px;
|
||||
--primary-share:1.45fr;
|
||||
--secondary-share:.75fr;
|
||||
--mobile-nav-height:58px;
|
||||
@@ -40,6 +44,7 @@
|
||||
--space-4:4px;
|
||||
--font-aux:10.5px;
|
||||
}
|
||||
|
||||
*{box-sizing:border-box;margin:0;padding:0}
|
||||
html,body{height:100%}
|
||||
body{
|
||||
@@ -689,10 +694,28 @@ tbody tr.clickable{cursor:pointer}
|
||||
}
|
||||
#auctionView .auction-tabs-v2{padding-right:0}
|
||||
|
||||
/* Match the temperature header with the right-aligned range values below it. */
|
||||
#sentimentView .sentiment-stage-guide-head > span:nth-child(3){
|
||||
padding-right:12px;
|
||||
/* Keep the stage range label and its current value on one left-aligned axis. */
|
||||
#sentimentCycleView .sentiment-stage-guide-head > span:nth-child(3),
|
||||
#sentimentCycleView .sentiment-stage-guide-grid article .stage-range{
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
/* Sentiment history: numeric columns align right; categorical columns align centrally. */
|
||||
#sentimentCycleView .sentiment-history-table tbody td.number{
|
||||
text-align:right;
|
||||
font-variant-numeric:tabular-nums;
|
||||
}
|
||||
|
||||
/* The history table owns its scrolling; the fixed status bar must not cover its final row. */
|
||||
#sentimentCycleView .sentiment-history-frame{
|
||||
max-height:var(--sentiment-history-max-height);
|
||||
overflow:auto;
|
||||
}
|
||||
#sentimentCycleView .sentiment-history-table .sentiment-history-columns th:nth-child(3),
|
||||
#sentimentCycleView .sentiment-history-table .sentiment-history-columns th:nth-child(4),
|
||||
#sentimentCycleView .sentiment-history-table tbody td:nth-child(3),
|
||||
#sentimentCycleView .sentiment-history-table tbody td:nth-child(4){
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/* Strategy cards select on direct click; the condition dialog stays viewport-centered. */
|
||||
@@ -746,6 +769,54 @@ tbody tr.clickable{cursor:pointer}
|
||||
:is(#limitPool,#brokenView,#downView,#yesterdayView) .tbl-wrap{max-height:var(--pool-table-max-height);overflow:auto}
|
||||
|
||||
@media (min-width:721px){
|
||||
body:is(
|
||||
[data-active-view="sentimentCycleView"],
|
||||
[data-active-view="yesterdayView"]
|
||||
) .app-main{
|
||||
height:var(--workspace-height);
|
||||
min-height:0;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
body:is(
|
||||
[data-active-view="sentimentCycleView"],
|
||||
[data-active-view="yesterdayView"]
|
||||
) .overview-strip{flex:0 0 auto}
|
||||
|
||||
#sentimentCycleView.active-view,
|
||||
#yesterdayView.active-view{
|
||||
min-height:0;
|
||||
flex:1 1 auto;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#sentimentCycleView > :is(.sentiment-cycle-toolbar,#sentimentHistoryNotice,.sentiment-cycle-analysis,.sentiment-detail-toolbar),
|
||||
#yesterdayView > .yesterday-page-head,
|
||||
#yesterdayView .yesterday-result-summary{flex:0 0 auto}
|
||||
|
||||
#sentimentCycleView .sentiment-history-frame{
|
||||
min-height:var(--sentiment-history-min-height);
|
||||
max-height:none;
|
||||
flex:1 1 auto;
|
||||
}
|
||||
|
||||
#yesterdayView .yesterday-table-card{
|
||||
min-height:0;
|
||||
flex:1 1 auto;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
}
|
||||
|
||||
#yesterdayView .yesterday-table-scroll{
|
||||
min-height:0;
|
||||
max-height:none;
|
||||
flex:1 1 auto;
|
||||
}
|
||||
|
||||
body:is(
|
||||
[data-active-view="auctionView"],
|
||||
[data-active-view="themeLibraryView"],
|
||||
@@ -845,7 +916,64 @@ tbody tr.clickable{cursor:pointer}
|
||||
#mentorView .mentor-messages{min-height:0;overflow:auto}
|
||||
}
|
||||
|
||||
@media (min-width:721px) and (max-height:1100px){
|
||||
#sentimentCycleView .sentiment-chart-shell{height:var(--sentiment-chart-compact-height)}
|
||||
#sentimentCycleView .sentiment-chart-shell canvas{height:var(--sentiment-chart-compact-canvas-height)}
|
||||
#sentimentCycleView .sentiment-phase-block{gap:12px;padding:10px 12px}
|
||||
#sentimentCycleView .sentiment-current-phase-badge{padding:8px 12px}
|
||||
#sentimentCycleView .sentiment-phase-advice{margin-top:4px;padding:4px 8px;line-height:1.4}
|
||||
#sentimentCycleView .sentiment-feedback-strip > span{padding:4px 10px}
|
||||
#sentimentCycleView .sentiment-component-list{padding:4px 16px 8px}
|
||||
#sentimentCycleView .sentiment-component-item{padding:4px 0}
|
||||
#sentimentCycleView .sentiment-component-item small{display:none}
|
||||
}
|
||||
|
||||
/* Full-page workspaces: at desktop sizes the page, rather than an inner card,
|
||||
owns vertical scrolling. This keeps dense 1080p screens usable without
|
||||
shrinking the primary content. */
|
||||
@media (min-width:721px){
|
||||
:root body:is(
|
||||
[data-active-view="sentimentCycleView"],
|
||||
[data-active-view="rotationView"],
|
||||
[data-active-view="screenerView"]
|
||||
) .app-main{
|
||||
height:var(--workspace-height);
|
||||
min-height:0;
|
||||
display:block;
|
||||
overflow-x:hidden;
|
||||
overflow-y:auto;
|
||||
}
|
||||
|
||||
:root #sentimentCycleView.active-view,
|
||||
:root #rotationView.active-view,
|
||||
:root #screenerView.active-view{
|
||||
height:auto;
|
||||
min-height:0;
|
||||
display:block;
|
||||
overflow:visible;
|
||||
}
|
||||
|
||||
:root #sentimentCycleView .sentiment-history-frame,
|
||||
:root #rotationView .rotation-history,
|
||||
:root #rotationView .rotation-table-frame,
|
||||
:root #screenerView .screener-result-frame{
|
||||
max-height:none;
|
||||
overflow:visible;
|
||||
}
|
||||
|
||||
:root #rotationView .rotation-trajectory-card,
|
||||
:root #rotationView .rotation-detail-card{
|
||||
min-height:0;
|
||||
margin-top:var(--card-gap);
|
||||
display:block;
|
||||
overflow:visible;
|
||||
}
|
||||
|
||||
:root #rotationView .rotation-page-head{margin-bottom:0}
|
||||
}
|
||||
|
||||
@media (max-width:720px), (max-width:1023px) and (max-height:600px){
|
||||
:root{--sentiment-history-max-height:min(480px,calc(100dvh - 210px))}
|
||||
html,body{width:100%;min-width:var(--mobile-min-width)}
|
||||
body,body.sidebar-collapsed{display:block;padding-bottom:var(--mobile-nav-height)}
|
||||
.main{width:100%;min-width:0;margin-left:0}
|
||||
|
||||
Reference in New Issue
Block a user