@@ -30,6 +30,7 @@ import {
30
30
} from '../../../interfaces/db/view'
31
31
import { useViewHandler } from '../../../lib/hooks/views/viewHandler'
32
32
import { getIconPathOfViewType , isDefaultView } from '../../../lib/views'
33
+ import cc from 'classcat'
33
34
34
35
export interface ViewsSelectorProps {
35
36
selectedViewShortId : string | undefined
@@ -71,7 +72,12 @@ const ViewsSelector = ({
71
72
)
72
73
73
74
return (
74
- < Container className = 'views__selector' >
75
+ < Container
76
+ className = { cc ( [
77
+ 'views__selector' ,
78
+ ! currentUserIsCoreMember && 'views__selector--read-only' ,
79
+ ] ) }
80
+ >
75
81
{ orderedViews . map ( ( view ) => (
76
82
< ButtonGroup className = 'views__item' key = { view . id } >
77
83
< Button
@@ -86,26 +92,28 @@ const ViewsSelector = ({
86
92
>
87
93
{ view . name }
88
94
</ Button >
89
- < Button
90
- variant = 'icon'
91
- iconPath = { mdiDotsHorizontal }
92
- size = 'sm'
93
- className = 'views__item__menu'
94
- onClick = { ( ev ) =>
95
- openContextModal (
96
- ev ,
97
- < ViewContextModal
98
- view = { view }
99
- parent = { parent }
100
- setSelectedViewId = { setSelectedViewShortId }
101
- /> ,
102
- {
103
- removePadding : true ,
104
- width : 300 ,
105
- }
106
- )
107
- }
108
- />
95
+ { currentUserIsCoreMember && (
96
+ < Button
97
+ variant = 'icon'
98
+ iconPath = { mdiDotsHorizontal }
99
+ size = 'sm'
100
+ className = 'views__item__menu'
101
+ onClick = { ( ev ) =>
102
+ openContextModal (
103
+ ev ,
104
+ < ViewContextModal
105
+ view = { view }
106
+ parent = { parent }
107
+ setSelectedViewId = { setSelectedViewShortId }
108
+ /> ,
109
+ {
110
+ removePadding : true ,
111
+ width : 300 ,
112
+ }
113
+ )
114
+ }
115
+ />
116
+ ) }
109
117
</ ButtonGroup >
110
118
) ) }
111
119
{ currentUserIsCoreMember && (
@@ -157,6 +165,10 @@ const Container = styled.div`
157
165
padding-bottom: ${ ( { theme } ) => theme . sizes . spaces . sm } px;
158
166
padding-left: 40px;
159
167
168
+ &.views__selector--read-only .views__item {
169
+ margin: 0 ${ ( { theme } ) => theme . sizes . spaces . sm } px;
170
+ }
171
+
160
172
.views__item {
161
173
align-items: center;
162
174
display: inline-flex;
0 commit comments