Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions webroot/src/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,13 @@ export enum ServerApiTypes {
API_EXAMPLE = 'Example',
}

export enum MilitaryAuditStatusTypes {
NOT_APPLICABLE = 'notApplicable',
APPROVED = 'approved',
DECLINED = 'declined',
TENTATIVE = 'tentative',
}

// =============================
// = Server Date Formats =
// =============================
Expand Down
6 changes: 6 additions & 0 deletions webroot/src/components/Icons/ClockStatus/ClockStatus.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//
// ClockStatus.less
// CompactConnect
//
// Created by InspiringApps on 1/7/2026.
//
19 changes: 19 additions & 0 deletions webroot/src/components/Icons/ClockStatus/ClockStatus.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// ClockStatus.spec.ts
// CompactConnect
//
// Created by InspiringApps on 1/7/2026.
//

import { expect } from 'chai';
import { mountShallow } from '@tests/helpers/setup';
import ClockStatus from '@components/Icons/ClockStatus/ClockStatus.vue';

describe('ClockStatus component', async () => {
it('should mount the component', async () => {
const wrapper = await mountShallow(ClockStatus);

expect(wrapper.exists()).to.equal(true);
expect(wrapper.findComponent(ClockStatus).exists()).to.equal(true);
});
});
18 changes: 18 additions & 0 deletions webroot/src/components/Icons/ClockStatus/ClockStatus.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// ClockStatus.ts
// CompactConnect
//
// Created by InspiringApps on 1/7/2026.
//

import { Component, Vue, toNative } from 'vue-facing-decorator';

@Component({
name: 'ClockStatus',
})
class ClockStatus extends Vue {
}

export default toNative(ClockStatus);

// export default ClockStatus;
61 changes: 61 additions & 0 deletions webroot/src/components/Icons/ClockStatus/ClockStatus.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!--
ClockStatus.vue
CompactConnect

Created by InspiringApps on 1/7/2026.
-->

