feat: refine codex live chat context flows

This commit is contained in:
2026-05-08 21:15:51 +09:00
parent 82c0d8a197
commit 442879313f
92 changed files with 14815 additions and 7314 deletions

View File

@@ -1,8 +1,10 @@
.resource-management-page {
position: relative;
display: grid;
grid-template-columns: minmax(260px, 320px) minmax(320px, 1fr) minmax(360px, 1.08fr);
grid-template-columns: minmax(220px, 0.82fr) minmax(280px, 1fr) minmax(300px, 1.08fr);
gap: 16px;
width: 100%;
min-width: 0;
height: 100%;
min-height: 0;
overflow: hidden;
@@ -17,6 +19,9 @@
.resource-management-page__sidebar,
.resource-management-page__content,
.resource-management-page__preview-card {
width: 100%;
max-width: 100%;
min-width: 0;
min-height: 0;
border-radius: 22px;
overflow: clip;
@@ -39,6 +44,19 @@
.resource-management-page__content .ant-card-head,
.resource-management-page__preview-card .ant-card-head {
min-height: 58px;
min-width: 0;
}
.resource-management-page__sidebar .ant-card-head-wrapper,
.resource-management-page__content .ant-card-head-wrapper,
.resource-management-page__preview-card .ant-card-head-wrapper,
.resource-management-page__sidebar .ant-card-head-title,
.resource-management-page__content .ant-card-head-title,
.resource-management-page__preview-card .ant-card-head-title,
.resource-management-page__sidebar .ant-card-extra,
.resource-management-page__content .ant-card-extra,
.resource-management-page__preview-card .ant-card-extra {
min-width: 0;
}
.resource-management-page__sidebar .ant-card-body,
@@ -53,6 +71,29 @@
height: auto;
}
.resource-management-page__card-title {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.resource-management-page__card-title-text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-management-page__card-title-subtitle {
overflow: hidden;
color: #6b7280;
font-size: 12px;
font-weight: 500;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-management-page__scope-copy {
display: block;
}
@@ -62,6 +103,7 @@
min-height: 0;
overflow: auto;
padding-right: 4px;
scrollbar-gutter: stable;
}
.resource-management-page__tree .ant-tree-node-content-wrapper {
@@ -77,12 +119,18 @@
align-items: center;
justify-content: space-between;
gap: 8px;
width: 100%;
min-width: 0;
overflow: hidden;
user-select: none;
-webkit-user-select: none;
-webkit-touch-callout: none;
}
.resource-management-page__tree-title .ant-btn {
flex: 0 0 auto;
}
.resource-management-page__content {
min-height: 0;
}
@@ -105,6 +153,7 @@
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
min-width: 0;
}
.resource-management-page__toolbar-main,
@@ -115,6 +164,25 @@
flex-wrap: wrap;
}
.resource-management-page__toolbar-main {
flex: 1 1 260px;
min-width: 0;
}
.resource-management-page__toolbar-actions {
flex: 0 1 auto;
}
.resource-management-page__toolbar-path {
min-width: min(100%, 320px);
flex: 1 1 240px;
}
.resource-management-page__toolbar-path .ant-typography {
display: block;
margin-bottom: 0;
}
.resource-management-page__guide {
margin: 0;
}
@@ -138,7 +206,7 @@
.resource-management-page__list-header,
.resource-management-page__list-row {
display: grid;
grid-template-columns: minmax(0, 1fr) 160px 88px 76px;
grid-template-columns: minmax(0, 1.8fr) minmax(116px, 0.95fr) minmax(72px, 0.5fr) 72px;
gap: 12px;
align-items: center;
}
@@ -155,6 +223,7 @@
flex: 1;
min-height: 0;
overflow: auto;
scrollbar-gutter: stable;
}
.resource-management-page__list-row {
@@ -184,13 +253,22 @@
display: flex;
align-items: center;
gap: 8px;
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
}
.resource-management-page__list-meta {
display: contents;
}
.resource-management-page__list-meta > span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-management-page__entry-name-text {
overflow: hidden;
text-overflow: ellipsis;
@@ -206,6 +284,96 @@
padding-bottom: 17px;
}
.resource-management-page__preview-title-file {
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-management-page__preview-meta {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 8px 10px;
min-width: 0;
}
.resource-management-page__preview-meta .ant-typography {
min-width: 0;
max-width: 100%;
margin-bottom: 0;
overflow-wrap: anywhere;
word-break: break-word;
}
.resource-management-page__preview-meta .ant-typography-copy {
overflow-wrap: anywhere;
word-break: break-word;
}
.resource-management-page__preview-tabs {
display: flex;
flex: 1 1 auto;
flex-direction: column;
min-width: 0;
min-height: 0;
}
.resource-management-page__preview-tabs .ant-tabs-nav {
margin-bottom: 10px;
flex: 0 0 auto;
}
.resource-management-page__preview-tabs .ant-tabs-nav-wrap,
.resource-management-page__preview-tabs .ant-tabs-nav-list {
min-width: 0;
}
.resource-management-page__preview-tabs .ant-tabs-content-holder,
.resource-management-page__preview-tabs .ant-tabs-content,
.resource-management-page__preview-tabs .ant-tabs-tabpane {
min-height: 0;
height: 100%;
}
.resource-management-page__preview-tabs .ant-tabs-content-holder {
flex: 1 1 auto;
overflow: hidden;
}
.resource-management-page__preview-tabs .ant-tabs-tabpane-active {
display: flex;
flex-direction: column;
}
.resource-management-page__tab-panel {
display: flex;
flex: 1 1 auto;
flex-direction: column;
min-height: 0;
}
.resource-management-page__editor-panel {
gap: 12px;
overflow: hidden;
padding-bottom: 2px;
}
.resource-management-page__editor.ant-input {
flex: 1 1 auto;
min-height: 0;
height: 100% !important;
padding-bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 10px));
resize: none;
}
.resource-management-page__editor-actions {
flex: 0 0 auto;
align-items: center;
}
.resource-management-page__preview-frame {
width: 100%;
min-height: 0;
@@ -217,12 +385,36 @@
box-sizing: border-box;
}
.resource-management-page__html-preview {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-width: 0;
min-height: 0;
width: 100%;
overflow: hidden;
}
.resource-management-page__html-preview > .resource-management-page__rich-preview {
width: 100%;
min-height: 0;
}
.resource-management-page__html-mode-switch {
margin-left: auto;
}
.resource-management-page__html-mode-switch .ant-btn {
min-width: 64px;
}
.resource-management-page__text-preview {
flex: 1;
min-height: 0;
margin: 0;
padding: 16px;
overflow: auto;
scrollbar-gutter: stable;
border: 0;
border-radius: 16px;
background: #fff;
@@ -236,6 +428,124 @@
word-break: break-word;
}
.resource-management-page__rich-preview {
display: flex;
flex: 1 1 auto;
min-width: 0;
min-height: 0;
overflow: auto;
scrollbar-gutter: stable;
border: 0;
border-radius: 16px;
background: #fff;
box-shadow: inset 0 0 0 1px #d9e1f2;
box-sizing: border-box;
}
.resource-management-page__rich-preview--markdown {
padding: 16px;
}
.resource-management-page__rich-preview--markdown .markdown-preview {
width: 100%;
min-width: 0;
margin-bottom: 0;
overflow-wrap: anywhere;
word-break: break-word;
}
.resource-management-page__rich-preview--markdown .markdown-preview > :last-child {
margin-bottom: 0;
}
.resource-management-page__rich-preview--markdown .markdown-preview p,
.resource-management-page__rich-preview--markdown .markdown-preview li,
.resource-management-page__rich-preview--markdown .markdown-preview a,
.resource-management-page__rich-preview--markdown .markdown-preview code {
overflow-wrap: anywhere;
word-break: break-word;
}
.resource-management-page__rich-preview--markdown .markdown-preview code {
white-space: pre-wrap;
}
.resource-management-page__rich-preview--code {
background: #0f172a;
}
.resource-management-page__rich-preview--code .previewer-ui__editor,
.resource-management-page__rich-preview--code .codex-diff-previewer {
flex: 1 1 auto;
min-height: 0;
height: 100%;
border-radius: 16px;
}
.resource-management-page__rich-preview--code .previewer-ui__editor-body,
.resource-management-page__rich-preview--code .codex-diff-previewer__diff-body,
.resource-management-page__rich-preview--code .codex-diff-previewer__diff-section--expanded .codex-diff-previewer__diff-body {
max-height: none;
}
.resource-management-page__rich-preview--table {
padding: 16px;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table {
width: 100%;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-meta {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
align-items: center;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-scroll {
overflow: auto;
border: 1px solid rgba(148, 163, 184, 0.24);
border-radius: 18px;
background: rgba(255, 255, 255, 0.92);
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid {
width: 100%;
min-width: max-content;
border-collapse: separate;
border-spacing: 0;
font-size: 13px;
line-height: 1.5;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid th,
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid td {
padding: 10px 12px;
text-align: left;
vertical-align: top;
border-bottom: 1px solid rgba(226, 232, 240, 0.92);
white-space: pre-wrap;
word-break: break-word;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid th {
position: sticky;
top: 0;
z-index: 1;
background: #eff6ff;
color: #1e3a8a;
font-weight: 700;
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid tbody tr:nth-child(even) td {
background: rgba(248, 250, 252, 0.82);
}
.resource-management-page__rich-preview--table .app-chat-panel__preview-table-grid tbody tr:last-child td {
border-bottom: 0;
}
.resource-management-page__image-preview {
width: 100%;
max-height: 100%;
@@ -447,13 +757,13 @@
.resource-management-page {
display: flex;
flex-direction: column;
gap: 12px;
gap: 10px;
}
.resource-management-page--mobile {
min-height: 0;
padding-inline: 1px;
padding-bottom: max(10px, calc(env(safe-area-inset-bottom, 0px) + 6px));
padding-inline: 0;
padding-bottom: max(6px, calc(env(safe-area-inset-bottom, 0px) + 2px));
box-sizing: border-box;
}
@@ -464,29 +774,85 @@
}
.resource-management-page__mobile-nav {
position: sticky;
top: 0;
z-index: 2;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
gap: 6px;
flex: 0 0 auto;
padding: 6px;
border-radius: 18px;
background: rgba(244, 247, 252, 0.96);
box-shadow: inset 0 0 0 1px rgba(217, 225, 242, 0.92);
backdrop-filter: blur(12px);
}
.resource-management-page__mobile-card {
display: flex;
flex: 1 1 auto;
min-height: 0;
overflow: hidden;
}
.resource-management-page__mobile-card > .ant-card {
flex: 1 1 auto;
min-height: 0;
height: auto;
height: 100%;
border-radius: 20px;
box-shadow: inset 0 0 0 1px rgba(191, 204, 229, 0.9);
}
.resource-management-page__mobile-nav-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
width: 100%;
min-width: 0;
min-height: 42px;
padding: 10px 8px;
border: 0;
border-radius: 14px;
background: transparent;
color: #52607a;
font: inherit;
font-size: 13px;
font-weight: 600;
transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.resource-management-page__mobile-nav-button:disabled {
color: #9aa4b2;
}
.resource-management-page__mobile-nav-button--active {
background: #ffffff;
color: #0f172a;
box-shadow:
inset 0 0 0 1px rgba(186, 209, 255, 0.92),
0 6px 18px rgba(148, 163, 184, 0.18);
}
.resource-management-page__mobile-nav-button-icon {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
font-size: 14px;
}
.resource-management-page__mobile-nav-button-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-management-page__sidebar .ant-card-body,
.resource-management-page__content .ant-card-body,
.resource-management-page__preview-card .ant-card-body {
padding: 14px;
padding-bottom: 15px;
padding-bottom: 14px;
}
.resource-management-page__list-header {
@@ -527,6 +893,20 @@
min-width: min(208px, calc(100vw - 24px));
}
.resource-management-page__tree {
padding-right: 0;
}
.resource-management-page__tree .ant-tree-treenode,
.resource-management-page__tree .ant-tree-node-content-wrapper {
width: 100%;
min-width: 0;
}
.resource-management-page__tree .ant-tree-switcher {
flex: 0 0 auto;
}
.resource-management-page__toolbar {
align-items: stretch;
}
@@ -536,14 +916,40 @@
width: 100%;
}
.resource-management-page__toolbar-path {
min-width: 100%;
}
.resource-management-page__toolbar-actions .ant-btn {
flex: 1 1 0;
}
.resource-management-page__preview-meta {
flex-direction: column;
align-items: stretch;
gap: 6px;
}
.resource-management-page__preview-meta .ant-typography,
.resource-management-page__preview-meta .ant-space-compact {
width: 100%;
max-width: 100%;
}
.resource-management-page__preview-frame,
.resource-management-page__image-preview,
.resource-management-page__text-preview {
min-height: 220px;
.resource-management-page__text-preview,
.resource-management-page__rich-preview {
min-height: 0;
}
.resource-management-page__html-mode-switch {
margin-left: 0;
width: 100%;
}
.resource-management-page__html-mode-switch .ant-btn {
flex: 1 1 0;
}
.resource-management-page__editor {
@@ -561,7 +967,7 @@
.resource-management-page__preview-card .ant-tabs-content-holder {
overflow: hidden;
padding-bottom: 1px;
padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
box-sizing: border-box;
}
@@ -570,10 +976,26 @@
flex-direction: column;
}
.resource-management-page__editor-panel {
padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 6px);
}
.resource-management-page__editor-actions {
flex-wrap: wrap;
justify-content: space-between;
gap: 8px;
}
.resource-management-page--panel-preview .resource-management-page__preview-card .ant-card-body {
gap: 8px;
}
.resource-management-page--panel-tree .resource-management-page__sidebar,
.resource-management-page--panel-list .resource-management-page__content,
.resource-management-page--panel-preview .resource-management-page__preview-card {
box-shadow: inset 0 0 0 1px rgba(191, 204, 229, 0.9);
}
.resource-management-page__preview-modal-wrap--mobile .ant-modal {
width: 100vw !important;
max-width: 100vw;