Rework invite creation as guided flow
This commit is contained in:
@@ -5066,6 +5066,302 @@ button:hover:not(:disabled) {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
.invite-flow-heading {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.invite-flow-heading h2,
|
||||
.invite-created-card h3,
|
||||
.invite-flow-step h3 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.invite-flow-heading .lede {
|
||||
margin: 4px 0 0;
|
||||
}
|
||||
|
||||
.invite-flow-form {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.invite-flow-route {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
margin: 0 0 4px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.invite-flow-route li {
|
||||
position: relative;
|
||||
display: flex;
|
||||
gap: 9px;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(138, 155, 185, 0.18);
|
||||
background: rgba(255, 255, 255, 0.015);
|
||||
color: #77849a;
|
||||
}
|
||||
|
||||
.invite-flow-route li span {
|
||||
color: #718095;
|
||||
font-family: var(--font-mono), monospace;
|
||||
font-size: 0.68rem;
|
||||
}
|
||||
|
||||
.invite-flow-route li strong {
|
||||
overflow: hidden;
|
||||
font-size: 0.76rem;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.invite-flow-route li.is-active {
|
||||
border-color: rgba(126, 215, 255, 0.5);
|
||||
background: linear-gradient(135deg, rgba(14, 165, 233, 0.14), rgba(35, 74, 119, 0.11));
|
||||
color: #edf8ff;
|
||||
box-shadow: inset 0 2px 0 rgba(126, 215, 255, 0.75);
|
||||
}
|
||||
|
||||
.invite-flow-route li.is-active span,
|
||||
.invite-flow-route li.is-complete span {
|
||||
color: #7ed7ff;
|
||||
}
|
||||
|
||||
.invite-flow-route li.is-complete {
|
||||
border-color: rgba(72, 224, 178, 0.28);
|
||||
color: #c9d7e5;
|
||||
}
|
||||
|
||||
.invite-flow-step {
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(138, 155, 185, 0.18);
|
||||
background: linear-gradient(145deg, rgba(31, 43, 65, 0.82), rgba(20, 29, 45, 0.82));
|
||||
}
|
||||
|
||||
.invite-flow-step.is-active {
|
||||
border-color: rgba(126, 215, 255, 0.38);
|
||||
box-shadow: inset 0 2px 0 rgba(126, 215, 255, 0.7);
|
||||
}
|
||||
|
||||
.invite-flow-step.is-complete {
|
||||
border-color: rgba(72, 224, 178, 0.24);
|
||||
}
|
||||
|
||||
.invite-flow-step > header {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: flex-start;
|
||||
padding: 16px;
|
||||
border-bottom: 1px solid rgba(138, 155, 185, 0.14);
|
||||
}
|
||||
|
||||
.invite-flow-step > header > div {
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
}
|
||||
|
||||
.invite-flow-step > header p {
|
||||
margin: 0;
|
||||
color: #aeb8c7;
|
||||
font-size: 0.78rem;
|
||||
}
|
||||
|
||||
.invite-flow-number {
|
||||
display: grid;
|
||||
flex: 0 0 34px;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
place-items: center;
|
||||
border: 1px solid rgba(126, 215, 255, 0.4);
|
||||
border-radius: 50%;
|
||||
color: #7ed7ff;
|
||||
font-family: var(--font-mono), monospace;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.invite-flow-fields {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.invite-flow-fields > label,
|
||||
.invite-flow-field-grid > label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.invite-flow-fields label > span:first-child,
|
||||
.invite-flow-field-grid label > span:first-child {
|
||||
color: #cbd5e3;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.035em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.invite-flow-fields input:not([type='checkbox']),
|
||||
.invite-flow-fields select,
|
||||
.invite-flow-fields textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.invite-flow-fields label > small {
|
||||
color: #8f9caf;
|
||||
font-size: 0.7rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.invite-flow-field-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.invite-flow-choice-line,
|
||||
.invite-status-control {
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
gap: 10px !important;
|
||||
align-items: flex-start;
|
||||
padding: 12px;
|
||||
border: 1px solid rgba(138, 155, 185, 0.2);
|
||||
background: rgba(255, 255, 255, 0.02);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.invite-flow-choice-line > input,
|
||||
.invite-status-control > input {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.invite-flow-choice-line > span,
|
||||
.invite-status-control > span {
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
text-transform: none !important;
|
||||
}
|
||||
|
||||
.invite-flow-choice-line strong,
|
||||
.invite-status-control strong {
|
||||
color: #e8edf5;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.invite-flow-choice-line small,
|
||||
.invite-status-control small {
|
||||
color: #9ba8ba;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 400;
|
||||
letter-spacing: normal;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.invite-flow-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.invite-policy-note,
|
||||
.invite-delivery-summary {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
padding: 12px;
|
||||
border: 1px solid rgba(72, 224, 178, 0.2);
|
||||
background: rgba(72, 224, 178, 0.055);
|
||||
}
|
||||
|
||||
.invite-policy-note strong,
|
||||
.invite-delivery-summary strong {
|
||||
color: #dffaf1;
|
||||
font-size: 0.78rem;
|
||||
}
|
||||
|
||||
.invite-policy-note span,
|
||||
.invite-delivery-summary span {
|
||||
color: #9fb4b5;
|
||||
font-size: 0.72rem;
|
||||
}
|
||||
|
||||
.invite-delivery-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.invite-delivery-grid > button {
|
||||
display: grid;
|
||||
gap: 5px;
|
||||
min-height: 112px;
|
||||
padding: 14px;
|
||||
border-color: rgba(138, 155, 185, 0.2);
|
||||
background: rgba(255, 255, 255, 0.018);
|
||||
color: #cbd5e3;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.invite-delivery-grid > button strong {
|
||||
color: #f2f6fb;
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
|
||||
.invite-delivery-grid > button small {
|
||||
color: #98a5b7;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.invite-delivery-grid > button.is-selected {
|
||||
border-color: rgba(126, 215, 255, 0.58);
|
||||
background: linear-gradient(145deg, rgba(14, 165, 233, 0.16), rgba(35, 74, 119, 0.13));
|
||||
box-shadow: inset 0 2px 0 #7ed7ff;
|
||||
}
|
||||
|
||||
.invite-status-control {
|
||||
border-color: rgba(255, 197, 109, 0.27);
|
||||
background: rgba(255, 197, 109, 0.045);
|
||||
}
|
||||
|
||||
.invite-created-card {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
padding: 18px;
|
||||
border: 1px solid rgba(72, 224, 178, 0.38);
|
||||
background: linear-gradient(145deg, rgba(72, 224, 178, 0.1), rgba(20, 29, 45, 0.72));
|
||||
box-shadow: inset 0 2px 0 rgba(72, 224, 178, 0.72);
|
||||
}
|
||||
|
||||
.invite-created-card p {
|
||||
margin: 0;
|
||||
color: #b7c5d4;
|
||||
}
|
||||
|
||||
.invite-created-card > .ghost-button {
|
||||
justify-self: start;
|
||||
}
|
||||
|
||||
.invite-created-link {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.invite-created-link input {
|
||||
min-width: 0;
|
||||
font-family: var(--font-mono), monospace;
|
||||
}
|
||||
|
||||
.invite-email-template-picker {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -5140,6 +5436,10 @@ button:hover:not(:disabled) {
|
||||
.invite-form-row-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.invite-flow-field-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
@@ -5210,6 +5510,29 @@ button:hover:not(:disabled) {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 680px) {
|
||||
.invite-flow-heading {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.invite-flow-route {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.invite-delivery-grid,
|
||||
.invite-created-link {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.invite-flow-actions {
|
||||
justify-content: stretch;
|
||||
}
|
||||
|
||||
.invite-flow-actions button {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
}
|
||||
|
||||
/* Enterprise UI tightening pass */
|
||||
.admin-panel,
|
||||
.user-detail-panel,
|
||||
|
||||
Reference in New Issue
Block a user