<template>
<svg viewBox="0 0 22 19" class="icon icon-clock-status">
<path d="M8.96484 17.9297C7.74023 17.9297 6.58594 17.6953 5.50195 17.2266C4.42383 16.7578 3.47168 16.1104
2.64551 15.2842C1.81934 14.458 1.17188 13.5059 0.703125 12.4277C0.234375 11.3438 0 10.1895 0 8.96484C0
7.74023 0.231445 6.58887 0.694336 5.51074C1.16309 4.42676 1.81055 3.47168 2.63672 2.64551C3.46289 1.81934
4.41504 1.17187 5.49316 0.703125C6.57715 0.234375 7.73145 0 8.95605 0C10.0986 0 11.1797 0.205078 12.1992
0.615234C13.2188 1.02539 14.1328 1.59668 14.9414 2.3291C15.75 3.06152 16.4092 3.91113 16.9189
4.87793C17.4287 5.84473 17.7451 6.8877 17.8682 8.00684C17.6455 7.9541 17.3906 7.92188 17.1035
7.91016C16.8164 7.89844 16.5645 7.90723 16.3477 7.93652C16.2188 7.02246 15.9404 6.17578 15.5127
5.39648C15.0908 4.61133 14.5488 3.92871 13.8867 3.34863C13.2246 2.7627 12.4717 2.30859 11.6279
1.98633C10.79 1.6582 9.89941 1.49414 8.95605 1.49414C7.91895 1.49414 6.94922 1.6875 6.04688
2.07422C5.14453 2.45508 4.35352 2.98828 3.67383 3.67383C2.99414 4.35938 2.46094 5.15332 2.07422
6.05566C1.69336 6.95801 1.50293 7.92773 1.50293 8.96484C1.50293 10.002 1.69336 10.9717 2.07422
11.874C2.46094 12.7764 2.99414 13.5703 3.67383 14.2559C4.35938 14.9355 5.15332 15.4688 6.05566
15.8555C6.95801 16.2422 7.92773 16.4355 8.96484 16.4355C9.43945 16.4355 9.90234 16.3916 10.3535
16.3037C10.8047 16.2158 11.2383 16.0898 11.6543 15.9258C11.877 16.4062 12.1465 16.8311 12.4629
17.2002C11.9238 17.4346 11.3584 17.6133 10.7666 17.7363C10.1807 17.8652 9.58008 17.9297 8.96484
17.9297ZM4.35938 9.91406C4.18945 9.91406 4.0459 9.85547 3.92871 9.73828C3.81152 9.62109 3.75293 9.47461
3.75293 9.29883C3.75293 9.12891 3.81152 8.98535 3.92871 8.86816C4.0459 8.75098 4.18945 8.69238 4.35938
8.69238H8.34961V3.375C8.34961 3.20508 8.4082 3.06152 8.52539 2.94434C8.64258 2.82715 8.78613 2.76855
8.95605 2.76855C9.12598 2.76855 9.26953 2.82715 9.38672 2.94434C9.50977 3.06152 9.57129 3.20508 9.57129
3.375V9.29883C9.57129 9.47461 9.50977 9.62109 9.38672 9.73828C9.26953 9.85547 9.12598 9.91406 8.95605
9.91406H4.35938ZM16.7783 18.0264C16.1689 18.0264 15.5947 17.9092 15.0557 17.6748C14.5166 17.4463 14.042
17.127 13.6318 16.7168C13.2217 16.3066 12.8994 15.832 12.665 15.293C12.4307 14.7539 12.3135 14.1768
12.3135 13.5615C12.3135 12.9463 12.4307 12.3721 12.665 11.8389C12.8994 11.2998 13.2217 10.8252 13.6318
10.415C14.042 9.99902 14.5166 9.67676 15.0557 9.44824C15.5947 9.21387 16.1689 9.09668 16.7783
9.09668C17.3936 9.09668 17.9707 9.21387 18.5098 9.44824C19.0488 9.67676 19.5234 9.99609 19.9336
10.4062C20.3438 10.8164 20.6631 11.291 20.8916 11.8301C21.126 12.3691 21.2432 12.9463 21.2432
13.5615C21.2432 14.1709 21.126 14.7451 20.8916 15.2842C20.6572 15.8232 20.332 16.2979 19.916
16.708C19.5059 17.1182 19.0312 17.4404 18.4922 17.6748C17.9531 17.9092 17.3818 18.0264 16.7783
18.0264ZM16.708 16.4092C16.8955 16.4092 17.0508 16.3447 17.1738 16.2158C17.3027 16.0869 17.3701
15.9316 17.376 15.75C17.376 15.5684 17.3115 15.4131 17.1826 15.2842C17.0537 15.1494 16.8955 15.082
16.708 15.082C16.5264 15.082 16.3711 15.1494 16.2422 15.2842C16.1133 15.4131 16.0488 15.5684 16.0488
15.75C16.0488 15.9316 16.1133 16.0869 16.2422 16.2158C16.3711 16.3447 16.5264 16.4092 16.708
16.4092ZM16.708 14.6689C16.8662 14.6689 16.9834 14.6338 17.0596 14.5635C17.1416 14.4873 17.1885 14.3818
17.2002 14.2471C17.2178 14.0713 17.2734 13.9307 17.3672 13.8252C17.4609 13.7139 17.5986 13.5908 17.7803
13.4561C17.9502 13.333 18.1025 13.2129 18.2373 13.0957C18.3779 12.9785 18.4893 12.8438 18.5713
12.6914C18.6592 12.5332 18.7031 12.3398 18.7031 12.1113C18.7031 11.6895 18.5391 11.3408 18.2109
11.0654C17.8828 10.79 17.4463 10.6523 16.9014 10.6523C16.5908 10.6523 16.2949 10.7021 16.0137
10.8018C15.7383 10.9014 15.5127 11.0391 15.3369 11.2148C15.1611 11.3906 15.0732 11.5898 15.0732
11.8125C15.0732 11.9473 15.1143 12.0586 15.1963 12.1465C15.2842 12.2285 15.3955 12.2695 15.5303
12.2695C15.6533 12.2695 15.75 12.2344 15.8203 12.1641C15.8965 12.0938 15.9785 12.0146 16.0664
11.9268C16.1602 11.8271 16.2715 11.7393 16.4004 11.6631C16.5352 11.5869 16.7021 11.5488 16.9014
11.5488C17.1357 11.5488 17.3203 11.6045 17.4551 11.7158C17.5957 11.8271 17.666 11.9766 17.666
12.1641C17.666 12.3633 17.5986 12.5244 17.4639 12.6475C17.335 12.7646 17.1533 12.9053 16.9189
13.0693C16.7256 13.2041 16.5615 13.3535 16.4268 13.5176C16.2979 13.6758 16.2334 13.8926 16.2334
14.168C16.2334 14.168 16.2334 14.1709 16.2334 14.1768C16.2334 14.1826 16.2334 14.1885 16.2334
14.1943C16.2334 14.3467 16.2744 14.4639 16.3564 14.5459C16.4443 14.6279 16.5615 14.6689 16.708
14.6689Z" />
</svg>
</template>

