diff --git a/packages/console/app/src/component/modal.css b/packages/console/app/src/component/modal.css index e71fd1a192..cc7708bba8 100644 --- a/packages/console/app/src/component/modal.css +++ b/packages/console/app/src/component/modal.css @@ -64,4 +64,16 @@ color: var(--color-text); text-align: center; } + + [data-slot="content"][data-variant="black"] { + background-color: #000; + border-color: rgba(255, 255, 255, 0.17); + color: rgba(255, 255, 255, 0.92); + font-family: var(--font-mono); + + [data-slot="title"] { + color: rgba(255, 255, 255, 0.92); + font-family: var(--font-mono); + } + } } diff --git a/packages/console/app/src/component/modal.tsx b/packages/console/app/src/component/modal.tsx index 37325a6f3a..8cac8c4ce7 100644 --- a/packages/console/app/src/component/modal.tsx +++ b/packages/console/app/src/component/modal.tsx @@ -6,6 +6,7 @@ interface ModalProps { open: boolean onClose: () => void title?: string + variant?: "black" children: JSX.Element } @@ -24,6 +25,7 @@ export function Modal(props: ModalProps) { e.stopPropagation()} onOpenAutoFocus={(e) => { e.preventDefault() diff --git a/packages/console/app/src/routes/black.css b/packages/console/app/src/routes/black.css index 4031a78fc3..fa78eee560 100644 --- a/packages/console/app/src/routes/black.css +++ b/packages/console/app/src/routes/black.css @@ -701,64 +701,6 @@ } } - [data-slot="workspace-picker"] { - [data-slot="workspace-list"] { - width: 100%; - padding: 0; - margin: 0; - list-style: none; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 8px; - align-self: stretch; - outline: none; - overflow-y: auto; - max-height: 240px; - scrollbar-width: none; - - &::-webkit-scrollbar { - display: none; - } - - [data-slot="workspace-item"] { - width: 100%; - display: flex; - padding: 8px 12px; - align-items: center; - gap: 8px; - align-self: stretch; - cursor: pointer; - - [data-slot="selected-icon"] { - visibility: hidden; - color: rgba(255, 255, 255, 0.39); - font-family: "IBM Plex Mono", monospace; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; - } - - span:last-child { - color: rgba(255, 255, 255, 0.92); - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 160%; - } - - &:hover, - &[data-active="true"] { - background: #161616; - - [data-slot="selected-icon"] { - visibility: visible; - } - } - } - } - } } } @@ -839,3 +781,64 @@ } } } + +[data-component="black-workspace-picker-modal"] { + font-family: var(--font-mono); + + [data-slot="workspace-list"] { + width: 100%; + padding: 0; + margin: 0; + list-style: none; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 8px; + align-self: stretch; + outline: none; + overflow-y: auto; + max-height: 240px; + scrollbar-width: none; + + &::-webkit-scrollbar { + display: none; + } + } + + [data-slot="workspace-item"] { + width: 100%; + display: flex; + padding: 8px 12px; + align-items: center; + gap: 8px; + align-self: stretch; + cursor: pointer; + + [data-slot="selected-icon"] { + visibility: hidden; + color: rgba(255, 255, 255, 0.39); + font-family: "IBM Plex Mono", monospace; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 160%; + } + + span:last-child { + color: rgba(255, 255, 255, 0.92); + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 160%; + } + + &:hover, + &[data-active="true"] { + background: #161616; + + [data-slot="selected-icon"] { + visibility: visible; + } + } + } +} diff --git a/packages/console/app/src/routes/black/subscribe/[plan].tsx b/packages/console/app/src/routes/black/subscribe/[plan].tsx index 52e6408761..c29c5fac80 100644 --- a/packages/console/app/src/routes/black/subscribe/[plan].tsx +++ b/packages/console/app/src/routes/black/subscribe/[plan].tsx @@ -444,8 +444,13 @@ export default function BlackSubscribe() { {/* Workspace picker modal */} - {}} title={i18n.t("black.workspace.selectPlan")}> -
+ {}} + title={i18n.t("black.workspace.selectPlan")} + variant="black" + > +
    setStore("showForm", false)} title={i18n.t("workspace.modal.title")}> -
    -
    - -
    - - +
    + +
    + +
    + + +
    -
    - + +
    ) diff --git a/packages/console/app/src/routes/workspace/[id]/go/lite-section.module.css b/packages/console/app/src/routes/workspace/[id]/go/lite-section.module.css index 8f9df58405..3c145de75f 100644 --- a/packages/console/app/src/routes/workspace/[id]/go/lite-section.module.css +++ b/packages/console/app/src/routes/workspace/[id]/go/lite-section.module.css @@ -224,6 +224,48 @@ gap: 4px; } +} + +.paymentMethodModal { + button { + padding: var(--space-3) var(--space-4); + border: 1px solid var(--color-border); + border-radius: var(--border-radius-sm); + background-color: var(--color-bg); + color: var(--color-text); + font-size: var(--font-size-sm); + font-family: var(--font-sans); + font-weight: 500; + cursor: pointer; + transition: all 0.15s ease; + + &:hover:not(:disabled) { + background-color: var(--color-surface-hover); + border-color: var(--color-accent); + } + + &:active { + transform: translateY(1px); + } + + &:disabled { + opacity: 0.5; + transform: none; + } + + &[data-color="ghost"] { + background-color: transparent; + border-color: transparent; + color: var(--color-text-muted); + + &:hover:not(:disabled) { + background-color: var(--color-surface-hover); + border-color: var(--color-border); + color: var(--color-text); + } + } + } + [data-slot="modal-actions"] { display: flex; gap: var(--space-3); diff --git a/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx b/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx index 80be803d3e..4d64deb1b3 100644 --- a/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx +++ b/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx @@ -345,31 +345,33 @@ export function LiteSection() { onClose={() => setStore("showModal", false)} title={i18n.t("workspace.lite.promo.selectMethod")} > -
    - - +
    +
    + + +