Skip to content

Commit

Permalink
Merge branch 'develop' into fishing-map/vessel-profile-3
Browse files Browse the repository at this point in the history
  • Loading branch information
satellitestudiodesign authored Oct 1, 2024
2 parents a5e4395 + 3a3f12f commit 1d68fd0
Show file tree
Hide file tree
Showing 22 changed files with 124 additions and 68 deletions.
4 changes: 3 additions & 1 deletion apps/fishing-map/features/search/search.hook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,9 @@ export const useFetchSearchResults = () => {
if (total >= 0) {
trackEvent({
category: TrackCategory.SearchVessel,
action: 'Search specific vessel',
action: searchInBasic
? 'Search specific vessel'
: 'add_filters_and_hit_search_in_advanced_search',
label: query,
value: total,
})
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/features/timebar/Timebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,8 @@ const TimebarWrapper = () => {
DAY_INTERVAL_BUTTON: 'Use day preset',
MONTH_INTERVAL_BUTTON: 'Use month preset',
YEAR_INTERVAL_BUTTON: 'Use year preset',
SEEK_RELEASE: 'Move timebar slider',
BOOKMARK_SELECT: 'Select bookmark period',
}
if (e.source && gaActions[e.source]) {
trackEvent({
Expand Down
30 changes: 30 additions & 0 deletions apps/fishing-map/features/timebar/TimebarSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,28 @@ const TimebarSettings = ({ loading = false }: { loading: boolean }) => {
}
const setHeatmapActivityActive = () => {
dispatchTimebarVisualisation(TimebarVisualisations.HeatmapActivity)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.HeatmapActivity}`,
})
}
const setHeatmapDetectionsActive = () => {
dispatchTimebarVisualisation(TimebarVisualisations.HeatmapDetections)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.HeatmapDetections}`,
})
}
const setEnvironmentActive = (environmentalDataviewId: string) => {
dispatchTimebarVisualisation(TimebarVisualisations.Environment)
dispatchTimebarSelectedEnvId(environmentalDataviewId)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.Environment} - ${environmentalDataviewId}`,
})
}
const setVesselGroupActive = (vesselGroupDataviewId: string) => {
dispatchTimebarVisualisation(TimebarVisualisations.VesselGroup)
Expand All @@ -114,14 +129,29 @@ const TimebarSettings = ({ loading = false }: { loading: boolean }) => {
const setVesselActive = () => {
dispatchTimebarVisualisation(TimebarVisualisations.Vessel)
dispatchTimebarGraph(TimebarGraphs.None)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.Vessel} - ${TimebarGraphs.None}`,
})
}
const setVesselGraphSpeed = () => {
dispatchTimebarVisualisation(TimebarVisualisations.Vessel)
dispatchTimebarGraph(TimebarGraphs.Speed)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.Vessel} - ${TimebarGraphs.Speed}`,
})
}
const setVesselGraphDepth = () => {
dispatchTimebarVisualisation(TimebarVisualisations.Vessel)
dispatchTimebarGraph(TimebarGraphs.Depth)
trackEvent({
category: TrackCategory.Timebar,
action: 'select_timebar_settings',
label: `${TimebarVisualisations.Vessel} - ${TimebarGraphs.Depth}`,
})
}

const expandedContainerRef = useClickedOutside(closeOptions)
Expand Down
17 changes: 4 additions & 13 deletions apps/fishing-map/features/workspace/save/WorkspaceCreateModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,11 @@ function CreateWorkspaceModal({ title, onFinish }: CreateWorkspaceModalProps) {
const containsPrivateDatasets = privateDatasets.length > 0

const [name, setName] = useState('')
const [viewAccess, setViewAccess] = useState<WorkspaceViewAccessType>(
containsPrivateDatasets ? WORKSPACE_PRIVATE_ACCESS : WORKSPACE_PUBLIC_ACCESS
)
const [viewAccess, setViewAccess] = useState<WorkspaceViewAccessType>(WORKSPACE_PUBLIC_ACCESS)
const [editAccess, setEditAccess] = useState<WorkspaceEditAccessType>(WORKSPACE_PRIVATE_ACCESS)
const [password, setPassword] = useState<string>('')

const viewOptions = getViewAccessOptions()
const viewOptions = getViewAccessOptions(containsPrivateDatasets)
const {
timeRangeOptions,
timeRangeOption,
Expand Down Expand Up @@ -100,12 +98,6 @@ function CreateWorkspaceModal({ title, onFinish }: CreateWorkspaceModalProps) {
}
}

useEffect(() => {
if (containsPrivateDatasets) {
setViewAccess(WORKSPACE_PRIVATE_ACCESS)
}
}, [containsPrivateDatasets])

useEffect(() => {
if (workspaceModalOpen) {
setDefaultWorkspaceName()
Expand Down Expand Up @@ -230,12 +222,11 @@ function CreateWorkspaceModal({ title, onFinish }: CreateWorkspaceModalProps) {
options={viewOptions}
direction="top"
label={t('workspace.viewAccess', 'View access')}
disabled={containsPrivateDatasets}
infoTooltip={
containsPrivateDatasets
? `${t(
'workspace.uploadPublicDisabled',
"This workspace can't be shared publicly because it contains private datasets"
'workspace.sharePrivateDisclaimer',
'This workspace contains datasets that require special permissions'
)}: ${privateDatasets.join(', ')}`
: ''
}
Expand Down
20 changes: 12 additions & 8 deletions apps/fishing-map/features/workspace/save/workspace-save.utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,20 @@ const formatTimerangeBoundary = (
}).replace(/[.,]/g, '')
}

export function getViewAccessOptions(): SelectOption<WorkspaceViewAccessType>[] {
export function getViewAccessOptions(
containsPrivateDatasets = false
): SelectOption<WorkspaceViewAccessType>[] {
const permissionsLabel = containsPrivateDatasets
? `(${t('common.permissions', 'permissions required')})`
: ''
return [
{ id: WORKSPACE_PUBLIC_ACCESS, label: t('common.anyoneWithTheLink', 'Anyone with the link') },
{
id: WORKSPACE_PUBLIC_ACCESS,
label: `${t('common.anyoneWithTheLink', 'Anyone with the link')} ${permissionsLabel}`,
},
{
id: WORKSPACE_PASSWORD_ACCESS,
label: t('common.anyoneWithThePassword', 'Anyone with the password'),
label: `${t('common.anyoneWithThePassword', 'Anyone with the password')} ${permissionsLabel}`,
},
{ id: WORKSPACE_PRIVATE_ACCESS, label: t('common.onlyMe', 'Only me') },
]
Expand Down Expand Up @@ -83,11 +91,7 @@ export function getEditAccessOptionsByViewAccess(
return getEditAccessOptions()
}

const getStaticWorkspaceName = ({
timerange,
}: {
timerange: { start: string; end: string }
}) => {
const getStaticWorkspaceName = ({ timerange }: { timerange: { start: string; end: string } }) => {
if (timerange?.start && timerange?.end) {
const dateFormat = pickDateFormatByRange(timerange.start as string, timerange.end as string)
return t('common.timerangeDescription', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ import { WORKSPACE_SEARCH } from 'routes/routes'
import { DEFAULT_WORKSPACE_CATEGORY, DEFAULT_WORKSPACE_ID } from 'data/workspaces'
import { selectWorkspace } from 'features/workspace/workspace.selectors'
import { useDataviewInstancesConnect } from 'features/workspace/workspace.hook'
import { selectVesselsDataviews } from 'features/dataviews/selectors/dataviews.instances.selectors'
import {
selectActiveVesselsDataviews,
selectVesselsDataviews,
} from 'features/dataviews/selectors/dataviews.instances.selectors'
import { selectIsGuestUser } from 'features/user/selectors/user.selectors'
import {
hasTracksWithNoData,
Expand Down
2 changes: 1 addition & 1 deletion apps/fishing-map/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@globalfishingwatchapp/fishing-map",
"version": "3.0.18",
"version": "3.0.20",
"private": true,
"scripts": {
"dev": "next",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/en/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "The current workspace has been saved and it's available in your profile.",
"saveLogin": "Register and log in to save workspaces (free, 2 minutes)",
"saveOwnerOnly": "This workspace can only be edited by its creator",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "The Global Fishing Watch map is the first open-access platform for visualization and analysis of marine traffic and vessel-based human activity at sea.",
"fishing-activity": "The Global Fishing Watch map is the first open-access platform for visualization and analysis of marine traffic and vessel-based human activity at sea.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/es/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "La vista actual ha sido guardada y está disponible en tu perfil de usuario",
"saveLogin": "Necesita iniciar sesión para guardar la vista actual (gratis y toma 2 minutos)",
"saveOwnerOnly": "Esta área de trabajo solo puede ser editada por su creador",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "El mapa Global Fishing Watch es la primera plataforma de acceso abierto para la visualización y el análisis del tráfico marítimo y de la actividad humana basada en el comercio marítimo.",
"fishing-activity": "El mapa Global Fishing Watch es la primera plataforma de acceso abierto para la visualización y el análisis del tráfico marítimo y de la actividad humana basada en el comercio marítimo.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/fr/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "La vue actuelle a été enregistrée et est disponible dans votre profil",
"saveLogin": "Vous devez vous connecter pour enregistrer les vues (gratuit, 2 minutes)",
"saveOwnerOnly": "Cet espace de travail ne peut être modifié que par l'utilisateur qui l'a créé",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "La carte Global Fishing Watch est la première plate-forme libre d'accès pour la visualisation et l'analyse du trafic maritime et de l'activité humaine en mer.",
"fishing-activity": "La carte Global Fishing Watch est la première plateforme libre d'accès pour la visualisation et l'analyse du trafic maritime et de l'activité humaine en mer.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/id/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "Tampilan saat ini telah disimpan dan tersedia di profil Anda",
"saveLogin": "Anda harus masuk untuk menyimpan tampilan (gratis, 2 menit)",
"saveOwnerOnly": "This workspace can only be edited by its creator",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "Peta Global Fishing Watch adalah platform akses terbuka pertama untuk visualisasi dan analisis lalu lintas laut dan aktivitas manusia berbasis kapal di laut.",
"fishing-activity": "Peta Global Fishing Watch adalah platform akses terbuka pertama untuk visualisasi dan analisis lalu lintas laut dan aktivitas manusia berbasis kapal di laut.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/pt/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "A visualização atual foi salva e está disponível no seu perfil de usuário",
"saveLogin": "Você precisa fazer login para salvar as visualizações",
"saveOwnerOnly": "This workspace can only be edited by its creator",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "O mapa do Global Fishing Watch é a primeira plataforma de acesso aberto para visualização e análise do tráfego marítimo e da atividade humana no mar.",
"fishing-activity": "O mapa do Global Fishing Watch é a primeira plataforma de acesso aberto para visualização e análise do tráfego marítimo e da atividade humana no mar.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/source/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,8 @@
"saved": "Current view was saved and it's available in your user profile",
"saveLogin": "You need to login to save views",
"saveOwnerOnly": "This workspace can only be edited by its creator",
"sharePrivateDisclaimer": "This workspace contains datasets that require special permissions",
"sharePrivatePermissionsRequired": "permissions required",
"siteDescription": {
"default": "The Global Fishing Watch map is the first open-access platform for visualization and analysis of marine traffic and vessel-based human activity at sea.",
"fishing-activity": "The Global Fishing Watch map is the first open-access platform for visualization and analysis of marine traffic and vessel-based human activity at sea.",
Expand Down
2 changes: 2 additions & 0 deletions apps/fishing-map/public/locales/val/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1054,6 +1054,8 @@
"saved": "crwdns60733:0crwdne60733:0",
"saveLogin": "crwdns60735:0crwdne60735:0",
"saveOwnerOnly": "crwdns83254:0crwdne83254:0",
"sharePrivateDisclaimer": "crwdns83684:0crwdne83684:0",
"sharePrivatePermissionsRequired": "crwdns83686:0crwdne83686:0",
"siteDescription": {
"default": "crwdns60737:0crwdne60737:0",
"fishing-activity": "crwdns60739:0crwdne60739:0",
Expand Down
3 changes: 3 additions & 0 deletions libs/deck-layers/src/layers/vessel/VesselLayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,9 @@ export class VesselLayer extends CompositeLayer<VesselLayerProps & LayerProps> {
}

getVesselTracksLayersLoaded() {
if (this.getTrackLayers().length === 0) {
return true
}
return (
(this.getTrackLayers().length > 0 && this.getTrackLayers().every((l) => l.isLoaded)) ||
this.getVesselLayersError('track')
Expand Down
2 changes: 2 additions & 0 deletions libs/deck-layers/src/utils/sort.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export enum LayerGroup {
Cluster = 'cluster', // Cluster circles
Tool = 'tool', // Tools such as rulers, etc
Label = 'label', // All non-basemap layers labels
ClusterLabel = 'clusterLabel', // Cluster labels
Overlay = 'overlay', // Popups, ruler tool, etc
}

Expand All @@ -47,6 +48,7 @@ export const LAYER_GROUP_ORDER = [
LayerGroup.OutlinePolygonsHighlighted,
LayerGroup.Label,
LayerGroup.Cluster,
LayerGroup.ClusterLabel,
LayerGroup.Tool,
LayerGroup.Overlay,
]
Expand Down
4 changes: 4 additions & 0 deletions libs/i18n-labels/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).

## [1.2.207](https://github.com/GlobalFishingWatch/frontend/compare/[email protected]@1.2.207) (2024-09-20)



## [1.2.206](https://github.com/GlobalFishingWatch/frontend/compare/[email protected]@1.2.206) (2024-09-13)


Expand Down
Loading

0 comments on commit 1d68fd0

Please sign in to comment.