<script lang="ts" src="./ClockStatus.ts"></script>
<style scoped lang="less" src="./ClockStatus.less"></style>
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ class LicenseeSearch extends mixins(MixinForm) {
this.formData.privilegeState.value = 'co';
this.formData.privilegePurchaseStartDate.value = moment().startOf('month').format('YYYY-MM-DD');
this.formData.privilegePurchaseEndDate.value = moment().endOf('month').format('YYYY-MM-DD');
// this.formData.militaryStatus.value = 'approved'; // @TODO: Adding this in next PR with military status updates
this.formData.militaryStatus.value = 'approved';
this.formData.investigationStatus.value = 'underInvestigation';
this.formData.encumberStartDate.value = moment().startOf('month').format('YYYY-MM-DD');
this.formData.encumberEndDate.value = moment().endOf('month').format('YYYY-MM-DD');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,12 @@
aria-labelledby="privilege-purchase-dates-label"
/>
</div>
<!-- <div class="search-form-row"> @TODO: Adding this in next PR with military status updates
<div class="search-form-row">
<InputSelect
:formInput="formData.militaryStatus"
class="search-input military-status-select"
/>
</div> -->
</div>
<div class="search-form-row">
<InputSelect
:formInput="formData.investigationStatus"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@

.info-row {
display: flex;
flex-direction: row;
flex-direction: column;
padding-bottom: 1.2rem;

@media @desktopWidth {
flex-direction: row;
}

&.error {
padding: 1.4rem;
color: @midRed;
Expand All @@ -31,9 +35,65 @@
flex-direction: column;
padding: 1.4rem;

&.status {
min-width: 16rem;
}

&.affiliation-type {
@media @tabletWidth {
margin-left: 6rem;
@media @desktopWidth {
margin-left: 2rem;
}
}

&.audit-status {
.audit-status-value-container {
display: flex;
align-items: center;
}

.audit-status-icon-container {
width: 2.4rem;
height: 2.4rem;
margin-right: 0.2rem;

.icon {
width: 100%;

&.approved {
fill: @lightGreen;
}

&.declined {
height: 65%;
padding-top: 0.4rem;
stroke: @midRed;
}

&.pending {
height: 80%;
padding-top: 0.2rem;
fill: @fontColor;
}
}
}

.audit-status-note {
color: @lightTextGrey;
font-style: italic;
}

.audit-button-container {
display: flex;
margin-top: 1rem;

.audit-button:not(:first-child) {
margin-left: 1rem;
}

&:deep(.input-button) {
min-height: 3.2rem;
padding: 0 1.2rem;
}
}
}

Expand Down Expand Up @@ -95,6 +155,117 @@
}
}

.audit-modal {
color: @fontColor;

:deep(.modal-container) {
width: 95%;
max-width: 62rem;
padding: 2rem;

@media @tabletWidth {
padding: 4rem;
}

.modal-content {
.audit-form {
margin-top: 1.8rem;

.form-row {
margin-bottom: 1.6rem;

&.static-container {
display: flex;
flex-direction: column;

@media @desktopWidth {
flex-direction: row;
margin-bottom: 0.2rem;
}
}
}

.notes {
min-height: 12rem;
border-color: @fontColor;
}
}

.static-input {
display: flex;
flex-direction: column;
width: 100%;

&:not(:last-child) {
margin-bottom: 1.2rem;
}

@media @desktopWidth {
width: 50%;
}

.static-label {
margin-bottom: 0.2rem;
font-weight: @fontWeightBold;
font-size: @fontSize;
}

.static-value {
overflow: hidden;
font-size: @fontSize;
text-overflow: ellipsis;
}
}

.info-block {
margin-bottom: 2rem;
}

.form-field-error {
font-size: @fontSize;
}

.modal-error {
margin-top: 2.4rem;
color: @midRed;
text-align: right;
}

.action-button-row {
display: flex;
flex-direction: column;
margin-top: 2rem;

@media @desktopWidth {
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
margin-top: 4rem;
}

.action-button {
margin-bottom: 1rem;

@media @desktopWidth {
&:not(:first-child) {
margin-left: 2.4rem;
}
}

.input-button,
.input-submit {
width: 100%;

@media @desktopWidth {
width: auto;
}
}
}
}
}
}
}

.end-affiliation-modal {
:deep(.modal-container) {
max-width: 90vw;
Expand Down
Loading
Loading