diff --git a/config/default/common/brand/about/welcome.md b/config/default/common/brand/about/welcome.md index 0b617e7fb6..65881627a0 100644 --- a/config/default/common/brand/about/welcome.md +++ b/config/default/common/brand/about/welcome.md @@ -26,6 +26,6 @@ mapping library, GIBS imagery can also be accessed from Google Earth, NASA World Wind, and several other clients. We encourage interested developers to build their own clients or integrate NASA imagery into their existing ones using these services.

-

Frequently - Asked Questions

+

View the Frequently + Asked Questions and visit the Worldview Image of the Week archive which uses data and imagery available in Worldview to highlight recent events, hazards, and disasters.


diff --git a/config/default/common/config/wv.json/stories/default/worldview_intro.json b/config/default/common/config/wv.json/stories/default/worldview_intro.json index 6ed19a4350..260d7c340d 100644 --- a/config/default/common/config/wv.json/stories/default/worldview_intro.json +++ b/config/default/common/config/wv.json/stories/default/worldview_intro.json @@ -118,7 +118,7 @@ }, { "target": "#wv-share-button", - "content": "Create a custom URL link of your Worldview page and share Worldview via social media with friends and colleagues!", + "content": "Create a custom URL link of your Worldview map view, access information about embedding Worldview, learn how to use imagery directly from GIBS, and remember to cite us!", "placementBeacon": "bottom" }, { diff --git a/e2e/features/share/share-test.spec.js b/e2e/features/share/share-test.spec.js index 4409ce4e6a..81b81fd800 100644 --- a/e2e/features/share/share-test.spec.js +++ b/e2e/features/share/share-test.spec.js @@ -29,12 +29,12 @@ test('Clicking the share link button opens the share dialog', async () => { await expect(shareToolbar).toBeVisible() }) -test('Share tabs link and social are visible and enabled', async () => { +test('Share tabs link and cite us are visible and enabled', async () => { const linkShareNav = await page.locator('.link-share-nav') - const socialShareNav = await page.locator('.social-share-nav') + const citeUsShareNav = await page.locator('.cite-us-share-nav') const linkShareActive = await page.locator('.link-share-nav a') await expect(linkShareNav).toBeVisible() - await expect(socialShareNav).toBeVisible() + await expect(citeUsShareNav).toBeVisible() await expect(linkShareActive).toHaveClass(/active/) }) @@ -72,20 +72,6 @@ test('Share link clipboard with no time query string param in the page url will expect(shareLinkValue).toContain(`t=${year}-${monthText}-${dayText}`) }) -test('Clicking the social tab displays social share buttons', async () => { - const { shareToolbarButton } = selectors - const facebook = await page.locator('#fb-share') - const twitter = await page.locator('#tw-share') - const reddit = await page.locator('#rd-share') - const email = await page.locator('#email-share') - await shareToolbarButton.click() - await page.locator('.social-share-nav a').click() - await expect(facebook).toBeVisible() - await expect(twitter).toBeVisible() - await expect(reddit).toBeVisible() - await expect(email).toBeVisible() -}) - test('Clicking Shorten link works with links less than 2049 characters', async () => { const { shareToolbarButton } = selectors const shortQueryString = 'http://localhost:3000/?l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&t=2022-08-10-T15%3A15%3A05Z' diff --git a/package-lock.json b/package-lock.json index adc50d2a1e..2abcefaa7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,23 +1,23 @@ { "name": "worldview", - "version": "4.43.0", + "version": "4.44.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "worldview", - "version": "4.43.0", + "version": "4.44.0", "hasInstallScript": true, "license": "NASA-1.3", "dependencies": { "@elastic/react-search-ui": "^1.21.5", "@elastic/react-search-ui-views": "^1.21.2", - "@fortawesome/fontawesome-svg-core": "^6.5.2", - "@fortawesome/free-brands-svg-icons": "^6.5.2", - "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-brands-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@khanisak/temperature-converter": "^2.0.1", - "@reduxjs/toolkit": "^2.2.5", + "@reduxjs/toolkit": "^2.2.6", "axios": "^1.7.2", "bluebird": "3.7.2", "bootstrap": "^5.3.3", @@ -42,17 +42,17 @@ "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", "ol": "^8.2.0", - "ol-mapbox-style": "^12.3.3", + "ol-mapbox-style": "^12.3.4", "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", - "qs": "^6.12.1", + "qs": "^6.12.3", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", "react-device-detect": "^2.2.3", "react-dom": "^18.3.0", "react-draggable": "^4.4.6", - "react-image-crop": "^11.0.4", + "react-image-crop": "^11.0.6", "react-infinite-scroller": "^1.2.6", "react-joyride": "^2.8.2", "react-mobile-datepicker": "^4.0.2", @@ -78,13 +78,13 @@ "what-input": "^5.2.12" }, "devDependencies": { - "@babel/core": "^7.24.7", - "@babel/eslint-parser": "^7.24.7", + "@babel/core": "^7.24.9", + "@babel/eslint-parser": "^7.24.8", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/preset-env": "^7.24.7", + "@babel/preset-env": "^7.24.8", "@babel/preset-react": "^7.24.7", - "@playwright/test": "^1.45.0", + "@playwright/test": "^1.45.2", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.16.0", @@ -96,7 +96,7 @@ "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.0", "css-url-relative-plugin": "^1.1.0", - "cssnano": "^7.0.3", + "cssnano": "^7.0.4", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-standard": "^17.1.0", @@ -107,10 +107,10 @@ "eslint-plugin-n": "^17.9.0", "eslint-plugin-no-storage": "^1.0.2", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.2.0", - "eslint-plugin-react": "^7.34.3", + "eslint-plugin-promise": "^6.4.0", + "eslint-plugin-react": "^7.34.4", "express": "^4.19.2", - "glob": "^10.4.2", + "glob": "^11.0.0", "husky": "^9.0.11", "jest": "^29.7.0", "jest-canvas-mock": "^2.5.2", @@ -121,7 +121,7 @@ "node-ssh": "^13.2.0", "npm-run-all": "^4.1.5", "patch-package": "^8.0.0", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "postcss-loader": "^8.1.1", "react-refresh": "^0.14.1", "react-test-renderer": "^18.3.0", @@ -137,10 +137,10 @@ "tar": "^7.4.0", "terser-webpack-plugin": "^5.3.10", "uuid": "^10.0.0", - "webpack": "^5.92.1", + "webpack": "^5.93.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", - "webpack-dev-middleware": "^7.2.1", + "webpack-dev-middleware": "^7.3.0", "webpack-dev-server": "^5.0.4", "xml-js": "^1.6.11", "xml2js": "^0.6.2", @@ -180,26 +180,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.7", + "version": "7.24.8", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.7", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -215,7 +217,7 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { @@ -232,10 +234,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.7", + "version": "7.24.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", + "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.24.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -280,12 +284,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", + "version": "7.24.8", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -412,7 +416,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", @@ -440,7 +446,7 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "engines": { @@ -513,7 +519,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -527,7 +535,7 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", + "version": "7.24.8", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -548,11 +556,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.24.7", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", "license": "MIT", "dependencies": { "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -572,7 +582,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.7", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "license": "MIT", "bin": { "parser": "bin/babel-parser.js" @@ -1015,15 +1027,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", "globals": "^11.1.0" @@ -1051,11 +1063,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1243,12 +1255,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" }, "engines": { @@ -1397,11 +1409,11 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1620,11 +1632,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1693,14 +1705,14 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.7", + "version": "7.24.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", + "@babel/compat-data": "^7.24.8", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", @@ -1731,9 +1743,9 @@ "@babel/plugin-transform-block-scoping": "^7.24.7", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.8", "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", "@babel/plugin-transform-duplicate-keys": "^7.24.7", "@babel/plugin-transform-dynamic-import": "^7.24.7", @@ -1746,7 +1758,7 @@ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-modules-systemjs": "^7.24.7", "@babel/plugin-transform-modules-umd": "^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", @@ -1756,7 +1768,7 @@ "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-object-super": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", @@ -1767,7 +1779,7 @@ "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", @@ -1776,7 +1788,7 @@ "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.4", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -1846,17 +1858,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.24.7", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", + "@babel/generator": "^7.24.8", "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-function-name": "^7.24.7", "@babel/helper-hoist-variables": "^7.24.7", "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1865,10 +1879,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.7", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -2248,41 +2264,45 @@ "license": "MIT" }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", + "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" @@ -3251,11 +3271,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.45.0", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.45.3.tgz", + "integrity": "sha512-UKF4XsBfy+u3MFWEH44hva1Q8Da28G6RFtR2+5saw+jgAFQV5yYnB1fu68Mz7fO+5GJF3wgwAIs0UelU8TxFrA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.45.0" + "playwright": "1.45.3" }, "bin": { "playwright": "cli.js" @@ -3351,7 +3373,7 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.2.5", + "version": "2.2.6", "license": "MIT", "dependencies": { "immer": "^10.0.3", @@ -4495,17 +4517,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", "dev": true, @@ -5849,7 +5860,7 @@ } }, "node_modules/core-js-compat": { - "version": "3.36.1", + "version": "3.37.1", "dev": true, "license": "MIT", "dependencies": { @@ -6266,11 +6277,11 @@ "license": "MIT" }, "node_modules/cssnano": { - "version": "7.0.3", + "version": "7.0.4", "dev": true, "license": "MIT", "dependencies": { - "cssnano-preset-default": "^7.0.3", + "cssnano-preset-default": "^7.0.4", "lilconfig": "^3.1.2" }, "engines": { @@ -6285,7 +6296,7 @@ } }, "node_modules/cssnano-preset-default": { - "version": "7.0.3", + "version": "7.0.4", "dev": true, "license": "MIT", "dependencies": { @@ -6294,7 +6305,7 @@ "cssnano-utils": "^5.0.0", "postcss-calc": "^10.0.0", "postcss-colormin": "^7.0.1", - "postcss-convert-values": "^7.0.1", + "postcss-convert-values": "^7.0.2", "postcss-discard-comments": "^7.0.1", "postcss-discard-duplicates": "^7.0.0", "postcss-discard-empty": "^7.0.0", @@ -7798,7 +7809,7 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "6.2.0", + "version": "6.4.0", "dev": true, "license": "ISC", "engines": { @@ -7812,34 +7823,36 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.34.3", + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", "dev": true, "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.hasown": "^1.1.4", "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { @@ -8903,22 +8916,22 @@ } }, "node_modules/glob": { - "version": "10.4.2", + "version": "11.0.0", "dev": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -8948,14 +8961,14 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "9.0.4", + "version": "10.0.1", "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -10179,14 +10192,14 @@ } }, "node_modules/jackspeak": { - "version": "3.1.2", + "version": "4.0.1", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=14" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -12490,6 +12503,81 @@ "node": ">= 18" } }, + "node_modules/minizlib/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/minizlib/node_modules/glob": { + "version": "10.4.5", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/minizlib/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/minizlib/node_modules/rimraf": { "version": "5.0.5", "dev": true, @@ -12928,22 +13016,6 @@ "get-intrinsic": "^1.2.1" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { "version": "1.2.0", "dev": true, @@ -12982,7 +13054,7 @@ } }, "node_modules/ol-mapbox-style": { - "version": "12.3.3", + "version": "12.3.4", "license": "BSD-2-Clause", "dependencies": { "@mapbox/mapbox-gl-style-spec": "^13.23.1", @@ -13425,26 +13497,26 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", + "version": "2.0.0", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", + "version": "11.0.0", "dev": true, "license": "ISC", "engines": { - "node": "14 || >=16.14" + "node": "20 || >=22" } }, "node_modules/path-to-regexp": { @@ -13591,11 +13663,13 @@ } }, "node_modules/playwright": { - "version": "1.45.0", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz", + "integrity": "sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.45.0" + "playwright-core": "1.45.3" }, "bin": { "playwright": "cli.js" @@ -13608,7 +13682,9 @@ } }, "node_modules/playwright-core": { - "version": "1.45.0", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz", + "integrity": "sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -13635,7 +13711,7 @@ } }, "node_modules/postcss": { - "version": "8.4.38", + "version": "8.4.39", "dev": true, "funding": [ { @@ -13654,7 +13730,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -13694,7 +13770,7 @@ } }, "node_modules/postcss-convert-values": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "license": "MIT", "dependencies": { @@ -14356,7 +14432,7 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.12.1", + "version": "6.12.3", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" @@ -14622,7 +14698,9 @@ "license": "MIT" }, "node_modules/react-image-crop": { - "version": "11.0.5", + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/react-image-crop/-/react-image-crop-11.0.6.tgz", + "integrity": "sha512-T+/RPBhwFxdf8PjD/uoWk+tBkS0Xf2XW0lY5mnsmClvnAujO81EEjDwj0M2pcHX3seXVgKOr/yIiL+Sx4evMNw==", "license": "ISC", "peerDependencies": { "react": ">=16.13.1" @@ -16393,6 +16471,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.9", "dev": true, @@ -17568,7 +17657,9 @@ } }, "node_modules/webpack": { - "version": "5.92.1", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -17720,7 +17811,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.2.1", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.3.0.tgz", + "integrity": "sha512-xD2qnNew+F6KwOGZR7kWdbIou/ud7cVqLEXeK1q0nHcNsX/u7ul/fSdlOTX4ntSL5FNFy7ZJJXbf0piF591JYw==", "dev": true, "license": "MIT", "dependencies": { @@ -17889,6 +17982,33 @@ } } }, + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "10.4.5", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/webpack-dev-server/node_modules/ipaddr.js": { "version": "2.1.0", "dev": true, @@ -17911,6 +18031,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/webpack-dev-server/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/webpack-dev-server/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/webpack-dev-server/node_modules/open": { "version": "10.1.0", "dev": true, @@ -17928,6 +18081,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/webpack-dev-server/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "5.0.5", "dev": true, diff --git a/package.json b/package.json index 6f3016d2bd..70b082485f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "4.43.0", + "version": "4.44.0", "description": "Interactive interface for browsing full-resolution, global satellite imagery", "keywords": [ "NASA", @@ -77,13 +77,13 @@ "upload": "node tasks/util/upload.js" }, "devDependencies": { - "@babel/core": "^7.24.7", - "@babel/eslint-parser": "^7.24.7", + "@babel/core": "^7.24.9", + "@babel/eslint-parser": "^7.24.8", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/preset-env": "^7.24.7", + "@babel/preset-env": "^7.24.8", "@babel/preset-react": "^7.24.7", - "@playwright/test": "^1.45.0", + "@playwright/test": "^1.45.2", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.16.0", @@ -95,7 +95,7 @@ "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.0", "css-url-relative-plugin": "^1.1.0", - "cssnano": "^7.0.3", + "cssnano": "^7.0.4", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-standard": "^17.1.0", @@ -106,10 +106,10 @@ "eslint-plugin-n": "^17.9.0", "eslint-plugin-no-storage": "^1.0.2", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.2.0", - "eslint-plugin-react": "^7.34.3", + "eslint-plugin-promise": "^6.4.0", + "eslint-plugin-react": "^7.34.4", "express": "^4.19.2", - "glob": "^10.4.2", + "glob": "^11.0.0", "husky": "^9.0.11", "jest": "^29.7.0", "jest-canvas-mock": "^2.5.2", @@ -120,7 +120,7 @@ "node-ssh": "^13.2.0", "npm-run-all": "^4.1.5", "patch-package": "^8.0.0", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "postcss-loader": "^8.1.1", "react-refresh": "^0.14.1", "react-test-renderer": "^18.3.0", @@ -136,10 +136,10 @@ "tar": "^7.4.0", "terser-webpack-plugin": "^5.3.10", "uuid": "^10.0.0", - "webpack": "^5.92.1", + "webpack": "^5.93.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", - "webpack-dev-middleware": "^7.2.1", + "webpack-dev-middleware": "^7.3.0", "webpack-dev-server": "^5.0.4", "xml-js": "^1.6.11", "xml2js": "^0.6.2", @@ -148,12 +148,12 @@ "dependencies": { "@elastic/react-search-ui": "^1.21.5", "@elastic/react-search-ui-views": "^1.21.2", - "@fortawesome/fontawesome-svg-core": "^6.5.2", - "@fortawesome/free-brands-svg-icons": "^6.5.2", - "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-brands-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@khanisak/temperature-converter": "^2.0.1", - "@reduxjs/toolkit": "^2.2.5", + "@reduxjs/toolkit": "^2.2.6", "axios": "^1.7.2", "bluebird": "3.7.2", "bootstrap": "^5.3.3", @@ -178,17 +178,17 @@ "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", "ol": "^8.2.0", - "ol-mapbox-style": "^12.3.3", + "ol-mapbox-style": "^12.3.4", "p-queue": "^8.0.1", "proj4": "^2.11.0", "prop-types": "^15.8.1", - "qs": "^6.12.1", + "qs": "^6.12.3", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", "react-device-detect": "^2.2.3", "react-dom": "^18.3.0", "react-draggable": "^4.4.6", - "react-image-crop": "^11.0.4", + "react-image-crop": "^11.0.6", "react-infinite-scroller": "^1.2.6", "react-joyride": "^2.8.2", "react-mobile-datepicker": "^4.0.2", diff --git a/tasks/build-options/getVisMetadata.js b/tasks/build-options/getVisMetadata.js index 5d0dfa52bd..7ba5ae4e8b 100644 --- a/tasks/build-options/getVisMetadata.js +++ b/tasks/build-options/getVisMetadata.js @@ -108,7 +108,9 @@ async function main (url) { console.warn(`${prog}: Fetching ${layerOrder.length} layer-metadata files`) for (const layerId of layerOrder) { - await getMetadata(layerId, url) + if (!layerId.includes('_STD') && !layerId.includes('_NRT')) { + await getMetadata(layerId, url) + } } const layers = Object.keys(layerMetadata).sort().reduce( diff --git a/web/js/components/layer/settings/imagery-search.js b/web/js/components/layer/settings/imagery-search.js index 3668f48111..7d43f71a6c 100644 --- a/web/js/components/layer/settings/imagery-search.js +++ b/web/js/components/layer/settings/imagery-search.js @@ -37,7 +37,7 @@ export default function ImagerySearch({ layer }) { const conceptID = layer?.conceptIds?.[0]?.value || layer?.collectionConceptID; - const getOlderGranules = async (layer, refDate = selectedDate, pageNum = 1) => { + const getSmallerExtent = () => { // clamp extent to maximum extent allowed by the CMR api const extent = map.extent.map((coord, i) => { const condition = i <= 1 ? coord > maxExtent[i] : coord < maxExtent[i]; @@ -46,8 +46,22 @@ export default function ImagerySearch({ layer }) { } return maxExtent[i]; }); + const xDiff = Math.abs(extent[0] - extent[2]); + const yDiff = Math.abs(extent[1] - extent[3]); + // Reduce width by 40% and height by 20%, to show only centered data + const smallerExtent = [ + extent[0] + (xDiff * 0.2), + extent[1] + (yDiff * 0.1), + extent[2] - (xDiff * 0.2), + extent[3] - (yDiff * 0.1), + ]; + return smallerExtent; + }; + + const getOlderGranules = async (layer, refDate = selectedDate, pageNum = 1) => { + const smallerExtent = getSmallerExtent(); try { - const olderUrl = `https://cmr.earthdata.nasa.gov/search/granules.json?collection_concept_id=${conceptID}&bounding_box=${extent.join(',')}&temporal=,${refDate.toISOString()}&sort_key=-start_date&pageSize=25&page_num=${pageNum}`; + const olderUrl = `https://cmr.earthdata.nasa.gov/search/granules.json?collection_concept_id=${conceptID}&bounding_box=${smallerExtent.join(',')}&temporal=,${refDate.toISOString()}&sort_key=-start_date&pageSize=25&page_num=${pageNum}`; const olderResponse = await fetch(olderUrl, { headers }); const olderGranules = await olderResponse.json(); const olderDates = olderGranules.feed.entry.map(parseGranuleTimestamp); @@ -59,16 +73,9 @@ export default function ImagerySearch({ layer }) { }; const getNewerGranules = async (layer, refDate = selectedDate, pageNum = 1) => { - // clamp extent to maximum extent allowed by the CMR api - const extent = map.extent.map((coord, i) => { - const condition = i <= 1 ? coord > maxExtent[i] : coord < maxExtent[i]; - if (condition) { - return coord; - } - return maxExtent[i]; - }); + const smallerExtent = getSmallerExtent(); try { - const newerUrl = `https://cmr.earthdata.nasa.gov/search/granules.json?collection_concept_id=${conceptID}&bounding_box=${extent.join(',')}&temporal=${refDate.toISOString()},&sort_key=start_date&pageSize=25&page_num=${pageNum}`; + const newerUrl = `https://cmr.earthdata.nasa.gov/search/granules.json?collection_concept_id=${conceptID}&bounding_box=${smallerExtent.join(',')}&temporal=${refDate.toISOString()},&sort_key=start_date&pageSize=25&page_num=${pageNum}`; const newerResponse = await fetch(newerUrl, { headers }); const newerGranules = await newerResponse.json(); const newerDates = newerGranules.feed.entry.map(parseGranuleTimestamp); diff --git a/web/js/components/toolbar/share/links.js b/web/js/components/toolbar/share/links.js deleted file mode 100644 index fd287319ec..0000000000 --- a/web/js/components/toolbar/share/links.js +++ /dev/null @@ -1,78 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import HoverTooltip from '../../util/hover-tooltip'; - -const ShareLinks = function ({ isMobile, onClick }) { - const handleClick = (event, type) => { - event.preventDefault(); - onClick(type); - }; - return ( -
- handleClick(e, 'facebook')} - > - - - - handleClick(e, 'twitter')} - > - - - - handleClick(e, 'reddit')} - > - - - - handleClick(e, 'email')} - > - - - -
- ); -}; - -ShareLinks.propTypes = { - isMobile: PropTypes.bool, - onClick: PropTypes.func, -}; - -export default ShareLinks; diff --git a/web/js/containers/share.js b/web/js/containers/share.js index b401a82762..e2ea7d7768 100644 --- a/web/js/containers/share.js +++ b/web/js/containers/share.js @@ -13,10 +13,9 @@ import { TabContent, TabPane, } from 'reactstrap'; import googleTagManager from 'googleTagManager'; -import ShareLinks from '../components/toolbar/share/links'; import ShareToolTips from '../components/toolbar/share/tooltips'; import { - getPermalink, getShareLink, wrapWithIframe, + getPermalink, wrapWithIframe, } from '../modules/link/util'; import onClickFeedback from '../modules/feedback/util'; import initFeedback from '../modules/feedback/actions'; @@ -39,8 +38,8 @@ const getShortenRequestString = (mock, permalink) => { ); }; -const DESKTOP_SHARE_TABS = ['link', 'embed', 'social']; -const MOBILE_SHARE_TABS = ['link', 'social']; +const DESKTOP_SHARE_TABS = ['link', 'embed', 'cite-us']; +const MOBILE_SHARE_TABS = ['link', 'cite-us']; class ShareLinkContainer extends Component { constructor(props) { @@ -142,34 +141,6 @@ class ShareLinkContainer extends Component { return getPermalink(queryString, selectedDate, isEmbed); }; - onLinkClick = (type) => { - const permalink = this.getPermalink(); - let shareLink = getShareLink(type, permalink); - - googleTagManager.pushEvent({ - event: 'share_social_platform', - social_type: type, - }); - - // If a short link can be generated, replace the full link. - if (type === 'twitter') { - const newTab = window.open('', '_blank'); - this.getShortLink().then(({ link }) => { - shareLink = getShareLink(type, link); - }).finally(() => { - newTab.location = shareLink; - }); - } else if (type === 'email') { - this.getShortLink().then(({ link }) => { - shareLink = getShareLink(type, link); - }).finally(() => { - window.location = shareLink; - }); - } else { - window.open(shareLink, '_blank'); - } - }; - setActiveTab = (activeTab) => { this.setState({ activeTab }); }; @@ -242,6 +213,27 @@ class ShareLinkContainer extends Component { ); + renderTextareaGroup = (value, type) => ( + +