Skip to content

Deploy dev work to production#28

Merged
hepplerj merged 4 commits intomainfrom
preview
Feb 20, 2026
Merged

Deploy dev work to production#28
hepplerj merged 4 commits intomainfrom
preview

Conversation

@hepplerj
Copy link
Member

This pull request introduces enhancements to the crime detail view, updates the crime table to provide more nuanced status information, and improves the pagination UI for a more modern look. The most significant changes are grouped below.

Crime Detail View Enhancements:

  • The crime_detail view now finds and displays related crimes that share a victim or perpetrator with the current crime, including the specific people shared between cases. This provides users with richer context and connections between cases.

Crime Table Improvements:

  • The CrimeTable in mapping_violence/tables.py replaces the fatality boolean column with a new status column. This column summarizes the crime's status by combining information about fatality, conviction, and pardon into a single, more descriptive field. [1] [2] [3]

UI and UX Improvements:

  • The pagination component in theme/templates/crimes/list.html is restyled for better alignment, spacing, and accessibility, with clearer active/disabled states and improved visual hierarchy.

Configuration Update:

  • The default HTTP protocol for account-related actions is now set to 'https' in config/settings.py, improving security for authentication flows.

Code Quality:

  • Added an explicit import of Q from django.db.models in mapping_violence/views.py to support complex queries.

qtrinh2 and others added 4 commits February 19, 2026 19:24
Replace card grid with a sticky sidebar + main column dossier layout.
Sidebar shows When/Where/People/Weapon with browse links; main column
holds description, legal record, outcome (dot indicators), witnesses,
archival sources, and a new Related Cases section.

- Add judge to select_related in crime_detail view
- Compute related_crimes (cases sharing a victim or perpetrator, capped
  at 10) and annotate each with the shared person names
- Make victim/perpetrator names link to the filtered data table
- Embed a Leaflet mini-map in the sidebar with tooltip showing location,
  weapon, and people involved

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace floating filter panel and slide-out Alpine.js drawer with a
two-zone layout: a fixed 288px sidebar and a full-height map area.

- Sidebar: collapsible filter section (collapsed by default) above a
  scrollable case list that shows all loaded crimes on initial load
- Clicking a marker replaces the case list with that location's crimes
  and reveals a back button to restore the full list
- Color-by select auto-applies immediately on change; gender sub-option
  radio also auto-applies
- Markers use bindTooltip (hover) instead of popups
- Legend moved to bottom-right of the map area
- Alpine.js dependency removed entirely

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Status column now renders plain comma-separated text (Fatal, Convicted,
Pardoned) instead of coloured pill badges, matching the lighter tone of
the table.

Pagination was showing double-bordered boxes (individual item borders
inside the shadow card). Fix by targeting the django-tables2 Bootstrap 4
classes (.page-item/.page-link) directly, removing borders from
individual items, and using hover backgrounds instead. Active page uses
site burgundy; a single top border separates pagination from table rows.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hepplerj hepplerj self-assigned this Feb 20, 2026
@hepplerj hepplerj merged commit 123c68f into main Feb 20, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants