Files
fusion/packages/dashboard/app/components/ResearchView.css
gsxdsm 10208ecd63 FN-6764: make research and insights tablet layouts full width
Research and Insights now reflow at tablet widths to avoid cut-off content while preserving mobile and desktop behavior.

- Add tablet-specific full-width Research layout rules with shrink-safe reader/history containers.
- Add tablet-specific Insights layout rules that stack the category rail above the detail pane.
- Cover Research and Insights responsive CSS contracts across desktop, mobile, and tablet tiers.

Files changed:
 packages/dashboard/app/components/InsightsView.css | 67 ++++++++++++++++++++++
 packages/dashboard/app/components/ResearchView.css | 47 +++++++++++++++
 .../app/components/__tests__/InsightsView.test.tsx | 20 +++++++
 .../app/components/__tests__/ResearchView.test.tsx | 13 +++++
 4 files changed, 147 insertions(+)

Fusion-Task-Id: FN-6764

Fusion-Task-Lineage: ed528038-e69b-4794-9885-fb3b5f47b3ed
2026-06-20 01:27:54 -07:00

343 lines
6.5 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.research-view {
display: flex;
flex-direction: column;
gap: var(--space-md);
height: 100%;
min-height: 0;
overflow: hidden;
padding: var(--space-lg);
padding-bottom: var(--space-lg);
}
.research-view__header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: var(--space-md);
min-width: 0;
}
.research-view__header-actions {
flex-shrink: 0;
}
.research-view__title {
margin: 0;
}
.research-view__subtitle {
margin: var(--space-xs) 0 0;
color: var(--text-muted);
}
.research-view__layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
gap: var(--space-md);
min-height: 0;
flex: 1;
overflow: hidden;
}
.research-view__sidebar,
.research-view__reader {
padding: var(--space-md);
display: flex;
flex-direction: column;
gap: var(--space-md);
min-height: 0;
min-width: 0;
overflow: hidden;
}
.research-view__sidebar-content {
display: flex;
flex: 1;
flex-direction: column;
gap: var(--space-md);
min-height: 0;
}
.research-view__reader {
overflow: auto;
}
.research-view__reader-content {
display: flex;
flex-direction: column;
gap: var(--space-md);
min-height: 0;
}
.research-view__run-detail {
display: flex;
flex-direction: column;
gap: var(--space-md);
min-height: 0;
}
.research-view__form {
display: flex;
flex-direction: column;
gap: var(--space-sm);
flex-shrink: 0;
}
.research-view__form .form-group,
.research-view__history-header.form-group,
.research-view__actions .form-group {
margin: 0;
padding: 0;
}
.research-view__textarea {
min-height: calc(var(--space-2xl) * 3);
resize: vertical;
}
.research-view__providers {
display: grid;
gap: var(--space-xs);
}
.research-view__provider-lock {
margin-left: var(--space-xs);
color: var(--text-muted);
}
.research-view__history-header {
display: flex;
flex-direction: column;
align-items: stretch;
gap: var(--space-xs);
flex-shrink: 0;
}
.research-view__history-search-row {
display: flex;
align-items: center;
gap: var(--space-xs);
min-width: 0;
}
.research-view__history-search-row .input {
flex: 1;
min-width: 0;
}
.research-view__history {
display: flex;
flex-direction: column;
gap: var(--space-xs);
flex: 1;
min-height: 0;
overflow: auto;
}
.research-view__history-item {
text-align: left;
padding: var(--space-sm);
min-height: calc(var(--space-lg) * 2 + var(--space-xs));
display: flex;
flex-direction: column;
justify-content: center;
gap: var(--space-xs);
cursor: pointer;
}
.research-view__history-item--active {
border-color: var(--todo);
box-shadow: var(--focus-ring);
}
.research-view__status-row {
display: flex;
align-items: center;
gap: var(--space-xs);
text-transform: capitalize;
}
.research-view__run-title,
.research-view__run-query,
.research-view__run-summary {
margin: 0;
}
.research-view__run-query {
color: var(--text-muted);
}
.research-view__actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-xs);
margin-top: var(--space-sm);
}
.research-view__citations {
margin: var(--space-sm) 0 0;
padding-left: var(--space-lg);
display: flex;
flex-direction: column;
gap: var(--space-xs);
}
.research-view__citations a {
color: var(--text);
}
.research-view__error {
color: var(--color-error);
}
.research-view__findings {
display: flex;
flex-direction: column;
gap: var(--space-sm);
}
.research-view__finding {
padding: var(--space-sm);
}
.research-view__finding h4,
.research-view__finding p {
margin: 0;
}
.research-view__finding-actions {
margin-top: var(--space-sm);
}
.research-view__events {
margin: var(--space-sm) 0 0;
padding-left: var(--space-lg);
}
.research-view__stats {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-sm);
margin-top: var(--space-sm);
padding-top: var(--space-sm);
border-top: var(--btn-border-width) solid var(--border);
}
.research-view__stat-card {
border: var(--btn-border-width) solid var(--border);
border-radius: var(--radius-sm);
padding: var(--space-sm);
background: var(--surface);
}
.research-view__stat-label {
color: var(--text-muted);
text-transform: uppercase;
}
.research-view__stat-value {
font-family: var(--font-mono);
}
.research-view__state--error {
border-color: var(--color-error);
}
@media (max-width: 768px) {
.research-view {
overflow-y: auto;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
padding: var(--space-md);
padding-bottom: calc(var(--space-md) + var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + var(--standalone-bottom-gap));
}
.research-view__layout {
display: flex;
flex-direction: column;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-md);
flex: initial;
min-height: auto;
overflow: visible;
}
.research-view__sidebar,
.research-view__reader,
.research-view__sidebar-content,
.research-view__reader-content {
min-height: auto;
overflow: visible;
}
.research-view__history {
flex: initial;
min-height: auto;
overflow: visible;
}
.research-view__header {
flex-direction: column;
}
.research-view__header-actions {
align-self: flex-start;
}
.research-view__stats {
grid-template-columns: minmax(0, 1fr);
}
.research-view__history-item {
min-height: calc(var(--space-lg) * 2 + var(--space-sm));
}
}
/*
FNXC:ResearchView 2026-06-20-00:33:
Research tablets at 769px–1024px were inheriting the desktop two-column grid, leaving the reader cramped inside the .project-content flex chain. Reflow to one full-width column while preserving internal history and reader scroll containers so the document itself does not overflow horizontally.
*/
@media (min-width: 769px) and (max-width: 1024px) {
.research-view {
flex: 1;
inline-size: 100%;
min-inline-size: 0;
min-block-size: 0;
overflow: hidden;
}
.research-view__layout {
display: flex;
flex-direction: column;
grid-template-columns: minmax(0, 1fr);
inline-size: 100%;
min-width: 0;
min-inline-size: 0;
min-block-size: 0;
overflow: hidden;
}
.research-view__sidebar,
.research-view__reader,
.research-view__sidebar-content,
.research-view__reader-content {
min-width: 0;
min-inline-size: 0;
min-block-size: 0;
}
.research-view__sidebar {
flex: 0 1 auto;
}
.research-view__reader {
flex: 1 1 0;
overflow: auto;
}
.research-view__history {
overflow: auto;
}
}