feat: EC2 UI polished + storage persisting

This commit is contained in:
Zakaria
2026-09-25 18:18:33 -04:00
parent 1b129e9dcf
commit 093afb9b2b
40 changed files with 2586 additions and 102 deletions
+216
View File
@@ -2284,6 +2284,185 @@ pre,
border-top: 1px solid var(--border);
}
.ami-catalog {
display: grid;
gap: 12px;
margin-top: 6px;
padding: 14px;
border: 1px solid var(--border);
border-radius: 6px;
background: var(--surface);
}
.ami-search {
position: relative;
}
.ami-search svg {
position: absolute;
top: 50%;
left: 10px;
color: var(--text-3);
pointer-events: none;
transform: translateY(-50%);
}
.ami-search .input {
width: 100%;
padding-left: 32px;
}
.ami-catalog-heading {
color: var(--text-1);
font-size: 13px;
font-weight: 700;
}
.ami-quick-start-grid {
display: grid;
grid-template-columns: repeat(6, minmax(100px, 1fr));
gap: 10px;
}
.ami-quick-start-tile {
display: grid;
grid-template-rows: 42px auto auto;
justify-items: center;
gap: 5px;
min-width: 0;
padding: 12px 8px 10px;
border: 1px solid var(--border);
border-radius: 5px;
color: var(--text-1);
background: var(--raised);
cursor: pointer;
}
.ami-quick-start-tile:hover {
border-color: var(--link);
background: var(--surface);
}
.ami-quick-start-tile.selected {
border-color: var(--link);
box-shadow: inset 0 0 0 1px var(--link);
}
.ami-quick-start-tile.unavailable {
cursor: not-allowed;
opacity: 0.5;
}
.ami-quick-start-tile.unavailable:hover {
border-color: var(--border);
background: var(--raised);
}
.ami-quick-start-tile img {
width: 42px;
height: 42px;
object-fit: contain;
}
.ami-quick-start-tile span {
overflow: hidden;
max-width: 100%;
font-size: 12px;
font-weight: 600;
text-overflow: ellipsis;
white-space: nowrap;
}
.ami-quick-start-tile small {
color: var(--text-3);
font-size: 10px;
}
.ami-browser-toggle {
justify-self: start;
padding: 0;
border: 0;
color: var(--link);
font: inherit;
font-size: 12px;
font-weight: 600;
background: transparent;
cursor: pointer;
}
.ami-browser-list {
display: grid;
gap: 2px;
max-height: 220px;
overflow-y: auto;
padding: 5px 8px;
border: 1px solid var(--border);
border-radius: 4px;
}
.ami-browser-item {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
padding: 6px 2px;
font-size: 12px;
cursor: pointer;
}
.ami-browser-item input {
accent-color: var(--link);
}
.ami-browser-item > span {
display: flex;
align-items: center;
gap: 6px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ami-browser-item b {
display: inline-grid;
flex: 0 0 auto;
width: 20px;
height: 20px;
place-items: center;
border-radius: 3px;
color: #fff;
font-size: 11px;
}
.ami-browser-item code {
color: var(--text-3);
font-size: 10px;
}
@media (max-width: 900px) {
.ami-quick-start-grid {
grid-template-columns: repeat(3, minmax(110px, 1fr));
}
}
@media (max-width: 520px) {
.ami-catalog {
padding: 10px;
}
.ami-quick-start-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ami-browser-item {
grid-template-columns: auto minmax(0, 1fr);
}
.ami-browser-item code {
grid-column: 2;
}
}
.sg-checklist {
display: flex;
flex-direction: column;
@@ -2581,6 +2760,43 @@ pre,
justify-self: start;
}
.sns-topic-workspace {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
align-items: start;
}
.sns-topic-workspace .table-panel {
min-width: 0;
}
.sns-topic-summary {
display: flex;
justify-content: space-between;
gap: 12px;
color: var(--muted);
font-size: 12px;
}
.sns-publish-form .dynamic-field--span {
grid-column: 1 / -1;
}
.sns-publish-form .code-textarea {
min-height: 132px;
}
.sns-publish-form .code-textarea.small {
min-height: 88px;
}
@media (max-width: 900px) {
.sns-topic-workspace {
grid-template-columns: minmax(0, 1fr);
}
}
.apigateway-route-form .dynamic-field {
grid-template-rows: 14px 30px minmax(15px, auto);
}