@@ -27,12 +27,8 @@ const EnvironmentsTable: React.FC<EnvironmentsTableProps> = ({
27
27
window . open ( auditUrl , '_blank' ) ;
28
28
} ;
29
29
30
- // Handle row click with license check
30
+ // Handle row click - allow navigation to all environments including unlicensed
31
31
const handleRowClick = ( env : Environment ) => {
32
- if ( env . isLicensed === false ) {
33
- // Prevent navigation for unlicensed environments
34
- return ;
35
- }
36
32
onRowClick ( env ) ;
37
33
} ;
38
34
@@ -109,48 +105,53 @@ const EnvironmentsTable: React.FC<EnvironmentsTableProps> = ({
109
105
return (
110
106
< Col xs = { 24 } sm = { 24 } md = { 12 } lg = { 8 } xl = { 8 } key = { env . environmentId } >
111
107
< Card
112
- hoverable = { isAccessible }
108
+ hoverable
113
109
style = { {
114
110
borderRadius : '8px' ,
115
111
overflow : 'hidden' ,
116
112
height : '100%' ,
117
- cursor : isAccessible ? 'pointer' : 'not-allowed ',
113
+ cursor : 'pointer' ,
118
114
transition : 'all 0.3s ease' ,
119
115
boxShadow : '0 1px 3px rgba(0,0,0,0.02)' ,
120
116
border : '1px solid #f0f0f0' ,
121
- opacity : isAccessible ? 1 : 0.6 ,
122
117
position : 'relative'
123
118
} }
124
119
bodyStyle = { { padding : '20px' } }
125
120
onClick = { ( ) => handleRowClick ( env ) }
126
121
>
127
- { /* License status overlay for non-licensed environments */ }
122
+ { /* Subtle overlay for unlicensed environments */ }
128
123
{ ! isAccessible && (
129
124
< div style = { {
130
125
position : 'absolute' ,
131
126
top : 0 ,
132
127
left : 0 ,
133
128
right : 0 ,
134
129
bottom : 0 ,
135
- background : 'rgba(255, 255, 255, 0.8)' ,
136
- display : 'flex' ,
137
- alignItems : 'center' ,
138
- justifyContent : 'center' ,
130
+ background : 'rgba(255, 255, 255, 0.15)' ,
131
+ backdropFilter : 'blur(0.5px)' ,
139
132
zIndex : 1 ,
140
- flexDirection : 'column' ,
141
- gap : '8px'
133
+ display : 'flex' ,
134
+ alignItems : 'flex-start' ,
135
+ justifyContent : 'flex-end' ,
136
+ padding : '12px'
142
137
} } >
143
- < div style = { { fontSize : '24px' , color : licenseDisplay . color } } >
138
+ { /* Not Licensed Badge */ }
139
+ < div style = { {
140
+ background : licenseDisplay . color ,
141
+ color : 'white' ,
142
+ padding : '6px 12px' ,
143
+ borderRadius : '16px' ,
144
+ fontSize : '12px' ,
145
+ fontWeight : 600 ,
146
+ display : 'flex' ,
147
+ alignItems : 'center' ,
148
+ gap : '6px' ,
149
+ boxShadow : '0 2px 6px rgba(0,0,0,0.15)' ,
150
+ backdropFilter : 'blur(10px)'
151
+ } } >
144
152
{ licenseDisplay . icon }
145
- </ div >
146
- < Text strong style = { { color : licenseDisplay . color } } >
147
153
{ licenseDisplay . text }
148
- </ Text >
149
- { env . licenseError && (
150
- < Text type = "secondary" style = { { fontSize : '12px' , textAlign : 'center' , maxWidth : '200px' } } >
151
- { env . licenseError }
152
- </ Text >
153
- ) }
154
+ </ div >
154
155
</ div >
155
156
) }
156
157
@@ -195,46 +196,60 @@ const EnvironmentsTable: React.FC<EnvironmentsTableProps> = ({
195
196
</ Space >
196
197
</ div >
197
198
</ div >
198
- < div >
199
- < Tooltip title = "View Audit Logs" placement = "top" >
200
- < Button
201
- type = "text"
202
- icon = { < AuditOutlined /> }
203
- onClick = { ( e ) => openAuditPage ( env . environmentId , e ) }
204
- size = "small"
205
- disabled = { ! isAccessible }
206
- style = { {
207
- borderRadius : '50%' ,
208
- width : '32px' ,
209
- height : '32px'
210
- } }
211
- />
212
- </ Tooltip >
213
- </ div >
199
+ { /* Only show audit button for licensed environments */ }
200
+ { isAccessible && (
201
+ < div >
202
+ < Tooltip title = "View Audit Logs" placement = "top" >
203
+ < Button
204
+ type = "text"
205
+ icon = { < AuditOutlined /> }
206
+ onClick = { ( e ) => openAuditPage ( env . environmentId , e ) }
207
+ size = "small"
208
+ style = { {
209
+ borderRadius : '50%' ,
210
+ width : '32px' ,
211
+ height : '32px'
212
+ } }
213
+ />
214
+ </ Tooltip >
215
+ </ div >
216
+ ) }
214
217
</ div >
215
218
216
219
< div style = { { padding : '12px 0' , borderTop : '1px solid #f5f5f5' , marginTop : '4px' } } >
217
220
< div style = { { display : 'flex' , flexDirection : 'column' , gap : '8px' } } >
218
221
< div style = { { display : 'flex' , justifyContent : 'space-between' } } >
219
222
< Text type = "secondary" style = { { fontSize : '13px' } } > ID:</ Text >
220
- < Text style = { { fontSize : '13px' , fontFamily : 'monospace' } } copyable = { { tooltips : [ 'Copy ID' , 'Copied!' ] } } >
221
- { env . environmentId }
222
- </ Text >
223
+ { isAccessible ? (
224
+ < Text style = { { fontSize : '13px' , fontFamily : 'monospace' } } copyable = { { tooltips : [ 'Copy ID' , 'Copied!' ] } } >
225
+ { env . environmentId }
226
+ </ Text >
227
+ ) : (
228
+ < Text style = { { fontSize : '13px' , fontFamily : 'monospace' } } >
229
+ { env . environmentId }
230
+ </ Text >
231
+ ) }
223
232
</ div >
224
233
225
234
< div style = { { display : 'flex' , justifyContent : 'space-between' } } >
226
235
< Text type = "secondary" style = { { fontSize : '13px' } } > Domain:</ Text >
227
236
{ env . environmentFrontendUrl ? (
228
- < a
229
- href = { env . environmentFrontendUrl }
230
- target = "_blank"
231
- rel = "noopener noreferrer"
232
- onClick = { ( e ) => e . stopPropagation ( ) }
233
- style = { { fontSize : '13px' } }
234
- >
235
- { env . environmentFrontendUrl . replace ( / ^ h t t p s ? : \/ \/ / , '' ) }
236
- < LinkOutlined style = { { marginLeft : 4 , fontSize : '12px' } } />
237
- </ a >
237
+ isAccessible ? (
238
+ < a
239
+ href = { env . environmentFrontendUrl }
240
+ target = "_blank"
241
+ rel = "noopener noreferrer"
242
+ onClick = { ( e ) => e . stopPropagation ( ) }
243
+ style = { { fontSize : '13px' } }
244
+ >
245
+ { env . environmentFrontendUrl . replace ( / ^ h t t p s ? : \/ \/ / , '' ) }
246
+ < LinkOutlined style = { { marginLeft : 4 , fontSize : '12px' } } />
247
+ </ a >
248
+ ) : (
249
+ < Text style = { { fontSize : '13px' } } >
250
+ { env . environmentFrontendUrl . replace ( / ^ h t t p s ? : \/ \/ / , '' ) }
251
+ </ Text >
252
+ )
238
253
) : (
239
254
< Text style = { { fontSize : '13px' } } > —</ Text >
240
255
) }
0 commit comments