diff --git a/.claude/skills/new-doc/SKILL.md b/.claude/skills/new-doc/SKILL.md index 0d5ad6cf7..c662d90b7 100644 --- a/.claude/skills/new-doc/SKILL.md +++ b/.claude/skills/new-doc/SKILL.md @@ -20,7 +20,7 @@ Ask: "Which category does this document belong to?" Present these options: 1. **Desktop Applications** (`desktop-applications/`) 2. **Toolbox Technical Manuals** (`toolbox-technical-manuals/`) -3. **Web Applications** (`web-applications/`) +3. **Web Applications and Services** (`web-applications/`) 4. **Developer Resources** (`dev/`) ### 1b — Software Product @@ -332,7 +332,7 @@ If the user chose to add the document to the header nav, edit `src/theme/Layout/ ### Add a version variable (non-dev versioned docs only): -In the appropriate section (Desktop Applications, Toolbox, Web Applications), add a new `const` for the document href: +In the appropriate section (Desktop Applications, Toolbox, Web Applications and Services), add a new `const` for the document href: ```javascript const {camelCaseVarName}Href = useBaseUrl( `/docs/{category}/{software}/{slug}/${latestVersions['{category}/{software}/{slug}'] || 'v{version}'}/preface`, diff --git a/docs/web-applications/dst/users-guide/v1.0/users-guide.mdx b/docs/web-applications/dst/users-guide/v1.0/users-guide.mdx deleted file mode 100644 index 88678e764..000000000 --- a/docs/web-applications/dst/users-guide/v1.0/users-guide.mdx +++ /dev/null @@ -1,15 +0,0 @@ -import Figure from "@site/src/components/Figure"; -import Link from "@docusaurus/Link"; - -# Introduction - -The Risk Management Center (RMC) of the U.S. Army Corps of Engineers (USACE) has developed a suite of Microsoft Excel spreadsheets to support risk assessments for dam and levee safety. Each analysis suite is composed of multiple toolboxes (Microsoft Excel workbooks), and each toolbox contains multiple spreadsheet tools or calculation worksheets (Microsoft Excel worksheets). The RMC Filter Evaluation (Continuation) Toolbox is part of the RMC Internal Erosion Suite. - -The information from these spreadsheet tools, along with other pertinent information, informs judgment when developing a list of more and less likely factors and estimating probabilities. USACE best practice for estimating probabilities is to use the best available and multiple methods, but all final probabilities are estimated using team elicitation based on the totality and strength of the evidence. - -The RMC continuously works to improve the performance of RMC software; report possible bugs directly to the RMC at the address listed below. Ideally, report suspected errors in written form with a description of the problem and the steps that lead to its occurrence. Suggestions for improvement are also welcomed. - -U.S. Army Corps of Engineers -Institute for Water Resources -Risk Management Center -[rmc.software@usace.army.mil](mailto:rmc.software@usace.army.mil) diff --git a/package-lock.json b/package-lock.json index 67312a0b9..bce87e7e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "glob": "^11.0.1", "gray-matter": "^4.0.3", "image-size": "^2.0.2", + "lucide-react": "^1.49.0", "lunr": "^2.3.9", "markdown-it-cite": "^0.0.2", "mermaid": "^11.12.0", @@ -39,14 +40,14 @@ "@docusaurus/module-type-aliases": "^3.10.2", "@docusaurus/types": "^3.10.2", "@tailwindcss/postcss": "^4.1.11", + "acorn": "8.18.0", "autoprefixer": "^10.4.21", "baseline-browser-mapping": "^2.9.19", "cross-env": "^7.0.3", "ffmpeg-static": "^5.3.0", "postcss": "^8.5.6", "prettier": "3.9.6", - "prettier-plugin-tailwindcss": "^0.6.14", - "acorn": "8.18.0" + "prettier-plugin-tailwindcss": "^0.6.14" }, "engines": { "node": ">=18.0" @@ -12976,6 +12977,21 @@ "yallist": "^3.0.2" } }, + "node_modules/lucide-react": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.49.0.tgz", + "integrity": "sha512-ApfaNM4/7jBrVopqLJ84Jz8TMQ1Q1JeZ1PmKh25aeS3E1FTVcMkSh1bEQB7dfzdIrwXRP8p3z4AJjTIHHb5IIA==", + "license": "ISC", + "peerDependencies": { + "@types/react": "*", + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", diff --git a/package.json b/package.json index d8590beaa..2c21bd1dd 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "glob": "^11.0.1", "gray-matter": "^4.0.3", "image-size": "^2.0.2", + "lucide-react": "^1.49.0", "lunr": "^2.3.9", "markdown-it-cite": "^0.0.2", "mermaid": "^11.12.0", @@ -53,14 +54,14 @@ "@docusaurus/module-type-aliases": "^3.10.2", "@docusaurus/types": "^3.10.2", "@tailwindcss/postcss": "^4.1.11", + "acorn": "8.18.0", "autoprefixer": "^10.4.21", "baseline-browser-mapping": "^2.9.19", "cross-env": "^7.0.3", "ffmpeg-static": "^5.3.0", "postcss": "^8.5.6", "prettier": "3.9.6", - "prettier-plugin-tailwindcss": "^0.6.14", - "acorn": "8.18.0" + "prettier-plugin-tailwindcss": "^0.6.14" }, "browserslist": { "production": [ diff --git a/src/components/SiteTour.js b/src/components/SiteTour.js index a7bc0d25e..67ee80a90 100644 --- a/src/components/SiteTour.js +++ b/src/components/SiteTour.js @@ -59,7 +59,7 @@ const buildSteps = (baseUrl, tier) => { { title: 'Main Navigation', content: - 'The navigation organizes all documentation into three categories: Desktop Applications, Toolbox Technical Manuals, and Web Applications. Each category expands to reveal available tools and their documents. Helpful resources can also be accessed from the navigation.', + 'The navigation organizes all documentation into three categories: Desktop Applications, Toolbox Technical Manuals, and Web Applications and Services. Each category expands to reveal available tools and their documents. Helpful resources can also be accessed from the navigation.', selector: 'header.gw-sticky .md\\:gw-hidden', selectorFallback: 'header.gw-sticky .gw-bg-nav-black', padding: { top: 4, right: 4, bottom: 4, left: 4 }, @@ -69,12 +69,12 @@ const buildSteps = (baseUrl, tier) => { tablet: { title: 'Menu Navigation', content: - 'Tap the menu icon to open the navigation drawer. It organizes all documentation into three categories: Desktop Applications, Toolbox Technical Manuals, and Web Applications. Each category expands to reveal available tools and documents.', + 'Tap the menu icon to open the navigation drawer. It organizes all documentation into three categories: Desktop Applications, Toolbox Technical Manuals, and Web Applications and Services. Each category expands to reveal available tools and documents.', }, phone: { title: 'Menu Navigation', content: - 'Tap the menu icon to open the navigation drawer. It lists all documentation organized by category: Desktop Applications, Toolbox Technical Manuals, and Web Applications.', + 'Tap the menu icon to open the navigation drawer. It lists all documentation organized by category: Desktop Applications, Toolbox Technical Manuals, and Web Applications and Services.', }, }, diff --git a/src/components/icons/SystemResponseIcon.js b/src/components/icons/SystemResponseIcon.js new file mode 100644 index 000000000..b3ed8dd43 --- /dev/null +++ b/src/components/icons/SystemResponseIcon.js @@ -0,0 +1,41 @@ +import { ChartSpline } from 'lucide-react'; +import { useId } from 'react'; + +const FILLED_VIEWBOX = '0 0 562.04 562.04'; +const GLYPH_SIZE = 300; +const GLYPH_OFFSET = (562.04 - GLYPH_SIZE) / 2; + +export default function SystemResponseIcon({ className = '', color = 'currentColor', size = 48, showBackground = true }) { + const id = useId(); + const gradientId = `system-response-grad${id}`; + const filterId = `system-response-shadow${id}`; + + if (!showBackground) { + return ; + } + + return ( + + + + + + + + + + + + + + + ); +} diff --git a/src/docConfig.js b/src/docConfig.js index 5595bc10c..12d53e22d 100644 --- a/src/docConfig.js +++ b/src/docConfig.js @@ -289,17 +289,155 @@ const docs = [ draft: false, }, - // --- Web Applications: DST --- + // --- Web Applications and Services: DST --- { category: 'web-applications', software: 'dst', doc_location: 'web-applications/dst/users-guide', - doc_name: 'Dam Screening Tool Users Guide', + doc_name: "Dam Screening Tool User's Guide", + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'dst', + doc_location: 'web-applications/dst/technical-reference-manual', + doc_name: 'Dam Screening Tool Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'dst', + doc_location: 'web-applications/dst/applications-guide', + doc_name: 'Dam Screening Tool Applications Guide', + active: false, + draft: true, + }, + + // --- Web Applications and Services: System Response Library --- + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/overtopping-erosion-screening', + doc_name: 'Overtopping Erosion Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/backward-erosion-piping-screening', + doc_name: 'Backward Erosion Piping Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/continuation-screening', + doc_name: 'Continuation (Filter Evaluation) Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-common-methods-screening', + doc_name: 'Concentrated Leak Erosion Common Methods Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-cross-valley-settlement-screening', + doc_name: 'CLE Cross-Valley Settlement Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-wall-cliff-settlement-screening', + doc_name: 'CLE Wall/Cliff Settlement Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-core-compaction-screening', + doc_name: 'CLE Core Compaction Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-conduit-compaction-screening', + doc_name: 'CLE Conduit Compaction Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-wall-cliff-compaction-screening', + doc_name: 'CLE Wall/Cliff Compaction Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-foundation-abutment-compaction-screening', + doc_name: 'CLE Foundation/Abutment Compaction Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-desiccation-screening', + doc_name: 'CLE Desiccation Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/cle-freezing-screening', + doc_name: 'CLE Freezing Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/gravity-dam-stability-screening', + doc_name: 'Gravity Dam Stability Screening Technical Reference Manual', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/verification-report', + doc_name: 'System Response Library Verification Report', + active: false, + draft: true, + }, + { + category: 'web-applications', + software: 'system-response', + doc_location: 'web-applications/system-response/integration-guide', + doc_name: 'System Response Library Integration Guide', active: false, draft: true, }, - // --- Web Applications: LST --- + // --- Web Applications and Services: LST --- { category: 'web-applications', software: 'lst', @@ -309,7 +447,7 @@ const docs = [ draft: true, }, - // --- Web Applications: RRFT --- + // --- Web Applications and Services: RRFT --- { category: 'web-applications', software: 'rrft', diff --git a/src/pages/index.js b/src/pages/index.js index aa1a59096..b29949de5 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -13,6 +13,7 @@ import RRFTIcon from '../components/icons/RRFTIcon'; import SeismicHazardIcon from '../components/icons/SeismicHazardIcon'; import SpillwayErosionIcon from '../components/icons/SpillwayErosionIcon'; import StructuralIcon from '../components/icons/StructuralIcon'; +import SystemResponseIcon from '../components/icons/SystemResponseIcon'; import ToolboxIcon from '../components/icons/ToolboxIcon'; import WebAppIcon from '../components/icons/WebAppIcon'; import TourButton from '../components/TourButton'; @@ -115,7 +116,7 @@ export default function Home() { }, { IconComponent: WebAppIcon, - doc_name: 'Web Applications', + doc_name: 'Web Applications and Services', contentCardData: [ { IconComponent: RRFTIcon, @@ -138,6 +139,13 @@ export default function Home() { href: addBaseUrl('web-applications/dst'), active: false, }, + { + IconComponent: SystemResponseIcon, + title: 'System Response Library', + description: 'System response models for screening', + href: addBaseUrl('web-applications/system-response'), + active: false, + }, ], }, ]; diff --git a/src/pages/web-applications/system-response.js b/src/pages/web-applications/system-response.js new file mode 100644 index 000000000..5a29daf8b --- /dev/null +++ b/src/pages/web-applications/system-response.js @@ -0,0 +1,46 @@ +import addBaseUrl from '@docusaurus/useBaseUrl'; +import Layout from '@theme/Layout'; +import { useEffect, useState } from 'react'; +import ContentBox from '../../components/ContentBox'; +import SystemResponseIcon from '../../components/icons/SystemResponseIcon'; +import { filterByCategoryAndSoftware } from '../../docConfig'; +import '../../css/custom.css'; + +const systemResponseData = filterByCategoryAndSoftware('web-applications', 'system-response').map((doc) => ({ + ...doc, + IconComponent: SystemResponseIcon, +})); + +export const systemResponseDocs = systemResponseData; + +export default function SystemResponse() { + const latestVersionsUrl = addBaseUrl('versions/latestVersions.json'); + const [latestVersions, setLatestVersions] = useState({}); + + useEffect(() => { + fetch(latestVersionsUrl) + .then((response) => response.json()) + .then((data) => setLatestVersions(data)) + .catch((error) => console.error('Error loading latest versions:', error)); + }, [latestVersionsUrl]); + + const systemResponseData = systemResponseDocs.map((doc) => ({ + ...doc, + doc_location: addBaseUrl(`docs/${doc.doc_location}/${latestVersions[doc.doc_location.replace(/^docs\//, '')]}/preface`), + })); + + return ( + + + + + + System Response Library + System response models for screening-level risk analysis + + + + + + ); +} diff --git a/src/theme/Layout/buildNavLinks.js b/src/theme/Layout/buildNavLinks.js index 3ca0a8805..301ffab33 100644 --- a/src/theme/Layout/buildNavLinks.js +++ b/src/theme/Layout/buildNavLinks.js @@ -137,10 +137,11 @@ export default function buildNavLinks(useBaseUrl, latestVersions = {}) { /* -------------------------------------------------------------------------------------------------------------------------------------------------------------- */ - /* Web Applications links (second level) */ + /* Web Applications and Services links (second level) */ const rrftHref = useBaseUrl('/web-applications/rrft'); const lstHref = useBaseUrl('/web-applications/lst'); const dstHref = useBaseUrl('/web-applications/dst'); + const systemResponseHref = useBaseUrl('/web-applications/system-response'); /* RRFT document links (third level) */ /* None currently */ @@ -153,6 +154,9 @@ export default function buildNavLinks(useBaseUrl, latestVersions = {}) { /* DST document links (third level) */ /* None currently */ + /* System Response Library document links (third level) */ + /* None currently */ + /* -------------------------------------------------------------------------------------------------------------------------------------------------------------- */ /* Help links */ @@ -320,13 +324,18 @@ export default function buildNavLinks(useBaseUrl, latestVersions = {}) { }, { id: 'web-applications', - text: 'Web Applications', + text: 'Web Applications and Services', children: [ { id: 'dst', text: 'Dam Screening Tool (Coming Soon)', /*href: dstHref,*/ }, + { + id: 'system-response', + text: 'System Response Library (Coming Soon)', + /*href: systemResponseHref,*/ + }, { id: 'lst', text: 'Levee Screening Tool (Coming Soon)',
System response models for screening-level risk analysis