mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-10 02:03:07 +08:00
281e458d39
Summary: Adds the new Account preferences page. This consists of two major React components, PreferencesAccountList and PreferencesAccountDetails, both of which use EditableList. I added a bunch of fixes and updated the API for EditableList, plus a bit of refactoring for PreferencesAccount component, and a bunch of CSS so its a big diff. The detailed changelog: Updates to EditableList: - Fix bug updating selection state when arrows pressed to move selection - Add new props: - allowEmptySelection to allow the list to have no selection - createInputProps to pass aditional props to the createInput - Add scroll region for list items - Update styles and refactor render methods Other Updates: - Updates Account model to hold aliases and a label - Adds getter for label to default to email - Update accountswitcher to display label, update styles and spec - Refactor PreferencesAccounts component: - Splits it into smaller components, - Removes unused code - Splits preferences styelsheets into smaller separate stylesheet for account page. Adds some updates and fixes (scroll-region padding) - Update AccountStore to be able to perform updates on an account. - Adds new Action to update account, and an action to remove account to be consistent with Action usage - Adds components for Account list and Aliases list using EditableList Test Plan: - All specs pass, but need to write new tests! Reviewers: bengotow, evan Reviewed By: bengotow Differential Revision: https://phab.nylas.com/D2332
83 lines
1.8 KiB
Text
83 lines
1.8 KiB
Text
@import "ui-variables";
|
|
|
|
.nylas-editable-list {
|
|
|
|
.items-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border: 1px solid @border-secondary-bg;
|
|
background-color: @background-primary;
|
|
height: 90px;
|
|
font-size: 0.9em;
|
|
|
|
.selected {
|
|
background-color: @component-active-color;
|
|
color: @component-active-bg;
|
|
}
|
|
|
|
.edit-icon {
|
|
display: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.editable-item {
|
|
padding: (@padding-small-vertical - 1) @padding-small-horizontal;
|
|
cursor: default;
|
|
border-bottom: 1px solid @border-color-divider;
|
|
flex-shrink: 0;
|
|
|
|
&.selected.with-edit-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
padding-right: 20px;
|
|
|
|
img.edit-icon {
|
|
display: inline;
|
|
background-color: @component-active-bg;
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
|
|
&>input {
|
|
border: none;
|
|
padding: 0;
|
|
font-size: inherit;
|
|
background-color: @component-active-color;
|
|
color: @component-active-bg;
|
|
}
|
|
::-webkit-input-placeholder {
|
|
color: @text-color-inverse-very-subtle;
|
|
}
|
|
}
|
|
|
|
.create-item-input {
|
|
&>input {
|
|
padding: (@padding-small-vertical - 1) @padding-small-horizontal;
|
|
border: none;
|
|
border-bottom: 1px solid @border-color-divider;
|
|
font-size: inherit;
|
|
}
|
|
::-webkit-input-placeholder {
|
|
font-style: italic;
|
|
}
|
|
}
|
|
}
|
|
|
|
.buttons-wrapper {
|
|
display: flex;
|
|
border: 1px solid @border-secondary-bg;
|
|
border-top: none;
|
|
background-color: @background-secondary;
|
|
|
|
.btn-editable-list {
|
|
display: flex;
|
|
justify-content: center;
|
|
height: 25px;
|
|
width: 25px;
|
|
border-right: 1px solid #dddddd;
|
|
font-size: 1em;
|
|
cursor: default;
|
|
color: @text-color-subtle;
|
|
}
|
|
}
|
|
}
|