@7365admin1/layer-common 3.2.8-staging.204 → 3.2.8-staging.206

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,23 +101,48 @@
101
101
  <thead>
102
102
  <tr>
103
103
  <th>Organization Name</th>
104
- <th>Email</th>
104
+ <th>Nature</th>
105
105
  <th>Sites</th>
106
106
  <th>Subscription</th>
107
107
  <th>Billing Cycle</th>
108
108
  <th>Start Date</th>
109
109
  <th>End Date</th>
110
- <th>Status</th>
110
+ <!--
111
+ NO STATUS COLUMN. The table is fetched with the status the
112
+ chosen tab asks for (`fetchOrgs(tab)` -> `status` -> the
113
+ aggregation's `$match`), so on the Active tab every row said
114
+ "active" and on Suspended every row said "suspended" - a
115
+ column that repeated the tab the reader was standing on and
116
+ could never say anything else. Its 138px is what pays for the
117
+ Nature column, and the table now fits its viewport instead of
118
+ scrolling sideways.
119
+ -->
111
120
  <th>Actions</th>
112
121
  </tr>
113
122
  </thead>
114
123
  <tbody>
115
124
  <tr v-if="!loading && items.length === 0">
116
- <td colspan="9" class="empty">No records found.</td>
125
+ <td colspan="8" class="empty">No records found.</td>
117
126
  </tr>
118
127
  <tr v-for="item in items" :key="item._id">
119
- <td class="td-name">{{ item.name }}</td>
120
- <td class="td-muted">{{ item.email }}</td>
128
+ <!--
129
+ WHO THEY ARE, then WHAT KIND OF BUSINESS. The email used to
130
+ hold a column of its own; it identifies the same client the
131
+ name does, so it sits under the name and the column it was
132
+ using goes to the nature - which nothing on this screen said
133
+ before, and which is the one thing the admin app's
134
+ Organizations list showed that this one did not.
135
+ -->
136
+ <td class="td-name">
137
+ {{ item.name }}
138
+ <span class="td-name-sub">{{ item.email }}</span>
139
+ </td>
140
+ <!-- A blank cell reads as a broken screen, so the one case
141
+ with nothing to print says so. `--text2`, not `--muted`:
142
+ this is text to be read, and `--muted` measures 3.24:1. -->
143
+ <td :class="{ 'td-nature-none': !item.nature }">
144
+ {{ item.nature ? formatNature(item.nature) : 'Not recorded' }}
145
+ </td>
121
146
  <td>
122
147
  <span class="sites-badge">{{ item.sites }}</span>
123
148
  </td>
@@ -161,9 +186,6 @@
161
186
  </span>
162
187
  </td>
163
188
  </template>
164
- <td>
165
- <span :class="['status-chip', item.status]">{{ item.status }}</span>
166
- </td>
167
189
  <td>
168
190
  <div class="action-wrap">
169
191
  <button class="dots-btn" @click.stop="toggleMenu(item._id, $event)">
@@ -297,6 +319,7 @@ import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
297
319
  import useOrg from '../composables/useOrg'
298
320
  import useVerification from '../composables/useVerification'
299
321
  import useRole from '../composables/useRole'
322
+ import useUtils from '../composables/useUtils'
300
323
  import InvitationClientForm from './InvitationClientForm.vue'
301
324
  import ClientDetailForm from './ClientDetailForm.vue'
302
325
  import ClientSubscriptionForm from './ClientSubscriptionForm.vue'
@@ -312,6 +335,9 @@ const { getOrganizationsWithSubscription, updateStatus } = useOrg()
312
335
  const { getVerifications, cancelUserInvitation } = useVerification()
313
336
  const { getCustomerSites: getCustomerSitesByOrgId } = useCustomerSite()
314
337
  const { getRoleById } = useRole()
338
+ // The same helper the admin app's Organizations list uses to print a nature,
339
+ // so both screens say the value the same way while both exist.
340
+ const { formatNature } = useUtils()
315
341
 
316
342
  /* ── CONSTANTS ── */
317
343
  const APP_LIST = [
@@ -947,6 +973,17 @@ tbody td { vertical-align: middle; }
947
973
  /* Owner decision 8: an end date has passed and somebody has to look at it. */
948
974
  .needs-attention { color: var(--warn); font-weight: 500; }
949
975
  .td-name { font-weight: 500; color: var(--text); }
976
+ /* The email, second line of the same cell. `--text2` is the design's reading
977
+ token for secondary text; `--muted`, which the email used while it had its
978
+ own column, is a decoration weight and measures below AA as body copy. */
979
+ .td-nature-none { color: var(--text2); }
980
+ .td-name-sub {
981
+ display: block;
982
+ margin-top: 2px;
983
+ font-size: 12px;
984
+ font-weight: 400;
985
+ color: var(--text2);
986
+ }
950
987
  .td-muted { color: var(--muted); font-size: 13px; }
951
988
 
952
989
  .sites-badge {