+ Let us know in advance when you can take people to visit their loved
+ ones. Click a time slot below to commit. If you can’t commit anymore,
+ click the slot again.
+
+
+ Use the button above to access a form to change your communication
+ preferences.
+
+
+
+ You can subscribe to a live-updating calendar that shows what times
+ you’ve committed to as well as rides assigned to you. On Apple
+ platforms, tap
+ here
+ to subscribe; on other platforms, you’ll have to copy
+ this URL
+ into a calendar subscription field. Please be careful with these links,
+ as they show contact information for riders. If they’re ever exposed,
+ let us know and we can change the secret token.
+
+
+
+;
+
+export default CalendarAboutComponent;
diff --git a/app/components/calendar/edit-person.gjs b/app/components/calendar/edit-person.gjs
new file mode 100644
index 00000000..c65b4c9b
--- /dev/null
+++ b/app/components/calendar/edit-person.gjs
@@ -0,0 +1,218 @@
+import Component from '@glimmer/component';
+import {
+ HdsFormRadioField,
+ HdsFormTextInputField,
+ HdsFormTextareaField,
+ HdsFormToggleField,
+} from '@hashicorp/design-system-components/components';
+import { on } from '@ember/modifier';
+import { fn } from '@ember/helper';
+import eq from 'ember-truth-helpers/helpers/eq';
+import gt from 'ember-truth-helpers/helpers/gt';
+import { action } from '@ember/object';
+
+export default class CalendarEditPersonComponent extends Component {
+ @action updatePersonAttribute(attribute, event) {
+ const target = event?.target;
+
+ if (!target) {
+ return;
+ }
+
+ const value = target.type === 'checkbox' ? target.checked : target.value;
+ this.args.person.set(attribute, value);
+ }
+
+
+
+
+}
diff --git a/app/components/cancellation-form.gjs b/app/components/cancellation-form.gjs
index df3b0371..0ee0f4a4 100644
--- a/app/components/cancellation-form.gjs
+++ b/app/components/cancellation-form.gjs
@@ -3,16 +3,19 @@ import classic from 'ember-classic-decorator';
import { action } from '@ember/object';
import Component from '@ember/component';
import reasonToIcon from 'prison-rideshare-ui/utils/reason-to-icon';
-import PaperDialog from 'ember-paper/components/paper-dialog';
-import PaperDialogContent from 'ember-paper/components/paper-dialog-content';
-import PaperCard from 'ember-paper/components/paper-card';
-import PaperForm from 'ember-paper/components/paper-form';
-import PaperButton from 'ember-paper/components/paper-button';
-import paperIcon from 'ember-paper/components/paper-icon';
-import PaperCheckbox from 'ember-paper/components/paper-checkbox';
-import PaperSelect from 'ember-paper/components/paper-select/component';
-import PaperDialogActions from 'ember-paper/components/paper-dialog-actions';
+import {
+ HdsModal,
+ HdsButton,
+ HdsButtonSet,
+ HdsFormCheckboxField,
+ HdsFormTextInputField,
+ HdsFormSelectField,
+ HdsIcon,
+} from '@hashicorp/design-system-components/components';
+import { on } from '@ember/modifier';
import { fn } from '@ember/helper';
+import eq from 'ember-truth-helpers/helpers/eq';
+import Alert from 'prison-rideshare-ui/components/alert';
const reasons = Object.keys(reasonToIcon).sort();
const shortcuts = ['driver not found', 'visitor'];
@@ -27,100 +30,139 @@ const shortcutReasonToIcon = shortcuts.reduce(
@classic
export default class CancellationForm extends Component {
+ reasons = reasons;
+ shortcutReasonToIcon = shortcutReasonToIcon;
+
-
-
+
+
+ Cancel a ride
+
+
+
{{#if this.ride.children}}
-
-
- Cancelling a ride with rides combined into it will cause the
- combined rides to also disappear. Uncombine them if this is
- undesirable.
-
-
+
+
+ Cancelling a ride with rides combined into it will cause the
+ combined rides to also disappear. Uncombine them if this is
+ undesirable.
+
-
- Email us if you need to change this
-
-
-
- preferred
-
-
-
-
-
-
-
-
- To send you our quarterly newsletter and very
- occasionally, invitations or other such communications
-
-
-
-
-
-
-
-
- Vehicle capacity, institutions you don’t want to drive
- to, etc
-
-
-
-
-
-
+
{{/if}}
-
-
-
-
-
-
- Let us know in advance when you can take people to visit their loved
- ones. Click a time slot below to commit. If you can’t commit
- anymore, click the slot again.
-
-
- Use the button above to access a form to change your communication
- preferences.
-
+
+
-
- You can subscribe to a live-updating calendar that shows what times
- you’ve committed to as well as rides assigned to you. On Apple
- platforms, tap
-
- here
-
- to subscribe; on other platforms, you’ll have to copy
-
- this URL
-
- into a calendar subscription field. Please be careful with these
- links, as they show contact information for riders. If they’re ever
- exposed, let us know and we can change the secret token.
-
,
);
diff --git a/app/templates/reports/new.gjs b/app/templates/reports/new.gjs
index a202c8c1..62ac0392 100644
--- a/app/templates/reports/new.gjs
+++ b/app/templates/reports/new.gjs
@@ -1,59 +1,59 @@
import RouteTemplate from 'ember-route-template';
import ToolbarHeader from 'prison-rideshare-ui/components/toolbar-header';
-import PaperContent from 'ember-paper/components/paper-content/component';
-import PaperCard from 'ember-paper/components/paper-card';
-import PaperForm from 'ember-paper/components/paper-form';
-import PaperRadioGroup from 'ember-paper/components/paper-radio-group';
import sortBy from 'ember-composable-helpers/helpers/sort-by';
import momentFormat from 'ember-moment/helpers/moment-format';
import ReimbursementUnit from 'prison-rideshare-ui/components/reimbursement-unit';
-import PaperCheckbox from 'ember-paper/components/paper-checkbox';
-import PaperButton from 'ember-paper/components/paper-button';
-import { action } from '@ember/object';
-import Component from '@glimmer/component';
+import { fn } from '@ember/helper';
+import { on } from '@ember/modifier';
+import {
+ HdsButton,
+ HdsCardContainer,
+ HdsForm,
+ HdsFormCheckboxField,
+ HdsFormRadioGroup,
+ HdsFormTextareaField,
+ HdsFormTextInputField,
+} from '@hashicorp/design-system-components/components';
+import eq from 'ember-truth-helpers/helpers/eq';
+import gt from 'ember-truth-helpers/helpers/gt';
+import Alert from 'prison-rideshare-ui/components/alert';
-class NewReportComponent extends Component {
- @action updateDistance(distance) {
- this.args.controller.editingRide.distance = distance;
- }
-
- @action updatedonation(value) {
- this.args.controller.editingRide.donation = value;
- }
- @action updatefoodExpensesDollars(value) {
- this.args.controller.editingRide.foodExpensesDollars = value;
- }
- @action updatecarExpensesDollars(value) {
- this.args.controller.editingRide.carExpensesDollars = value;
- }
- @action updatereportNotes(value) {
- this.args.controller.editingRide.reportNotes = value;
- }
+export default RouteTemplate(
-
- {{#if @controller.session.isAuthenticated}}
-
-
- The ability to submit reports while logged in is indefinitely
- unavailable for annoying technical reasons. Please use another
- browser or a private/incognito window to submit your reports in the
- interim. ☹️
-
-
- {{else}}
- {{#if @controller.model}}
-
-
-
-
- {{#each (sortBy 'start' @controller.model) as |ride|}}
-
+ {{#if @controller.session.isAuthenticated}}
+
+ The ability to submit reports while logged in is indefinitely
+ unavailable for annoying technical reasons. Please use another browser
+ or a private/incognito window to submit your reports in the interim. ☹️
+
+ {{else}}
+ {{#if @controller.model}}
+
- Anything unusual, like paying the driver for gas instead
- of car owner.
-
- {{/unless}}
-
-
+ Donate your gas reimbursement
+
+
+ {{/if}}
+
+
+
+ Food expenses if wanting reimbursement
+
+
-
-
+
- Save
-
- {{! FIXME simplify if/when form yields radio-group?}}
-
+ Car expenses
+
+
{{/if}}
-
-
- {{else}}
-
-
- There are no rides to report on! Thanks for your diligence,
- drivers. Email us if you expected to see a report here.
-
-
- {{/if}}
- {{/if}}
-
-
-}
-export default RouteTemplate(NewReportComponent);
+
+
+ Notes
+
+ Anything unusual, like paying the driver for gas instead of
+ the car owner.
+
+
+
+
+
+
+
+
+
+ {{/if}}
+
+
+ {{else}}
+
+ There are no rides to report on! Thanks for your diligence, drivers.
+ Email us if you expected to see a report here.
+
+ {{/if}}
+ {{/if}}
+ ,
+);
diff --git a/app/templates/reset.gjs b/app/templates/reset.gjs
index 2c664c00..504035ad 100644
--- a/app/templates/reset.gjs
+++ b/app/templates/reset.gjs
@@ -1,64 +1,77 @@
import RouteTemplate from 'ember-route-template';
-import PaperDialog from 'ember-paper/components/paper-dialog';
-import PaperToolbar from 'ember-paper/components/paper-toolbar';
-import PaperToolbarTools from 'ember-paper/components/paper-toolbar-tools';
-import PaperForm from 'ember-paper/components/paper-form';
-import PaperDialogContent from 'ember-paper/components/paper-dialog-content';
-import PaperDialogActions from 'ember-paper/components/paper-dialog-actions';
-import { fn } from '@ember/helper';
+import { on } from '@ember/modifier';
+import {
+ HdsButton,
+ HdsButtonSet,
+ HdsForm,
+ HdsFormTextInputField,
+ HdsModal,
+} from '@hashicorp/design-system-components/components';
import { pageTitle } from 'ember-page-title';
+import Alert from 'prison-rideshare-ui/components/alert';
+
export default RouteTemplate(
{{pageTitle 'Reset password'}}
-
-
-
-