From cc0a5310a63fd649445b3e54c88e596e1f6b70e1 Mon Sep 17 00:00:00 2001 From: Adam Cox Date: Sat, 20 Jun 2026 23:54:10 -0500 Subject: [PATCH 1/7] consolidate shared components --- .../src/components/Georeferencer.svelte | 14 ++-- .../src/components/Map.svelte | 67 +++++++++++++------ .../src/components/MapShowcase.svelte | 2 +- .../src/components/Resource.svelte | 4 +- .../src/components/Splitter.svelte | 6 +- .../components/base/ExpandableSection.svelte | 4 +- .../ModalConfirm.svelte} | 2 +- .../components/interfaces/MapPreview.svelte | 2 +- .../widgets/RefreshMapButton.svelte | 2 +- .../components/lists/LatestAdditions.svelte | 4 +- .../src/components/lists/Participants.svelte | 2 +- .../src/components/lists/Places.svelte | 2 +- .../modals/ConfirmBulkNoSplitModal.svelte | 44 ------------ .../ResourceDownloadSectionModal.svelte | 11 --- .../src/components/overviews/Place.svelte | 2 +- .../src/components/resource/Details.svelte | 4 +- .../{common => shared}/LoadingEllipsis.svelte | 0 .../{common => shared}/LoadingMask.svelte | 0 .../{common => shared}/SigninReminder.svelte | 0 .../breadcrumbs/MapBreadcrumbs.svelte | 4 +- .../breadcrumbs/PlaceBreadcrumbsSelect.svelte | 0 .../breadcrumbs/ResourceBreadcrumbs.svelte | 4 +- .../buttons/ConditionalDoubleChevron.svelte | 0 .../buttons/InfoModalButton.svelte | 2 +- .../{ => shared}/cards/LayerCard.svelte | 10 ++- .../{ => shared}/cards/MapItem.svelte | 2 +- .../{ => shared}/cards/NonMapCard.svelte | 8 +-- .../{ => shared}/cards/PreparedCard.svelte | 8 +-- .../{ => shared}/cards/SkippedCard.svelte | 8 +-- .../{ => shared}/cards/UnpreparedCard.svelte | 9 ++- .../modals/ConfirmNoSplitModal.svelte | 6 +- .../modals/ConfirmUngeoreferenceModal.svelte | 4 +- .../modals/ExtendSessionModal.svelte | 4 +- .../modals/GeoreferenceOverviewModal.svelte | 2 +- .../GeoreferencePermissionsModal.svelte | 2 +- .../modals/GeoreferencedSectionModal.svelte | 2 +- .../modals/ItemDownloadSectionModal.svelte | 4 +- .../{ => shared}/modals/LegendModal.svelte | 2 +- .../{ => shared}/modals/MultiMaskModal.svelte | 2 +- .../modals/NonMapContentModal.svelte | 2 +- .../modals/PreparedSectionModal.svelte | 2 +- .../ResourceDownloadSectionModal.svelte | 11 +++ .../modals/SessionListModal.svelte | 2 +- .../modals/SkippedSectionHelpModal.svelte | 2 +- .../modals/UnpreparedSectionModal.svelte | 2 +- .../components/tables/MapContributors.svelte | 5 +- .../src/components/tables/Maps.svelte | 9 +-- .../src/components/tables/Profiles.svelte | 4 +- .../src/components/tables/Sessions.svelte | 5 +- 49 files changed, 135 insertions(+), 164 deletions(-) rename ohmg/frontend/svelte_components/src/components/{modals/ConfirmModal.svelte => base/ModalConfirm.svelte} (91%) delete mode 100644 ohmg/frontend/svelte_components/src/components/modals/ConfirmBulkNoSplitModal.svelte delete mode 100644 ohmg/frontend/svelte_components/src/components/modals/ResourceDownloadSectionModal.svelte rename ohmg/frontend/svelte_components/src/components/{common => shared}/LoadingEllipsis.svelte (100%) rename ohmg/frontend/svelte_components/src/components/{common => shared}/LoadingMask.svelte (100%) rename ohmg/frontend/svelte_components/src/components/{common => shared}/SigninReminder.svelte (100%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/breadcrumbs/MapBreadcrumbs.svelte (96%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/breadcrumbs/PlaceBreadcrumbsSelect.svelte (100%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/breadcrumbs/ResourceBreadcrumbs.svelte (97%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/buttons/ConditionalDoubleChevron.svelte (100%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/buttons/InfoModalButton.svelte (84%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/LayerCard.svelte (96%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/MapItem.svelte (94%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/NonMapCard.svelte (91%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/PreparedCard.svelte (95%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/SkippedCard.svelte (91%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/cards/UnpreparedCard.svelte (95%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/ConfirmNoSplitModal.svelte (83%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/ConfirmUngeoreferenceModal.svelte (89%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/ExtendSessionModal.svelte (86%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/GeoreferenceOverviewModal.svelte (88%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/GeoreferencePermissionsModal.svelte (92%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/GeoreferencedSectionModal.svelte (91%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/ItemDownloadSectionModal.svelte (78%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/LegendModal.svelte (77%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/MultiMaskModal.svelte (96%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/NonMapContentModal.svelte (83%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/PreparedSectionModal.svelte (89%) create mode 100644 ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/SessionListModal.svelte (95%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/SkippedSectionHelpModal.svelte (92%) rename ohmg/frontend/svelte_components/src/components/{ => shared}/modals/UnpreparedSectionModal.svelte (84%) diff --git a/ohmg/frontend/svelte_components/src/components/Georeferencer.svelte b/ohmg/frontend/svelte_components/src/components/Georeferencer.svelte index 3b6d3340..8ab2358a 100644 --- a/ohmg/frontend/svelte_components/src/components/Georeferencer.svelte +++ b/ohmg/frontend/svelte_components/src/components/Georeferencer.svelte @@ -45,16 +45,16 @@ import { MapViewer } from '../lib/viewers'; import Modal, { getModal } from './base/Modal.svelte'; - import LoadingEllipsis from './common/LoadingEllipsis.svelte'; + import LoadingEllipsis from './shared/LoadingEllipsis.svelte'; import Link from './base/Link.svelte'; import ToolUIButton from './interfaces/widgets/ToolUIButton.svelte'; import ExpandElement from './interfaces/widgets/ExpandElement.svelte'; - import ExtendSessionModal from './modals/ExtendSessionModal.svelte'; - import InfoModalButton from './buttons/InfoModalButton.svelte'; - import SigninReminder from './common/SigninReminder.svelte'; + import ExtendSessionModal from './shared/modals/ExtendSessionModal.svelte'; + import InfoModalButton from './shared/buttons/InfoModalButton.svelte'; + import SigninReminder from './shared//SigninReminder.svelte'; - import ConfirmModal from './modals/ConfirmModal.svelte'; + import ModalConfirm from './base/ModalConfirm.svelte'; export let CONTEXT; export let REGION; @@ -908,12 +908,12 @@ > - +

You have only two GCPs, but it is highly advisable to have three or more. Please add more, unless you are unable to do so.

-
+ diff --git a/ohmg/frontend/svelte_components/src/components/Map.svelte b/ohmg/frontend/svelte_components/src/components/Map.svelte index 8d5f7108..cf75a658 100644 --- a/ohmg/frontend/svelte_components/src/components/Map.svelte +++ b/ohmg/frontend/svelte_components/src/components/Map.svelte @@ -2,30 +2,30 @@ import Wrench from 'phosphor-svelte/lib/Wrench'; - import InfoModalButton from './buttons/InfoModalButton.svelte'; + import InfoModalButton from './shared/buttons/InfoModalButton.svelte'; import ExpandableSection from './base/ExpandableSection.svelte'; import TabbedSection from './base/TabbedSection.svelte'; import Modal, { getModal } from './base/Modal.svelte'; - import GeoreferenceOverviewModal from './modals/GeoreferenceOverviewModal.svelte'; - import UnpreparedSectionModal from './modals/UnpreparedSectionModal.svelte'; - import PreparedSectionModal from './modals/PreparedSectionModal.svelte'; - import GeoreferencedSectionModal from './modals/GeoreferencedSectionModal.svelte'; - import MultiMaskModal from './modals/MultiMaskModal.svelte'; - import NonMapContentModal from './modals/NonMapContentModal.svelte'; - import GeoreferencePermissionsModal from './modals/GeoreferencePermissionsModal.svelte'; - import ConfirmNoSplitModal from './modals/ConfirmNoSplitModal.svelte'; - import ConfirmBulkNoSplitModal from './modals/ConfirmBulkNoSplitModal.svelte'; - import ConfirmUngeoreferenceModal from './modals/ConfirmUngeoreferenceModal.svelte'; + import GeoreferenceOverviewModal from './shared/modals/GeoreferenceOverviewModal.svelte'; + import UnpreparedSectionModal from './shared/modals/UnpreparedSectionModal.svelte'; + import PreparedSectionModal from './shared/modals/PreparedSectionModal.svelte'; + import GeoreferencedSectionModal from './shared/modals/GeoreferencedSectionModal.svelte'; + import MultiMaskModal from './shared/modals/MultiMaskModal.svelte'; + import NonMapContentModal from './shared/modals/NonMapContentModal.svelte'; + import GeoreferencePermissionsModal from './shared/modals/GeoreferencePermissionsModal.svelte'; + import ConfirmNoSplitModal from './shared/modals/ConfirmNoSplitModal.svelte'; + import ConfirmUngeoreferenceModal from './shared/modals/ConfirmUngeoreferenceModal.svelte'; + import ModalConfirm from './base/ModalConfirm.svelte'; import MapPreview from './interfaces/MapPreview.svelte'; import BasicDocViewer from './interfaces/BasicDocViewer.svelte'; import BasicLayerViewer from './interfaces/BasicLayerViewer.svelte'; - import SigninReminder from './common/SigninReminder.svelte'; - import LoadingEllipsis from './common/LoadingEllipsis.svelte'; - import LoadingMask from './common/LoadingMask.svelte'; + import SigninReminder from './shared/SigninReminder.svelte'; + import LoadingEllipsis from './shared/LoadingEllipsis.svelte'; + import LoadingMask from './shared/LoadingMask.svelte'; import MultimaskSection from './map/MultimaskSection.svelte' import MosaicDownload from './map/MosaicDownload.svelte'; @@ -34,16 +34,16 @@ import MapContributors from './tables/MapContributors.svelte'; import Sessions from './tables/Sessions.svelte'; - import MapBreadcrumbs from './breadcrumbs/MapBreadcrumbs.svelte'; + import MapBreadcrumbs from './shared/breadcrumbs/MapBreadcrumbs.svelte'; - import UnpreparedCard from './cards/UnpreparedCard.svelte'; - import PreparedCard from './cards/PreparedCard.svelte'; - import LayerCard from './cards/LayerCard.svelte'; - import SkippedCard from './cards/SkippedCard.svelte'; - import NonMapCard from './cards/NonMapCard.svelte'; + import UnpreparedCard from './shared/cards/UnpreparedCard.svelte'; + import PreparedCard from './shared/cards/PreparedCard.svelte'; + import LayerCard from './shared/cards/LayerCard.svelte'; + import SkippedCard from './shared/cards/SkippedCard.svelte'; + import NonMapCard from './shared/cards/NonMapCard.svelte'; import { getFromAPI, submitPostRequest } from '../lib/requests'; - import SkippedSectionHelpModal from './modals/SkippedSectionHelpModal.svelte'; + import SkippedSectionHelpModal from './shared/modals/SkippedSectionHelpModal.svelte'; export let CONTEXT; export let MAP; @@ -267,6 +267,19 @@ ); } + function postBulkNoSplit() { + processing = true; + submitPostRequest( + `/split/`, + CONTEXT.ohmg_post_headers, + 'bulk-no-split', + { + bulkNoSplitIds: bulkPrepareList, + }, + pollMapSummaryIfSuccess, + ); + } + let classifyingLayers = false; let bulkPreparing = false; let bulkPrepareList = []; @@ -295,6 +308,17 @@ }); }} /> + + 1 ? `each one only contains` : 'it only contains'} one map`} + yesAction={postBulkNoSplit}> +

+ Are you sure {bulkPrepareList.length > 1 ? `these ${bulkPrepareList.length} documents do` : 'this document does'} not + need to be split? +

+
+ @@ -313,7 +337,6 @@ {/each} - {#if processing} diff --git a/ohmg/frontend/svelte_components/src/components/MapShowcase.svelte b/ohmg/frontend/svelte_components/src/components/MapShowcase.svelte index 568cabde..8d27ec69 100644 --- a/ohmg/frontend/svelte_components/src/components/MapShowcase.svelte +++ b/ohmg/frontend/svelte_components/src/components/MapShowcase.svelte @@ -1,7 +1,7 @@ - - -

- Are you sure {bulkPrepareList.length > 1 ? `these ${bulkPrepareList.length} documents do` : 'this document does'} not - need to be split? -

- - -
diff --git a/ohmg/frontend/svelte_components/src/components/modals/ResourceDownloadSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/modals/ResourceDownloadSectionModal.svelte deleted file mode 100644 index 3b959eb9..00000000 --- a/ohmg/frontend/svelte_components/src/components/modals/ResourceDownloadSectionModal.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - - -

Download & Web Services

- -
diff --git a/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte b/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte index 4140871a..8740d564 100644 --- a/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte +++ b/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/cards/NonMapCard.svelte b/ohmg/frontend/svelte_components/src/components/shared/cards/NonMapCard.svelte similarity index 91% rename from ohmg/frontend/svelte_components/src/components/cards/NonMapCard.svelte rename to ohmg/frontend/svelte_components/src/components/shared/cards/NonMapCard.svelte index d9f1b077..29e914e3 100644 --- a/ohmg/frontend/svelte_components/src/components/cards/NonMapCard.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/cards/NonMapCard.svelte @@ -1,11 +1,9 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/GeoreferencePermissionsModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/GeoreferencePermissionsModal.svelte similarity index 92% rename from ohmg/frontend/svelte_components/src/components/modals/GeoreferencePermissionsModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/GeoreferencePermissionsModal.svelte index 6c2c6d51..bf014da7 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/GeoreferencePermissionsModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/GeoreferencePermissionsModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/ItemDownloadSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/ItemDownloadSectionModal.svelte similarity index 78% rename from ohmg/frontend/svelte_components/src/components/modals/ItemDownloadSectionModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/ItemDownloadSectionModal.svelte index 60d6bdf0..ef26f513 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/ItemDownloadSectionModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/ItemDownloadSectionModal.svelte @@ -1,6 +1,6 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/LegendModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/LegendModal.svelte similarity index 77% rename from ohmg/frontend/svelte_components/src/components/modals/LegendModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/LegendModal.svelte index 9ae8ae3c..1c1c6ce6 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/LegendModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/LegendModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/NonMapContentModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/NonMapContentModal.svelte similarity index 83% rename from ohmg/frontend/svelte_components/src/components/modals/NonMapContentModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/NonMapContentModal.svelte index 8d96326f..a0da0a09 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/NonMapContentModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/NonMapContentModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/PreparedSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/PreparedSectionModal.svelte similarity index 89% rename from ohmg/frontend/svelte_components/src/components/modals/PreparedSectionModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/PreparedSectionModal.svelte index f33758d1..556fd024 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/PreparedSectionModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/PreparedSectionModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte new file mode 100644 index 00000000..3ff3f1a3 --- /dev/null +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte @@ -0,0 +1,11 @@ + + + +

Download & Web Services

+ +
diff --git a/ohmg/frontend/svelte_components/src/components/modals/SessionListModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/SessionListModal.svelte similarity index 95% rename from ohmg/frontend/svelte_components/src/components/modals/SessionListModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/SessionListModal.svelte index 5b22f5a0..c4344061 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/SessionListModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/SessionListModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/modals/UnpreparedSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/UnpreparedSectionModal.svelte similarity index 84% rename from ohmg/frontend/svelte_components/src/components/modals/UnpreparedSectionModal.svelte rename to ohmg/frontend/svelte_components/src/components/shared/modals/UnpreparedSectionModal.svelte index fc889ba9..2a3b728e 100644 --- a/ohmg/frontend/svelte_components/src/components/modals/UnpreparedSectionModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/UnpreparedSectionModal.svelte @@ -1,5 +1,5 @@ diff --git a/ohmg/frontend/svelte_components/src/components/tables/MapContributors.svelte b/ohmg/frontend/svelte_components/src/components/tables/MapContributors.svelte index 50df8b76..e812fc5a 100644 --- a/ohmg/frontend/svelte_components/src/components/tables/MapContributors.svelte +++ b/ohmg/frontend/svelte_components/src/components/tables/MapContributors.svelte @@ -1,8 +1,9 @@ - - -
- - - - Username - Loaded Maps - Prep Sessions - Georef. Sessions - Total Sessions - GCPs - - - - {p.username} - - - - {p.username} - - - -
- {p.load_ct}{#if p.maps.length > 0} —{/if} - - {#if p.maps.length > 0} - - {/if} -
- {#if p.maps.length > 0} -
-
    - {#each p.maps as v} -
  • {v.title}
  • - {/each} -
-
- {/if} - - {p.psesh_ct} - {p.gsesh_ct} - {p.total_ct} - {p.gcp_ct} - -
- {#if all_participants.length === 0} - - {/if} -
- - diff --git a/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte b/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte index 1df59a6d..9bb0d736 100644 --- a/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte +++ b/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte @@ -1,6 +1,6 @@ - -

How to use XYZ tiles in desktop software

-
    -
  • - QGIS -
  • -
  • - ArcGIS -
  • -
-

How to use XYZ tiles on the web

-
    -
  • Leaflet
  • -
  • OpenLayers
  • -
  • - Mapbox/MapLibre GL JS -
  • -
  • - ArcGIS Online -
  • -
  • - OpenHistoricalMap (iD Editor) -
  • -
diff --git a/ohmg/frontend/svelte_components/src/components/shared/breadcrumbs/PlaceBreadcrumbsSelect.svelte b/ohmg/frontend/svelte_components/src/components/place/Breadcrumbs.svelte similarity index 100% rename from ohmg/frontend/svelte_components/src/components/shared/breadcrumbs/PlaceBreadcrumbsSelect.svelte rename to ohmg/frontend/svelte_components/src/components/place/Breadcrumbs.svelte diff --git a/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte b/ohmg/frontend/svelte_components/src/components/place/Place.svelte similarity index 95% rename from ohmg/frontend/svelte_components/src/components/overviews/Place.svelte rename to ohmg/frontend/svelte_components/src/components/place/Place.svelte index 8740d564..f1a1b6db 100644 --- a/ohmg/frontend/svelte_components/src/components/overviews/Place.svelte +++ b/ohmg/frontend/svelte_components/src/components/place/Place.svelte @@ -1,5 +1,5 @@ - +
diff --git a/ohmg/frontend/svelte_components/src/components/shared/breadcrumbs/ResourceBreadcrumbs.svelte b/ohmg/frontend/svelte_components/src/components/resource/Breadcrumbs.svelte similarity index 97% rename from ohmg/frontend/svelte_components/src/components/shared/breadcrumbs/ResourceBreadcrumbs.svelte rename to ohmg/frontend/svelte_components/src/components/resource/Breadcrumbs.svelte index ce4277cb..fe86e32b 100644 --- a/ohmg/frontend/svelte_components/src/components/shared/breadcrumbs/ResourceBreadcrumbs.svelte +++ b/ohmg/frontend/svelte_components/src/components/resource/Breadcrumbs.svelte @@ -4,9 +4,9 @@ import ArrowRight from 'phosphor-svelte/lib/ArrowRight'; import DotsThree from 'phosphor-svelte/lib/DotsThree'; - import Link from '../../base/Link.svelte'; + import Link from '../base/Link.svelte'; - import { onMobile } from '../../../lib/utils'; + import { onMobile } from '../../lib/utils'; export let LOCALE; export let MAP; diff --git a/ohmg/frontend/svelte_components/src/components/Resource.svelte b/ohmg/frontend/svelte_components/src/components/resource/Resource.svelte similarity index 94% rename from ohmg/frontend/svelte_components/src/components/Resource.svelte rename to ohmg/frontend/svelte_components/src/components/resource/Resource.svelte index 18a43bc2..e1d5b93b 100644 --- a/ohmg/frontend/svelte_components/src/components/Resource.svelte +++ b/ohmg/frontend/svelte_components/src/components/resource/Resource.svelte @@ -5,18 +5,18 @@ import { getCenter } from 'ol/extent'; - import Link from './base/Link.svelte'; - import Sessions from './tables/Sessions.svelte'; - import BasicDocViewer from './interfaces/BasicDocViewer.svelte'; - import BasicLayerViewer from './interfaces/BasicLayerViewer.svelte'; - import ConditionalDoubleChevron from './shared/buttons/ConditionalDoubleChevron.svelte'; - import ToolUIButton from './interfaces/widgets/ToolUIButton.svelte'; + import Link from '../base/Link.svelte'; + import Sessions from '../tables/Sessions.svelte'; + import BasicDocViewer from '../interfaces/BasicDocViewer.svelte'; + import BasicLayerViewer from '../interfaces/BasicLayerViewer.svelte'; + import ConditionalDoubleChevron from '../shared/buttons/ConditionalDoubleChevron.svelte'; + import ToolUIButton from '../interfaces/widgets/ToolUIButton.svelte'; - import Details from './resource/Details.svelte'; + import Details from './Details.svelte'; - import ResourceBreadcrumbs from './shared/breadcrumbs/ResourceBreadcrumbs.svelte'; + import ResourceBreadcrumbs from './Breadcrumbs.svelte'; - import { makeTitilerXYZUrl } from '../lib/utils'; + import { makeTitilerXYZUrl } from '../../lib/utils'; export let CONTEXT; export let RESOURCE; diff --git a/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte b/ohmg/frontend/svelte_components/src/components/search/Browse.svelte similarity index 97% rename from ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte rename to ohmg/frontend/svelte_components/src/components/search/Browse.svelte index 9bb0d736..efdeae70 100644 --- a/ohmg/frontend/svelte_components/src/components/overviews/Browse.svelte +++ b/ohmg/frontend/svelte_components/src/components/search/Browse.svelte @@ -1,7 +1,7 @@ - - -

Download & Web Services

-

- After multiple pages have been georeferenced and a multimask has been created, a single mosaic can be generated from - all of this item's layers. Once created, the mosaic can be downloaded as a GeoTIFF, or integrated as a web service - into any common GIS or web GIS software via the XYZ tiles URL. -

- -
diff --git a/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte b/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte index 3ff3f1a3..b14b5326 100644 --- a/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte +++ b/ohmg/frontend/svelte_components/src/components/shared/modals/ResourceDownloadSectionModal.svelte @@ -1,11 +1,41 @@

Download & Web Services

- +

How to use XYZ tiles in desktop software

+
    +
  • + QGIS +
  • +
  • + ArcGIS +
  • +
+

How to use XYZ tiles on the web

+
    +
  • Leaflet
  • +
  • OpenLayers
  • +
  • + Mapbox/MapLibre GL JS +
  • +
  • + ArcGIS Online +
  • +
  • + OpenHistoricalMap (iD Editor) +
  • +
diff --git a/ohmg/frontend/svelte_components/src/georeference.js b/ohmg/frontend/svelte_components/src/georeference.js index 822e2b0c..f3059edf 100644 --- a/ohmg/frontend/svelte_components/src/georeference.js +++ b/ohmg/frontend/svelte_components/src/georeference.js @@ -1,4 +1,4 @@ -import Georeferencer from './components/Georeferencer.svelte'; +import Georeferencer from './components/interfaces/Georeferencer.svelte'; export default new Georeferencer({ target: document.getElementById('georeference-target'), diff --git a/ohmg/frontend/svelte_components/src/map.js b/ohmg/frontend/svelte_components/src/map.js index 08cf55e9..84fbbd92 100644 --- a/ohmg/frontend/svelte_components/src/map.js +++ b/ohmg/frontend/svelte_components/src/map.js @@ -1,4 +1,4 @@ -import Map from './components/Map.svelte'; +import Map from './components/map/Map.svelte'; export default new Map({ target: document.getElementById('map-target'), diff --git a/ohmg/frontend/svelte_components/src/mapbrowse.js b/ohmg/frontend/svelte_components/src/mapbrowse.js index 1f2cfa54..5f1e9956 100644 --- a/ohmg/frontend/svelte_components/src/mapbrowse.js +++ b/ohmg/frontend/svelte_components/src/mapbrowse.js @@ -1,4 +1,4 @@ -import MapBrowse from './components/interfaces/MapBrowse.svelte'; +import MapBrowse from './components/search/MapBrowse.svelte'; export default new MapBrowse({ target: document.getElementById('mapbrowse-target'), diff --git a/ohmg/frontend/svelte_components/src/place.js b/ohmg/frontend/svelte_components/src/place.js index 7248fb3d..e2ed12b2 100644 --- a/ohmg/frontend/svelte_components/src/place.js +++ b/ohmg/frontend/svelte_components/src/place.js @@ -1,4 +1,4 @@ -import Place from './components/overviews/Place.svelte'; +import Place from './components/place/Place.svelte'; export default new Place({ target: document.getElementById('place-target'), diff --git a/ohmg/frontend/svelte_components/src/resource.js b/ohmg/frontend/svelte_components/src/resource.js index b74ddc95..7498aa4d 100644 --- a/ohmg/frontend/svelte_components/src/resource.js +++ b/ohmg/frontend/svelte_components/src/resource.js @@ -1,4 +1,4 @@ -import Resource from './components/Resource.svelte'; +import Resource from './components/resource/Resource.svelte'; export default new Resource({ target: document.getElementById('resource-target'), From 0278718f16f56d9cf7a6e350e35444fc43869d41 Mon Sep 17 00:00:00 2001 From: Adam Cox Date: Sun, 21 Jun 2026 00:28:36 -0500 Subject: [PATCH 5/7] remove print statement --- ohmg/conf/http.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ohmg/conf/http.py b/ohmg/conf/http.py index 0dc3ba6f..128d8d30 100644 --- a/ohmg/conf/http.py +++ b/ohmg/conf/http.py @@ -39,7 +39,6 @@ def user_info_from_request(request): user_info["is_authenticated"] = True user_info["is_staff"] = user.is_staff user_info["perms"] = list(user.get_all_permissions()) - print(json.dumps(user_info, indent=1)) else: user_info = { "is_authenticated": False, From f0391dd8c728811473f4a16a533d8833d1bbefeb Mon Sep 17 00:00:00 2001 From: Adam Cox Date: Sun, 21 Jun 2026 11:02:22 -0500 Subject: [PATCH 6/7] consolidate modal and add more confirmations, fix #315 --- ohmg/core/views.py | 2 +- .../src/components/Viewer.svelte | 4 +- .../src/components/base/Modal.svelte | 15 +- .../src/components/base/ModalConfirm.svelte | 6 +- .../interfaces/Georeferencer.svelte | 34 ++-- .../components/interfaces/MapPreview.svelte | 4 +- .../components/interfaces/MultiMask.svelte | 74 ++++++-- .../src/components/interfaces/Splitter.svelte | 95 +++++----- .../src/components/map/Map.svelte | 176 +++++++++++++++--- .../components/map/MultimaskSection.svelte | 20 +- .../shared/buttons/InfoModalButton.svelte | 4 +- .../components/shared/cards/LayerCard.svelte | 6 +- .../components/shared/cards/NonMapCard.svelte | 9 +- .../shared/cards/PreparedCard.svelte | 19 +- .../shared/cards/SkippedCard.svelte | 9 +- .../shared/cards/UnpreparedCard.svelte | 50 ++--- .../shared/modals/ConfirmNoSplitModal.svelte | 42 ----- .../modals/ConfirmUngeoreferenceModal.svelte | 23 +-- .../shared/modals/ExtendSessionModal.svelte | 4 +- ohmg/frontend/svelte_components/src/split.js | 2 +- 20 files changed, 364 insertions(+), 234 deletions(-) delete mode 100644 ohmg/frontend/svelte_components/src/components/shared/modals/ConfirmNoSplitModal.svelte diff --git a/ohmg/core/views.py b/ohmg/core/views.py index 36950987..baf30225 100644 --- a/ohmg/core/views.py +++ b/ohmg/core/views.py @@ -459,7 +459,7 @@ def post(self, request): logger.warning(f"{self} | improper GeoJSON in mask") errors.append((lyr_slug, e)) if errors: - return JsonResponseFail("; ".join([f"\n-- {i[0]}: {i[1]}" for i in errors])) + return JsonResponseFail("
".join([f"{i[0]}: {i[1]}" for i in errors])) for layer in layerset.get_layers(): # if there is no mask to set and the layer doesn't need a mask removed, skip diff --git a/ohmg/frontend/svelte_components/src/components/Viewer.svelte b/ohmg/frontend/svelte_components/src/components/Viewer.svelte index fffcf884..66be4383 100644 --- a/ohmg/frontend/svelte_components/src/components/Viewer.svelte +++ b/ohmg/frontend/svelte_components/src/components/Viewer.svelte @@ -36,7 +36,7 @@ import LayerGroup from 'ol/layer/Group'; import { MapViewer } from '../lib/viewers'; - import Modal, { getModal } from './base/Modal.svelte'; + import Modal, { openModal } from './base/Modal.svelte'; import Link from './base/Link.svelte'; import MapboxLogoLink from './interfaces/widgets/MapboxLogoLink.svelte'; @@ -514,7 +514,7 @@
diff --git a/ohmg/frontend/svelte_components/src/components/base/Modal.svelte b/ohmg/frontend/svelte_components/src/components/base/Modal.svelte index 31d4b11e..96112bbb 100644 --- a/ohmg/frontend/svelte_components/src/components/base/Modal.svelte +++ b/ohmg/frontend/svelte_components/src/components/base/Modal.svelte @@ -6,6 +6,14 @@ export function getModal(id = '') { return modals[id]; } + + export function openModal(id = '') { + getModal(id).open() + } + + export function closeModal(id = '') { + getModal(id).close() + } @@ -80,7 +91,7 @@ > -