135
135
<img :src =" post.avatar || defaultAvatar" @error =" $event.target.src=defaultAvatar" />
136
136
</router-link >
137
137
</div >
138
- <router-link :to =" { path: '/profile/' + post.user.username.toLowerCase(), query: { id: post.user.id } }" >
138
+ <router-link class = " hide-mobile " :to =" { path: '/profile/' + post.user.username.toLowerCase(), query: { id: post.user.id } }" >
139
139
<div class =" original-poster" v-if =" post.user.original_poster" >OP</div >
140
140
<div v-if =" post.user.title" :title =" ('Title: ' + post.user.title)" class =" user-activity" ><span class =" user-activity-value" >{{post.user.title}}</span ></div >
141
+ <div v-if =" post.user.activity > -1" :title =" ('Activity: ' + post.user.activity)" class =" user-activity" >Activity: <span class =" user-activity-value" >{{post.user.activity}}</span ></div >
141
142
<div v-if =" post.user.merit > -1" :title =" ('Merit: ' + post.user.merit)" class =" user-activity" >Merit: <span class =" user-activity-value" >{{post.user.merit}}</span ></div >
142
- <div v-if =" post.user.activity > -1" :title =" ('Activity: ' + post.user.activity)" class =" user-activity" >Act: <span class =" user-activity-value" >{{post.user.activity}}</span ></div >
143
143
</router-link >
144
144
</router-link >
145
145
146
146
<div class =" user-trust" v-if =" loggedIn && postData.data.thread.trust_visible" >
147
147
<trust-display :user =" post.user" />
148
148
</div >
149
149
150
- <div class =" user-rank" >
151
- <rank-display v-if = " postData?.data?.metadata " :user =" { ...post.user, metadata: {...postData.data.metadata } }" />
150
+ <div v-if = " postData?.data?.metadata " class =" user-rank" >
151
+ <rank-display :user =" { ...post.user, metadata: {...postData.data.metadata } }" />
152
152
</div >
153
153
<div v-if =" loggedIn && post.user.id !== authedUser.id" class =" ignore-directive" >
154
154
<a href =" " @click.prevent =" toggleIgnoredPosts(post)" v-html =" post.user._ignored ? 'Unignore Posts' : 'Ignore Posts'" ></a >
155
155
</div >
156
+
157
+ <div class =" show-mobile" >
158
+ <div class =" post-title-mobile" >
159
+ <div class =" post-title-user" >
160
+ <span class =" username" :data-balloon =" post.user.role_name || 'User'" ><router-link :to =" { path: '/profile/' + post.user.username.toLowerCase() }" >
161
+ <span v-html =" post.user.username" ></span >
162
+ </router-link ></span >
163
+ <div :title =" post.user.name" v-if =" post.user.name" class =" display-name" >
164
+ <span >{{truncate(post.user.name, 33)}}</span >
165
+ <span class =" hide-mobile" >  ;&mdash ;  ; </span >
166
+ </div >
167
+ <div :title =" post.user.role_name || 'user'" class =" user-role" :style =" userRoleHighlight(post.user.highlight_color)" >{{post.user.role_name || 'user'}}</div >
168
+ </div >
169
+ <router-link :to =" { path: '/profile/' + post.user.username.toLowerCase() }" class =" user-activity-mobile" >
170
+ <div class =" original-poster" v-if =" post.user.original_poster" >OP</div >
171
+ <div v-if =" post.user.title" :title =" ('Title: ' + post.user.title)" class =" user-activity" ><span class =" user-activity-value" >{{post.user.title}}</span ></div >
172
+ <div v-if =" post.user.activity > -1" :title =" ('Activity: ' + post.user.activity)" class =" user-activity" >Activity: <span class =" user-activity-value" >{{post.user.activity}}</span ></div >
173
+ <div v-if =" post.user.merit > -1" :title =" ('Merit: ' + post.user.merit)" class =" user-activity" >Merit: <span class =" user-activity-value" >{{post.user.merit}}</span ></div >
174
+ </router-link >
175
+ <div class =" timestamp" >
176
+ <span >{{humanDate(post.created_at)}}</span >
177
+ <span v-if =" showEditDate(post) && post.metadata?.edited_by_username" >{{'  ;&mdash ;  ; Edited ' + humanDate(post.updated_at) + ' by '}}</span ><a v-if =" showEditDate(post) && post.metadata?.edited_by_username" href =" #" >{{post.metadata.edited_by_username}}</a >
178
+ <span v-if =" showEditDate(post) && !post.metadata?.edited_by_username" >{{'  ;&mdash ;  ; Edited ' + humanDate(post.updated_at)}}</span >
179
+ <span v-if =" post.metadata?.locked_by_username" >{{'  ;&mdash ;  ; Locked ' + humanDate(post.metadata.locked_at) + ' by '}}</span >
180
+ <a v-if =" post.metadata?.locked_by_username" href =" #" >{{post.metadata.locked_by_username}}</a >
181
+ </div >
182
+ </div >
183
+ </div >
156
184
</div >
157
185
158
186
<!-- Post Body Section -->
159
187
<div :id =" (i + 1) === postData.data.posts.length ? 'last' : ''" class =" post-content" >
160
188
<!-- Post Title -->
161
- <div class =" post-title" >
189
+ <div class =" hide-mobile post-title" >
162
190
<div class =" post-title-user" >
163
191
<span class =" username" :data-balloon =" post.user.role_name || 'User'" ><router-link :to =" { path: '/profile/' + post.user.username.toLowerCase(), query: { id: post.user.id } }" >
164
192
<span v-html =" post.user.username" ></span >
@@ -1113,6 +1141,9 @@ export default {
1113
1141
1114
1142
$postWidth__mobile: calc (100vw - 2rem );
1115
1143
.post - body {
1144
+ @include break - mobile- sm {
1145
+ padding- top: 0 .5rem ;
1146
+ }
1116
1147
white- space: pre- wrap;
1117
1148
word- wrap: break - word;
1118
1149
overflow- wrap: break - word;
@@ -1362,6 +1393,10 @@ ad-viewer {
1362
1393
.post - user {
1363
1394
// width: $postUserWidth;
1364
1395
flex: 0 0 $postUserWidth;
1396
+ @include break - mobile- sm {
1397
+ display: flex;
1398
+ flex: 0 0 calc (#{$postUserWidth}/ 1.25 );
1399
+ }
1365
1400
margin- right: $postUserMargin;
1366
1401
font- size: $font- size- tiny;
1367
1402
text- align: center;
@@ -1375,6 +1410,10 @@ ad-viewer {
1375
1410
background: no- repeat center center;
1376
1411
position: relative;
1377
1412
margin- bottom: 1rem ;
1413
+ @include break - mobile- sm {
1414
+ margin- bottom: 0 ;
1415
+ margin- right: 0 .5rem ;
1416
+ }
1378
1417
width: $postUserWidth;
1379
1418
height: $postUserWidth;
1380
1419
@@ -1427,6 +1466,11 @@ ad-viewer {
1427
1466
text- align: center;
1428
1467
text- transform: uppercase;
1429
1468
width: 100 % ;
1469
+ @include break - mobile- sm {
1470
+ text- align: left;
1471
+ margin- bottom: 0 ;
1472
+ width: auto;
1473
+ }
1430
1474
1431
1475
& - value {
1432
1476
font- weight: 600 ;
@@ -1445,6 +1489,66 @@ ad-viewer {
1445
1489
}
1446
1490
}
1447
1491
}
1492
+
1493
+ .post - title- mobile {
1494
+ color: $secondary- font- color;
1495
+ display: flex;
1496
+ flex- direction: column;
1497
+ align- items: left;
1498
+ margin- bottom: 0 .25rem ;
1499
+ width: 100 % ;
1500
+ text- transform: none;
1501
+
1502
+ .post - title- user {
1503
+ display: flex;
1504
+ align- items: center;
1505
+ flex: 2 1 auto;
1506
+ flex- wrap: wrap;
1507
+ gap: 0 .25rem ;
1508
+ padding- bottom: 0 .1rem ;
1509
+ }
1510
+
1511
+ span .username {
1512
+ margin- right: 0 .25rem ;
1513
+ color: $base- font- color;
1514
+ font- size: $font- size- sm;
1515
+ font- weight: 600 ;
1516
+ & : hover {
1517
+ color: $color- primary;
1518
+ }
1519
+ }
1520
+
1521
+ .user - role {
1522
+ @include truncate- ellipsis;
1523
+ background- color: transparent;
1524
+ border: 1px solid $secondary- font- color;
1525
+ border- radius: 2px ;
1526
+ color: $secondary- font- color- dark;
1527
+ display: inline- block;
1528
+ font- size: $font- size- xs;
1529
+ font- weight: 400 ;
1530
+ line- height: 1.1 ;
1531
+ margin- right: 0 .5rem ;
1532
+ max- width: 140px ;
1533
+ padding: 0px 6px ;
1534
+ text- align: center;
1535
+ }
1536
+
1537
+ .user - activity- mobile {
1538
+ display: flex;
1539
+ gap: 0 .5rem ;
1540
+ }
1541
+
1542
+ .timestamp , .display - name {
1543
+ display: flex;
1544
+ color: $secondary- font- color;
1545
+ font- size: $font- size- xs;
1546
+ font- weight: 400 ;
1547
+ }
1548
+ .display - name {
1549
+ color: $secondary- font- color- dark;
1550
+ }
1551
+ }
1448
1552
}
1449
1553
1450
1554
.post - content {
@@ -1603,10 +1707,6 @@ ad-viewer {
1603
1707
width: $postWidth__mobile;
1604
1708
}
1605
1709
}
1606
-
1607
- @include break - mobile- sm {
1608
- padding- bottom: 3rem ;
1609
- }
1610
1710
}
1611
1711
1612
1712
.thread - title {
0 commit comments