Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
fbe5aaa
Correct existing base_url references from base to BASE_URL. Ensure we…
krowvin Aug 21, 2025
8824057
Add BASE_URL to the lib Breadcrumbs/Header Image
krowvin Aug 21, 2025
9d9cdc4
Add # to our base in the vite config for the Docs site and remove tra…
krowvin Aug 21, 2025
ccf501d
In the button show a base_url example and add a note about it
krowvin Aug 21, 2025
8700c23
Can't have a hash in the base for vite!
krowvin Aug 21, 2025
84ca7b0
Remove prepended slash, add missing BASE_URL
krowvin Aug 21, 2025
413a17f
Add onclick catch to allow baseurl/# in the href paths
krowvin Dec 15, 2025
3dc6bf1
Add missing baseurl to logout/login-button
krowvin Dec 15, 2025
df890c4
Add missing baseurl
krowvin Dec 17, 2025
2b06d60
Remove unused comments
krowvin Dec 17, 2025
633b21c
Fix popout menu header path, +base_url
krowvin Dec 17, 2025
64f9d7e
Ensure baseurl with the hash if the hash is not present in the initia…
krowvin Dec 17, 2025
6d8cf60
Passing in additional headless ui props and updated documentation (#232)
bmulcahy Aug 27, 2025
34a842b
3.15.0
willbreitkreutz Aug 27, 2025
6cded39
Modal update (#234)
bmulcahy Aug 27, 2025
1868648
3.15.1
willbreitkreutz Aug 27, 2025
cce91a6
239 add issuefeature templates (#240)
krowvin Sep 8, 2025
8cda638
235 home icon for breadcrumbs is always the root no base url (#236)
krowvin Sep 8, 2025
4cd8213
3.15.2
willbreitkreutz Sep 8, 2025
4c8cc5a
Keep text component, fix contrast (#252)
krowvin Dec 1, 2025
bf48750
3.15.3
willbreitkreutz Dec 1, 2025
476c603
bump version of vite to satisfy npm audit (#226)
willbreitkreutz Dec 8, 2025
2df8394
3.15.4
willbreitkreutz Dec 8, 2025
ac1e05e
Bump js-yaml from 4.1.0 to 4.1.1 (#250)
dependabot[bot] Dec 8, 2025
1a1bb41
3.15.5
willbreitkreutz Dec 8, 2025
ff52bfa
Bump vite from 7.1.2 to 7.2.7 (#253)
dependabot[bot] Dec 8, 2025
5afab4a
3.15.6
willbreitkreutz Dec 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Groundwork Bug Report
description: File a bug report related to Groundwork
labels: ["bug"]
body:
# BUG REPORT FIELDS
- type: textarea
id: bug_description
attributes:
label: Describe the bug
description: What went wrong?
placeholder:
A clear and concise description of the bug... Include the version
of Groundwork if known. i.e. gw v0.0.1 (You can see this in your package.json file)
Provide any links to relevant code here.
validations:
required: true

- type: textarea
id: logs
attributes:
label: REDACTED relevant log output
description:
Please copy and paste any relevant log output. Either runtime (dev console) or build logs. Removing sensitive
information. This will be automatically formatted into code, so no need for
backticks.
render: shell
validations:
required: false

- type: textarea
id: repro_steps
attributes:
label: Steps to Reproduce
description: Provide steps to reproduce the issue.
placeholder: |
1. npm install
2. npm run dev
3. Navigate to this page
4. See error when clicking XYZ
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Groundwork Water
url: https://github.com/USACE-WaterManagement/groundwork-water/issues/new
about: Issues Related to Data/Hook Components or other water management data component problems.
- name: Groundwork Geo
url: https://github.com/USACE/groundwork-geo/issues/new
about: Map component issues that do NOT fetch data and otherwise have trouble with rendering or feature requests.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Groundwork Feature Request
description: Request a feature related to Groundwork
labels: ["enhancement"]
body:
# FEATURE REQUEST FIELDS
- type: textarea
id: feature_description
attributes:
label: Feature Proposal
description: What do you want to see added or changed?
placeholder: |
Describe the feature, its motivation, and usage examples.
You can include code or other examples in code blocks.
validations:
required: true

- type: textarea
id: related_links
attributes:
label: Related Context or Links
description: Include any discussions, docs, or libraries relevant to the request.
validations:
required: false
25 changes: 25 additions & 0 deletions lib/components/display/modal.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@ import {
import gwMerge from "../../gw-merge";
import { WIDTH_OPTIONS } from "../../utils/sizes";

const roleOptions = ["dialog", "alertdialog"];

function Modal({
opened = false,
onClose,
dialogTitle,
dialogDescription,
isStatic = false,
autoFocus=false,
dialogTransition=false,
dialogPanelTransition= false,
unmount = true,
role='dialog',
buttons,
size = "2xl",
className,
Expand All @@ -28,11 +36,27 @@ function Modal({
);
size = "2xl";
}

// Check if Role exists
if (!roleOptions.includes(role)) {
console.error(
`Invalid role option for dialog ${role}. Must be one of: 'dialog','alertdialog'`)
console.warn(
`Defaulting to 'dialog' for role of <Modal modalTitle="${dialogTitle}" .../>`,
);
role = "dialog";

}

return (
<Dialog
open={opened}
onClose={onClose}
static= {isStatic}
autoFocus={autoFocus}
transition={dialogTransition}
unmount={unmount}
role={role}
className={gwMerge("gw-relative", "gw-z-[200]", className)}
>
<DialogBackdrop className="gw-fixed gw-inset-0 gw-bg-black/30" />
Expand All @@ -48,6 +72,7 @@ function Modal({
"gw-bg-white",
"gw-p-12",
)}
transition={dialogPanelTransition}
>
{dialogTitle && (
<DialogTitle className="gw-font-bold gw-text-center">
Expand Down
9 changes: 7 additions & 2 deletions lib/components/navigation/breadcrumbs.jsx
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import.meta.env.BASE_URL will reflect the env of the build-time, not consumer build time. I think we should expose a new prop on the breadcrumbs at the top level that allows you to pass in the base_url and default to "/".

Copy link
Contributor Author

@krowvin krowvin Aug 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved with #235, will come back for the rest!

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { MdHome } from "react-icons/md";
import { VscChevronRight } from "react-icons/vsc";
import Link from "./link";

const BASE_URL = import.meta.env.BASE_URL;

function BreadcrumbItem({ className, href, text }) {
const breadcrumbItemClass = useMemo(() => {
return gwMerge(
Expand All @@ -30,7 +32,7 @@ function BreadcrumbItem({ className, href, text }) {
);
}

function Breadcrumbs({ className, children }) {
function Breadcrumbs({ className, children, baseUrl }) {
const breadcrumbsClass = useMemo(() => {
return gwMerge(
"gw-flex gw-flex-nowrap gw-items-center gw-space-x-2 gw-py-4 gw-overflow-x-auto gw-hide-scrollbar",
Expand All @@ -41,7 +43,10 @@ function Breadcrumbs({ className, children }) {
<ol className={breadcrumbsClass}>
<li>
<div>
<Link href="/" className="gw-text-gray-300 gw-hover:gw-text-gray-500">
<Link
href={`${(baseUrl || "").replace(/\/+$/, "")}/`} // Avoid double slashes
className="gw-text-gray-300 gw-hover:gw-text-gray-500"
>
<MdHome size={22} />
<span className="gw-sr-only">Home</span>
</Link>
Expand Down
8 changes: 6 additions & 2 deletions lib/composite/footer/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,19 @@ function Footer({
{missionText && (
<>
<h2 className="gw-text-lg">Our Mission</h2>
<Text>{missionText}</Text>
<Text className="gw-text-gray-300 dark:gw-text-gray-200">
{missionText}
</Text>
</>
)}
</div>
<div className="gw-col-span-12 gw-mt-4">
{aboutText && (
<>
<h2 className="gw-text-lg">About this Website</h2>
<Text>{aboutText}</Text>
<Text className="gw-text-gray-300 dark:gw-text-gray-200">
{aboutText}
</Text>
</>
)}
</div>
Expand Down
4 changes: 3 additions & 1 deletion lib/composite/header/index.jsx
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as on breadcrumbs

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { useState } from "react";
import gwMerge from "../../gw-merge";
import Link from "../../components/navigation/link";

const BASE_URL = import.meta.env.BASE_URL;

function Title({ title = "", subtitle = "" }) {
return (
<div
Expand All @@ -26,7 +28,7 @@ function Title({ title = "", subtitle = "" }) {
function Logo() {
return (
<div className="gw-relative gw-w-[70px] sm:gw-w-[82px] gw-shrink-0 sm:gw-top-3">
<Link href="/">
<Link href={BASE_URL + "/"}>
<img
className="gw-w-[50px] sm:gw-w-[60px] gw-h-auto"
src={usaceLogo}
Expand Down
4 changes: 2 additions & 2 deletions lib/composite/header/navbar-links.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ function NavbarLinkItem({ link, ...props }) {
<Menu.Items
static
as="ul"
className="gw-absolute gw-left-0 gw-top-13 gw-bg-nav-dark-gray !gw-z-20 gw-w-max gw-p-0" // Removed padding and added gw-p-0
className="gw-absolute gw-left-0 gw-top-13 gw-bg-nav-dark-gray !gw-z-20 gw-w-max gw-p-0"
>
{link.children.map((child) => (
<Menu.Item key={child.id || child.text} as={Fragment}>
Expand All @@ -55,7 +55,7 @@ function NavbarLinkItem({ link, ...props }) {
<Menu.Items
static
as="ul"
className="gw-absolute gw-left-full gw-top-0 gw-bg-nav-dark-gray !gw-z-30 gw-w-max gw-p-0 gw-shadow-lg gw-hidden group-hover:gw-block" // Removed padding and added gw-p-0
className="gw-absolute gw-left-full gw-top-0 gw-bg-nav-dark-gray !gw-z-30 gw-w-max gw-p-0 gw-shadow-lg gw-hidden group-hover:gw-block"
>
{child.children.map((grandChild) => {
if (!grandChild.children)
Expand Down
Loading