@@ -4,14 +4,88 @@ import { connect } from 'react-redux';
44import { Link } from 'react-router-dom' ;
55import { bindActionCreators } from 'redux' ;
66import { withTranslation } from 'react-i18next' ;
7+ import styled from 'styled-components' ;
78import MenuItem from '../../../../components/Dropdown/MenuItem' ;
89import TableDropdown from '../../../../components/Dropdown/TableDropdown' ;
910import * as ProjectActions from '../../actions/project' ;
1011import * as CollectionsActions from '../../actions/collections' ;
1112import * as IdeActions from '../../actions/ide' ;
1213import * as ToastActions from '../../actions/toast' ;
1314import dates from '../../../../utils/formatDate' ;
15+ import { remSize , prop } from '../../../../theme' ;
1416
17+ const SketchsTableRow = styled . tr `
18+ &&& {
19+ margin: ${ remSize ( 10 ) } ;
20+ height: ${ remSize ( 72 ) } ;
21+ font-size: ${ remSize ( 16 ) } ;
22+ }
23+ &:nth-child(odd) {
24+ background: ${ prop ( 'tableRowStripeColor' ) } ;
25+ }
26+
27+ > th:nth-child(1) {
28+ padding-left: ${ remSize ( 12 ) } ;
29+ }
30+
31+ > td {
32+ padding-left: ${ remSize ( 8 ) } ;
33+ }
34+
35+ a {
36+ color: ${ prop ( 'primaryTextColor' ) } ;
37+ }
38+
39+ &.is-deleted > * {
40+ font-style: italic;
41+ }
42+ @media (max-width: 770px) {
43+ &&& {
44+ margin: 0;
45+ position: relative;
46+ display: flex;
47+ flex-wrap: wrap;
48+ padding: ${ remSize ( 15 ) } ;
49+ height: fit-content;
50+ gap: ${ remSize ( 8 ) } ;
51+ border: 1px solid ${ prop ( 'modalBorderColor' ) } ;
52+ background-color: ${ prop ( 'searchBackgroundColor' ) } ;
53+ > th {
54+ padding-left: 0;
55+ width: 100%;
56+ font-weight: bold;
57+ margin-bottom: ${ remSize ( 6 ) } ;
58+ }
59+ > td {
60+ padding-left: 0;
61+ width: 30%;
62+ font-size: ${ remSize ( 14 ) } ;
63+ color: ${ prop ( 'modalBorderColor' ) } ;
64+ }
65+ }
66+ }
67+ ` ;
68+ const SketchesTableName = styled . span `
69+ &&& {
70+ display: flex;
71+ align-items: center;
72+ }
73+ ` ;
74+ const SketchlistDropdownColumn = styled . td `
75+ &&& {
76+ position: relative;
77+ width: ${ remSize ( 60 ) } ;
78+ }
79+ @media (max-width: 770px) {
80+ &&& {
81+ position: absolute;
82+ top: 0;
83+ right: ${ remSize ( 4 ) } ;
84+ width: auto !important;
85+ margin: ${ remSize ( 8 ) } ;
86+ }
87+ }
88+ ` ;
1589const formatDateCell = ( date , mobile = false ) =>
1690 dates . format ( date , { showTime : ! mobile } ) ;
1791
@@ -66,6 +140,7 @@ const CollectionListRowBase = (props) => {
66140
67141 const handleRenameEnter = ( e ) => {
68142 if ( e . key === 'Enter' ) {
143+ e . preventDefault ( ) ;
69144 updateName ( ) ;
70145 closeAll ( ) ;
71146 }
@@ -113,7 +188,7 @@ const CollectionListRowBase = (props) => {
113188 < input
114189 value = { renameValue }
115190 onChange = { handleRenameChange }
116- onKeyUp = { handleRenameEnter }
191+ onKeyDown = { handleRenameEnter }
117192 onBlur = { handleRenameBlur }
118193 onClick = { ( e ) => e . stopPropagation ( ) }
119194 ref = { renameInput }
@@ -126,18 +201,18 @@ const CollectionListRowBase = (props) => {
126201 const { collection, mobile } = props ;
127202
128203 return (
129- < tr className = "sketches-table__row" key = { collection . id } >
204+ < SketchsTableRow key = { collection . id } >
130205 < th scope = "row" >
131- < span className = "sketches-table__name" > { renderCollectionName ( ) } </ span >
206+ < SketchesTableName > { renderCollectionName ( ) } </ SketchesTableName >
132207 </ th >
133208 < td > { formatDateCell ( collection . createdAt , mobile ) } </ td >
134209 < td > { formatDateCell ( collection . updatedAt , mobile ) } </ td >
135210 < td >
136211 { mobile && 'sketches: ' }
137212 { ( collection . items || [ ] ) . length }
138213 </ td >
139- < td className = "sketch-list__dropdown-column" > { renderActions ( ) } </ td >
140- </ tr >
214+ < SketchlistDropdownColumn > { renderActions ( ) } </ SketchlistDropdownColumn >
215+ </ SketchsTableRow >
141216 ) ;
142217} ;
143218
0 commit comments