diff --git a/builder-frontend/src/components/project/manageBenefits/configureBenefit/SelectedEligibilityCheck.tsx b/builder-frontend/src/components/project/manageBenefits/configureBenefit/SelectedEligibilityCheck.tsx index db8fb87c..5b668e97 100644 --- a/builder-frontend/src/components/project/manageBenefits/configureBenefit/SelectedEligibilityCheck.tsx +++ b/builder-frontend/src/components/project/manageBenefits/configureBenefit/SelectedEligibilityCheck.tsx @@ -27,8 +27,7 @@ const SelectedEligibilityCheck = ({ createSignal(false); const [editAliasModalOpen, setEditAliasModalOpen] = createSignal(false); - const displayName = () => - checkConfig().aliasName || checkConfig().checkName; + const displayName = () => checkConfig().aliasName || checkConfig().checkName; const isBlankParameterValue = (value: unknown) => { return value === undefined || value === null || value === ""; @@ -72,14 +71,14 @@ const SelectedEligibilityCheck = ({ {titleCase(displayName())} - {checkConfig().checkVersion}
{ e.stopPropagation(); setEditAliasModalOpen(true); }} title="Edit alias" > - +
diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 78fde3e1..47270883 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -1,5 +1,5 @@ // @ts-check -import { defineConfig } from "astro/config"; +import { defineConfig, fontProviders } from "astro/config"; import tailwindcss from "@tailwindcss/vite"; import svelte from "@astrojs/svelte"; @@ -9,4 +9,16 @@ export default defineConfig({ vite: { plugins: [tailwindcss()] }, site: "https://bdtoolkit.org", integrations: [svelte()], + fonts: [ + { + provider: fontProviders.fontsource(), + name: "Lato", + cssVariable: "--font-lato", + }, + { + provider: fontProviders.fontsource(), + name: "Crete Round", + cssVariable: "--font-crete-round", + }, + ], }); diff --git a/website/package-lock.json b/website/package-lock.json index bd91d302..b6789f7f 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9,9 +9,6 @@ "version": "0.0.1", "dependencies": { "@astrojs/svelte": "^9.0.1", - "@fontsource-variable/inter": "^5.2.8", - "@fontsource/open-sans": "^5.2.7", - "@fontsource/ramaraja": "^5.2.8", "@tailwindcss/vite": "^4.1.17", "astro": "^7.2.4", "svelte": "^5.45.8", @@ -983,33 +980,6 @@ "node": ">=18" } }, - "node_modules/@fontsource-variable/inter": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.3.0.tgz", - "integrity": "sha512-OupL48va4JNofb97w6NYeF9S7W/kHNKM0Er8Dem5nqi4jeOLrVJDoE8tZEpnMJmtkvNbB1EIPPwHcdkF6b1oUA==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fontsource/open-sans": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-5.3.0.tgz", - "integrity": "sha512-V1bdMlGNyZrJwzrdusshMOw2YR0aqYDL7kOo9dkxUEKl8dFv66A9HLckOOXl572sG/7ohhDQrCrTFGSn9LZcSw==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fontsource/ramaraja": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@fontsource/ramaraja/-/ramaraja-5.3.0.tgz", - "integrity": "sha512-ojWPHqg8lj7i8EA1IrtXqWRusL09xPvZPfDjY3RfK9I7h6P/8d/HfPKeuacHGPlLbq85TlKbeyaktRfG4AkxpA==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", diff --git a/website/package.json b/website/package.json index 806a80e6..53b1aeed 100644 --- a/website/package.json +++ b/website/package.json @@ -10,9 +10,6 @@ }, "dependencies": { "@astrojs/svelte": "^9.0.1", - "@fontsource-variable/inter": "^5.2.8", - "@fontsource/open-sans": "^5.2.7", - "@fontsource/ramaraja": "^5.2.8", "@tailwindcss/vite": "^4.1.17", "astro": "^7.2.4", "svelte": "^5.45.8", diff --git a/website/src/assets/backgrounds/bubbles.svg b/website/src/assets/backgrounds/bubbles.svg deleted file mode 100644 index b5fe9604..00000000 --- a/website/src/assets/backgrounds/bubbles.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - diff --git a/website/src/assets/backgrounds/check-graphic.png b/website/src/assets/backgrounds/check-graphic.png new file mode 100644 index 00000000..966287a5 Binary files /dev/null and b/website/src/assets/backgrounds/check-graphic.png differ diff --git a/website/src/assets/backgrounds/check-pattern.webp b/website/src/assets/backgrounds/check-pattern.webp new file mode 100644 index 00000000..789abdf8 Binary files /dev/null and b/website/src/assets/backgrounds/check-pattern.webp differ diff --git a/website/src/assets/backgrounds/man-in-office.webp b/website/src/assets/backgrounds/man-in-office.webp deleted file mode 100644 index 35c45571..00000000 Binary files a/website/src/assets/backgrounds/man-in-office.webp and /dev/null differ diff --git a/website/src/assets/backgrounds/man-with-laptop-dark-36.webp b/website/src/assets/backgrounds/man-with-laptop-dark-36.webp deleted file mode 100644 index f49ecf2e..00000000 Binary files a/website/src/assets/backgrounds/man-with-laptop-dark-36.webp and /dev/null differ diff --git a/website/src/assets/backgrounds/man-with-laptop-small-dark-36.webp b/website/src/assets/backgrounds/man-with-laptop-small-dark-36.webp deleted file mode 100644 index b6f85911..00000000 Binary files a/website/src/assets/backgrounds/man-with-laptop-small-dark-36.webp and /dev/null differ diff --git a/website/src/assets/backgrounds/man-with-laptop-small.webp b/website/src/assets/backgrounds/man-with-laptop-small.webp deleted file mode 100644 index 8fbab56f..00000000 Binary files a/website/src/assets/backgrounds/man-with-laptop-small.webp and /dev/null differ diff --git a/website/src/assets/backgrounds/man-with-laptop.webp b/website/src/assets/backgrounds/man-with-laptop.webp deleted file mode 100644 index dd5d32c8..00000000 Binary files a/website/src/assets/backgrounds/man-with-laptop.webp and /dev/null differ diff --git a/website/src/assets/backgrounds/philly-parkway.jpg b/website/src/assets/backgrounds/philly-parkway.jpg new file mode 100644 index 00000000..f96d8e77 Binary files /dev/null and b/website/src/assets/backgrounds/philly-parkway.jpg differ diff --git a/website/src/assets/backgrounds/wavy.webp b/website/src/assets/backgrounds/wavy.webp deleted file mode 100644 index 5d64f4ea..00000000 Binary files a/website/src/assets/backgrounds/wavy.webp and /dev/null differ diff --git a/website/src/assets/icons/cfp-icon.svg b/website/src/assets/icons/cfp-icon.svg new file mode 100644 index 00000000..0535a41a --- /dev/null +++ b/website/src/assets/icons/cfp-icon.svg @@ -0,0 +1,22 @@ + + + + diff --git a/website/src/assets/icons/github-icon.svg b/website/src/assets/icons/github-icon.svg new file mode 100644 index 00000000..b6db24c5 --- /dev/null +++ b/website/src/assets/icons/github-icon.svg @@ -0,0 +1,22 @@ + + + + diff --git a/website/src/assets/logos/cfp-logo.svg b/website/src/assets/logos/cfp-logo.svg new file mode 100644 index 00000000..75f61e01 --- /dev/null +++ b/website/src/assets/logos/cfp-logo.svg @@ -0,0 +1,22 @@ + + + + diff --git a/website/src/assets/text/Contact.md b/website/src/assets/text/Contact.md index 44b05f10..62fe373a 100644 --- a/website/src/assets/text/Contact.md +++ b/website/src/assets/text/Contact.md @@ -1,4 +1,4 @@ -## Reach out to us! +## Contact Have a question? Want to get involved? diff --git a/website/src/assets/text/Hero.md b/website/src/assets/text/Hero.md index b406aa0e..d5e2fecb 100644 --- a/website/src/assets/text/Hero.md +++ b/website/src/assets/text/Hero.md @@ -1,3 +1,3 @@ -## Build eligibility screening tools... _fast_ +# Build eligibility
screening tools... _fast_ Benefit Decision Toolkit simplifies the management of eligibility rules and screeners so you can create useful tools quickly and keep the code to a minimum. diff --git a/website/src/assets/text/Overview.md b/website/src/assets/text/Overview.md index 0c614768..fa149ae5 100644 --- a/website/src/assets/text/Overview.md +++ b/website/src/assets/text/Overview.md @@ -1,5 +1,5 @@ -## What We Do +## Our Mission -Our mission is to provide free, intuitive tools that help organizations build benefit eligibility screeners for the communities they serve. +Provide free, intuitive tools that help organizations build benefit eligibility screeners for the communities they serve. With the open-source BDT web app, you can easily create and maintain benefit screeners, without needing coding expertise or relying on costly software vendors. diff --git a/website/src/assets/text/Projects.md b/website/src/assets/text/Projects.md index c0084de8..52372297 100644 --- a/website/src/assets/text/Projects.md +++ b/website/src/assets/text/Projects.md @@ -1 +1 @@ -## BDT’s Projects +## What We're Building diff --git a/website/src/assets/text/Volunteer.md b/website/src/assets/text/Volunteer.md index f36e8ee4..7b506f07 100644 --- a/website/src/assets/text/Volunteer.md +++ b/website/src/assets/text/Volunteer.md @@ -1,4 +1,4 @@ -# Build BDT With Us +## Build BDT With Us Contributing to BDT is a great way to gain experience working on an open source project with a friendly team! diff --git a/website/src/assets/text/projects/ScreenerBuilder.md b/website/src/assets/text/projects/ScreenerBuilder.md index 5131748b..41efc723 100644 --- a/website/src/assets/text/projects/ScreenerBuilder.md +++ b/website/src/assets/text/projects/ScreenerBuilder.md @@ -1,13 +1,11 @@ --- -index: 2 +index: 1 +link: https://github.com/CodeForPhilly/benefit-decision-toolkit +btnText: View Code +screenshot: ../../screenshots/web-app.png +screenshotAlt: Screenshot of a benefits management interface with a button labeled create new benefit and two existing benefits named food assistance and heating assistance. --- -### Screener Builder +### Screener Builder Web App An application designed to simplify and improve the process of creating online screeners for public benefit eligibility. - -![Screenshot of a benefits management interface with a button labeled create new benefit and two existing benefits named food assistance and heating assistance.](../../screenshots/web-app.png) - -Visit GitHub repository ↗ - -Read user guide ↗ diff --git a/website/src/assets/text/projects/TaxScreener.md b/website/src/assets/text/projects/TaxScreener.md index cf246e36..4ae1572b 100644 --- a/website/src/assets/text/projects/TaxScreener.md +++ b/website/src/assets/text/projects/TaxScreener.md @@ -1,11 +1,11 @@ --- index: 2 +link: https://phillypropertytaxrelief.org/ +btnText: Try It Out +screenshot: ../../screenshots/property-tax.png +screenshotAlt: Philadelphia property tax relief screener text overlaid on a background of Philadelphia’s skyline with trees in the foreground. --- ### Property Tax Relief Screener A screener built using BDT that Philadelphia residents can use to check their eligibility for property tax relief benefits. - -![Philadelphia property tax relief screener text overlaid on a background of Philadelphia’s skyline with trees in the foreground.](../../screenshots/property-tax.png) - -Visit screener website ↗ diff --git a/website/src/components/ActionButton.astro b/website/src/components/ActionButton.astro new file mode 100644 index 00000000..92849807 --- /dev/null +++ b/website/src/components/ActionButton.astro @@ -0,0 +1,5 @@ +
+ +
diff --git a/website/src/components/Contact.astro b/website/src/components/Contact.astro index 1cd92833..dda95042 100644 --- a/website/src/components/Contact.astro +++ b/website/src/components/Contact.astro @@ -1,64 +1,70 @@ --- +import { Image } from "astro:assets"; import { Content } from "../assets/text/Contact.md"; +import ActionButton from "./ActionButton.astro"; +import photo from "../assets/backgrounds/philly-parkway.jpg"; --- -
-
-
-
-
- +
+
+
+
+ +
+
+
+
+
- -
-
- -
-
-
- -
-
-
- -
+
+
- -
- +
+
+ +
+ + + + + +
+
diff --git a/website/src/components/Footer.astro b/website/src/components/Footer.astro index 655f1e1b..a701511b 100644 --- a/website/src/components/Footer.astro +++ b/website/src/components/Footer.astro @@ -1,4 +1,8 @@ --- +import logo from "../assets/logos/bdt-logo-large-mono-dark.svg"; +import { Image } from "astro:assets"; +import cfpIcon from "../assets/icons/cfp-icon.svg"; +import githubIcon from "../assets/icons/github-icon.svg"; const footerLinks = [ { title: "Home", @@ -15,24 +19,44 @@ const footerLinks = [ ]; --- -
+

+ Copyright © Benefit Decision Toolkit 2026 +

+
+
diff --git a/website/src/components/Header.astro b/website/src/components/Header.astro index 26d1b3d7..32d68e23 100644 --- a/website/src/components/Header.astro +++ b/website/src/components/Header.astro @@ -4,9 +4,11 @@ import logo from "../assets/logos/bdt-logo-large-mono-dark.svg"; import NavMenu from "./NavMenu.svelte"; --- -
+
diff --git a/website/src/components/Hero.astro b/website/src/components/Hero.astro index 267beefe..8054287d 100644 --- a/website/src/components/Hero.astro +++ b/website/src/components/Hero.astro @@ -1,23 +1,29 @@ --- import { Content } from "../assets/text/Hero.md"; +import ActionButton from "./ActionButton.astro"; +import CheckGraphic from "../assets/backgrounds/check-graphic.png"; +import { Image } from "astro:assets"; ---
-
diff --git a/website/src/components/NavMenu.svelte b/website/src/components/NavMenu.svelte index cbc13e49..8a6feba3 100644 --- a/website/src/components/NavMenu.svelte +++ b/website/src/components/NavMenu.svelte @@ -7,21 +7,13 @@ path: "/#top", }, { - title: "What We Do", - path: "/#overview", - }, - { - title: "Projects", - path: "/#projects", + title: "About", + path: "/about", }, { title: "Contact", path: "/#contact", }, - { - title: "About", - path: "/about", - }, ]; let menuActive = $state(false); function toggleMenu() { @@ -50,7 +42,7 @@ {#if menuActive == true} +
+ +
+
+ +
+
diff --git a/website/src/components/Projects.astro b/website/src/components/Projects.astro index 17409f9f..67848336 100644 --- a/website/src/components/Projects.astro +++ b/website/src/components/Projects.astro @@ -1,31 +1,47 @@ --- import { render } from "astro:content"; import { getCollection } from "astro:content"; -const projects = await getCollection("projects"); +const projects = (await getCollection("projects")).sort( + (a, b) => a.data.index.valueOf() - b.data.index.valueOf(), +); import { Content } from "../assets/text/Projects.md"; +import ActionButton from "./ActionButton.astro"; +import { Image } from "astro:assets"; ---
-
-
- -
-
    - { - projects.map(async (project) => { - const { Content } = await render(project); - return ( -
  • -
    - -
    -
  • - ); - }) - } -
+
+
+
    + { + projects.map(async (project) => { + const { Content } = await render(project); + return ( +
  • +
    + +
    + +
  • + ); + }) + } +
diff --git a/website/src/components/Team.astro b/website/src/components/Team.astro index 0556d976..8f13ba5b 100644 --- a/website/src/components/Team.astro +++ b/website/src/components/Team.astro @@ -18,40 +18,40 @@ team.forEach((teamMember) => { import { Image } from "astro:assets"; --- -
-
-

Meet The Team

-
    - { - teamSorted.map(async (teamMember) => { - return ( -
  • -
    - {teamMember.data.photoAlt} -

    {teamMember.data.name}

    -

    {teamMember.data.role}

    - {teamMember.data.link && ( -

    - - Connect ↗ - -

    - )} -
    -
  • - ); - }) - } -
-
+
+

Meet The Team

+
    + { + teamSorted.map(async (teamMember) => { + return ( +
  • +
    + {teamMember.data.photoAlt} +

    {teamMember.data.name}

    +

    {teamMember.data.role}

    + {teamMember.data.link && ( +

    + + Connect ↗ + +

    + )} +
    +
  • + ); + }) + } +
diff --git a/website/src/components/Volunteer.astro b/website/src/components/Volunteer.astro index 5928b685..8fad5b06 100644 --- a/website/src/components/Volunteer.astro +++ b/website/src/components/Volunteer.astro @@ -1,22 +1,43 @@ --- import { Image } from "astro:assets"; import { Content } from "../assets/text/Volunteer.md"; -import cfpLogo from "../assets/logos/cfp-logo.png"; +import cfpLogo from "../assets/logos/cfp-logo.svg"; +import ActionButton from "./ActionButton.astro"; --- -
-
-
- -
- Code For Philly logo + + +
+ +
+
+ Code For Philly logo +
+
Code For Philly ↗ + Connect +
-
-
+ +
diff --git a/website/src/components/VolunteerRoles.astro b/website/src/components/VolunteerRoles.astro index 53dfd04a..a40251d1 100644 --- a/website/src/components/VolunteerRoles.astro +++ b/website/src/components/VolunteerRoles.astro @@ -1,39 +1,44 @@ --- import { getCollection } from "astro:content"; import { render } from "astro:content"; +import ActionButton from "./ActionButton.astro"; const roles = await getCollection("roles"); --- -
-
+
+

Volunteer Roles

    { roles.map(async (role) => { const { Content } = await render(role); return ( -
  • -
    -

    {role.data.title}

    -

    {role.data.brief}

    -
    -
    - - Show more - - -
    - +
  • +
    +
    +

    {role.data.title}

    +

    {role.data.brief}

    -

    - - Join our team ↗ - -

    -
  • +
    + + Show more + + +
    + +
    + +
    +
); }) diff --git a/website/src/content.config.ts b/website/src/content.config.ts index d5dfb921..62ef82f8 100644 --- a/website/src/content.config.ts +++ b/website/src/content.config.ts @@ -6,6 +6,14 @@ const projects = defineCollection({ pattern: "**/*.md", base: "./src/assets/text/projects", }), + schema: ({ image }) => + z.object({ + index: z.number(), + link: z.string(), + btnText: z.string(), + screenshot: image(), + screenshotAlt: z.string(), + }), }); const team = defineCollection({ diff --git a/website/src/layouts/Layout.astro b/website/src/layouts/Layout.astro index c822cf4e..5aadb418 100644 --- a/website/src/layouts/Layout.astro +++ b/website/src/layouts/Layout.astro @@ -2,24 +2,27 @@ import "../styles/global.css"; import Header from "../components/Header.astro"; import Footer from "../components/Footer.astro"; -import "@fontsource-variable/inter"; -import "@fontsource/ramaraja"; +import { Font } from "astro:assets"; + +const { + title = "Benefit Decision Toolkit", + description = "Build free, intuitive benefit eligibility screening tools for the communities you serve.", +} = Astro.props; --- - + - Benefit Decision Toolkit - + {title} + + +
diff --git a/website/src/pages/about.astro b/website/src/pages/about.astro index 4141bb5c..f55d027b 100644 --- a/website/src/pages/about.astro +++ b/website/src/pages/about.astro @@ -5,7 +5,10 @@ import Volunteer from "../components/Volunteer.astro"; import VolunteerRoles from "../components/VolunteerRoles.astro"; --- - + diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index 96501110..0334c34e 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -7,7 +7,10 @@ import Contact from "../components/Contact.astro"; import Volunteer from "../components/Volunteer.astro"; --- - + diff --git a/website/src/styles/global.css b/website/src/styles/global.css index 7605e60b..4bed21c2 100644 --- a/website/src/styles/global.css +++ b/website/src/styles/global.css @@ -2,9 +2,14 @@ @plugin "@tailwindcss/typography"; @theme { - --font-sans: "Inter", sans; - --font-serif: "Ramaraja", serif; + --font-sans: "Lato", sans; + --font-serif: "Crete Round", serif; --color-bdt-blue: #1876ba; - --color-bdt-green-light: #cff7d3; - --color-bdt-green-dark: #16561d; + --color-bdt-gradient: #065ca2; + --color-heading: #2d2d2d; + --color-btn-t: #92ee99; + --color-btn-b: #6ce678; + --color-bg: #dceffc; + --color-card-border: #b7daf7; + --color-border-b: #2cd733; }