Code Monkey home page Code Monkey logo

esp-website's Introduction

Netlify Status

Ethereum Ecosystem Support Program

Ethereum Ecosystem Support Program

The Ethereum Ecosystem Support Program exists to provide both financial and non-financial support to projects and entities within the greater Ethereum community, in order to accelerate the growth of the ecosystem. The Ecosystem Support Program is an expansion of the original Ethereum Grants Program which mainly focused on financial support. Our focus is on deploying our resources where they will have the biggest impact.

This repository holds the codebase to our website, esp.ethereum.foundation

Stack

The main stack used in the project includes:

Local development

The project is bootstrapped with create-next-app, with a custom scaffolding.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

testing w/hCaptcha locally

We can use hCaptcha testing keys (already defined on .env.local.example) to be able to test forms locally.

Project Structure

The following list describes the main elements of the project structure:

  • public: contains static assets like fonts and images.
  • src: contains the source code.
    • components: React components.
      • components with state are directly located inside /components.
      • forms: components used in forms.
        • api.ts: this file contains the api fetching logic details used when submitting the forms data.
      • layout: components used to contain and apply different layouts to different pages.
      • UI: stateless (functional) components.
    • hooks: custom hooks.
    • middlewares: custom middlewares (required for captcha input validation).
    • pages: includes components that renders to pages and NextJS API Routes.
    • theme: contains the Chakra UI custom theme, organized in foundations and components for better scaling.
    • utils
    • constants.ts: this is the global constants file (we have another one for specific form constants), containing URLs and lists of elements we use across the site.
    • global.css: global stylesheet.
    • types.ts: contains the custom defined TypeScript types and interfaces.

Salesforce Integration

For the custom integration with the Salesforce API, we rely on the JSforce library. Some operations are not documented and were the result of lots of googling, SO and Github issues scanning.

The Salesforce API field names (listed on types.ts) are defined in Salesforce for each corresponding object (Lead, Contract, etc).

Connected App

To enable a custom API integration with Salesforce, you need to create a Connected App. You'll need an account with admin permissions. Go to Setup > App Manager > New connected app to create a new one.

Configuration

Check that your Connected App is configured with the following parameters

  • Callback URL: https://salesforce.com
  • Selected OAuth Scopes:
    • Manage user data via APIs (api)
    • Manage user data via Web browsers (web)
    • Perform requests at any time (refresh_token, offline_access)
  • Connected App policies:
    • IP Relaxation: Relax IP Restrictions
    • Permitted Users: All users may self-authorized
    • Refresh Token Policy: Refresh token is valid until revoked

Common issues

Some common issues regarding Salesforce data types

  • Picklist: if you get the error
Error 'bad value for restricted picklist field' appears when a record is created

when creating a new record, try disabling the 'Restrict picklist to the values defined in the value set' option for the corresponding field.

  • Checkbox: besides how you're handling this input on the UI (e.g.: a radio button), Salesforce expects the value to be a boolean (true, false), so remember to convert the string before submitting the data.

When adding new Grants

Check that the hardwired string value of Proactive_Community_Grants_Round__c is defined on Salesforce, otherwise submission will fail.

Grantees List data source

The data published in the Latest Grantees list is being pulled from a Google Spreadsheet maintained by the ESP Team. This document uses Markdown syntax as it's also being used as source for other pages.

To accomplish that, we publish the content of the document as CSV and then render it in the LatestGranteesList component. This includes some parsing work, from CSV to JSON and then rendering the Markdown. This process happens server-side only, on build time, so the resulting page is completely static.

Tutorials

Learning NextJS

To learn more about Next.js, take a look at the following resources:

Adding ChakraUI to a NextJS project

This is a very clear and step-by-step guide on it.

Learning ChakraUI

We recommend checking the official docs.

esp-website's People

Contributors

clearloop avatar corwintines avatar dependabot[bot] avatar esteticalve avatar flipfloop avatar franzihei avatar gilbertginsberg avatar looklose avatar minimalsm avatar nhsz avatar omahs avatar pettinarip avatar ph5500 avatar rodrigolvc avatar ryanpwaldon avatar samajammin avatar sorumfactory avatar tomosaito avatar wackerow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp-website's Issues

Academic Grants Round Copy Edits

Please make the following copy edits to the PGR landing page: https://deploy-preview-330--ecosystem-support.netlify.app/academic-grants
Edits are in bold

  • Introductory text:
    In 2023, we received an astounding 250 applications, which highlighted the global academic community’s growing interest in Ethereum. This year, we aim to build on this momentum by inviting even more researchers and institutions from more countries to participate. Through this wave of grants, the Ethereum Foundation underscores its commitment to supporting rigorous academic work that addresses key challenges and unlocks new opportunities.

  • Submit proposal section: Move the following text from the "Application requirements" section to this section:

  • Applications are open to individuals, teams, and organizations. Individual researchers with academic backgrounds, research centers, universities, think-tanks, educators and other stakeholders interested in Ethereum research

  • Undergraduate researchers will require a postdoctoral advisor

  • Selection criteria: Move the following text from the "Application requirements" section to this section:

  • Applications are selected for funding on a case-by-case basis. You may submit more than one application as long as each proposal is unique and meets the requirements and goals of this round.

  • Selection criteria: update copy to read:
    Applications are selected for funding on a case-by-case basis. You may submit more than one application as long as each proposal is unique and meets the requirements and goals of this round. Submissions will be reviewed using the following considerations. Note: depending on the proposal, some criteria might not be applicable.

  • Deadline: Move the following text from the "Application requirements" section to this section:

  • Decisions will be emailed 6 weeks after the application deadline.

  • Deadline: update copy to read:
    The deadline for proposals is Monday, March 5th, 2024. We will follow-up regarding your submission by email. Decisions will be emailed 6-8 weeks after the application deadline.

  • Eligibility criteria: edit bullet points

  • Projects must produce formal academic research

  • Research output must be open-access with a free and permissive license

Thank you! Please see any additional notes from Rodrigo regarding copy edits.

Fix yarn warning

Is your feature request related to a problem? Please describe.

No errors but a bunch of warnings, some after upgrading to Gatsby v3 (#84)

~/code/ef/esp-website Β« git:(master)
$ yarn
yarn install v1.19.1
warning ../../../package.json: No license field
[1/4] πŸ”  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] πŸ”—  Linking dependencies...
warning "gatsby > [email protected]" has unmet peer dependency "babel-eslint@^10.0.0".
warning "gatsby > [email protected]" has incorrect peer dependency "graphql@^14.4.1".
warning "gatsby > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
warning "babel-preset-gatsby > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "babel-preset-gatsby > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "babel-preset-gatsby > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "babel-preset-gatsby > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "babel-preset-gatsby > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "gatsby > webpack-dev-server > [email protected]" has incorrect peer dependency "webpack@^4.0.0".
warning "gatsby > gatsby-cli > gatsby-recipes > [email protected]" has incorrect peer dependency "graphql@^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0".
warning "gatsby > eslint-plugin-graphql > graphql-config > @endemolshinegroup/cosmiconfig-typescript-loader > [email protected]" has unmet peer dependency "typescript@>=2.7".
warning " > [email protected]" has incorrect peer dependency "gatsby@^2.0.0".
warning " > [email protected]" has unmet peer dependency "react-is@>= 16.8.0".
warning " > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
warning "babel-jest > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
warning "babel-jest > babel-preset-jest > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
warning "babel-jest > babel-preset-jest > babel-preset-current-node-syntax > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "babel-jest > babel-preset-jest > babel-preset-current-node-syntax > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning " > [email protected]" has unmet peer dependency "@babel/core@^7.11.6".
warning " > [email protected]" has unmet peer dependency "core-js@^3.0.0".
warning " > [email protected]" has incorrect peer dependency "[email protected]".
[4/4] πŸ”¨  Building fresh packages...
✨  Done in 25.86s.

Describe the solution you'd like

Make upgrades where possible, e.g. react to v17

Grantee Payment Form Update

Need to update some items within the grantee payment form

For:
If you choose to be paid in any fiat currency, the payment will be sent from our account on the following Monday and should arrive in your account in roughly 10 business days.

Edit to:
If you choose to be paid in any fiat currency, the payment will be sent from our account on the following Monday and should arrive in your account in roughly 10 business days. Please note this will be an international wire transfer, so please provide international banking details.

For:
International or Domestic Bank Account Number *
Provide either an International Bank Account Number (IBAN) or a standard domestic bank account number.

Edit to:
International Bank Account Number *
Provide an International Bank Account Number (IBAN).

Remove Bank routing number field

In summary:

  • Edit the intro text to include "Please note this will be an international wire transfer, so please provide international banking details."
  • Edit the question for bank account number to be just "International Bank Account Number *
    Provide an International Bank Account Number (IBAN)."
  • Remove the Bank routing number field

Let me know if anything else is needed!

Site navigation arrow flickers different sizes

Describe the bug

When refreshing the page, I see the dropdown arrow jump to a an initial large size before returning to normal:
https://share.getcloudapp.com/Qwu9OXXq

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://esp.ethereum.foundation/en/
  2. Refresh the page
  3. See error arrow flicker

Expected behavior

The arrow should remain a consistent size.

Screenshots
See video: https://share.getcloudapp.com/Qwu9OXXq

Desktop (please complete the following information):

  • OS: MacOS
  • Browser: Brave
  • Version: v 1.20.110

Grantee Payment Form Submission: AccountId ERROR

Grantee submitted payment details form via the website form https://esp.ethereum.foundation/en/grantee-finance-form/ and submission did not push through to Salesforce Contract. The error shows the required field of Account is missing, but it is not missing. The field is completed within the Contract.

To Reproduce
Steps to reproduce the behavior:

Unsure if you should try to reproduce this behavior with this specific contract, but perhaps creating another test contract underneath the same Account could reproduce the behavior.

  1. Go to 'https://ef-esp.lightning.force.com/lightning/r/0015J00000Hl0l5QAB/view'
  2. Scroll down to Contracts and create a new Contract.
  3. Ensure all the required fields are completed.
  4. Head to the grantee payment form https://esp.ethereum.foundation/en/grantee-finance-form/. Using the ETH/DAI selection, complete the form using the new Contract ID provided in the Grantee Security ID field. Enter in test data. (***Please note the contact email will receive a confirmation email)
  5. If the payment details push up to your new Contract successfully, then I am unsure of how else to reproduce this error.
  6. This should show if there is an issue with this particular AccountId or if Households Accounts are having issues with the form for some reason.

Expected behavior
The submission should've pushed up to the contract accordingly, as there were no other errors within the data provided by the grantee.

Screenshots

image

Additional context
From Sam: I'm comparing to one that just worked today. Looks like same field provided
https://app.segment.com/ethereum/destinations/salesforce/sources/esp_prod_http_api/instances/5e3c7467682b4306bf6f1927/event-tester
vs this is the failed event https://app.segment.com/ethereum/destinations/salesforce/sources/esp_prod_http_api/instances/5e3c7467682b4306bf6f1927/event-tester

Office Hours webform needs Country field

The Office Hours webform is missing Country field, which is creating a gap in our regional data.

Please add a country picklist as a required field at the end of the form before Time Zone.

Map to Salesforce field {{{npsp__CompanyCountry__c}}} using a 2 character country code.

Production builds failing

Describe the bug

Seeing this in a recent Netlify build:

5:34:31 PM: ────────────────────────────────────────────────────────────────
5:34:31 PM:   Dependencies installation error                               
5:34:31 PM: ────────────────────────────────────────────────────────────────
5:34:31 PM: ​
5:34:31 PM:   Error message
5:34:31 PM:   A Netlify Function failed to require one of its dependencies.
5:34:31 PM:   If the dependency is a Node module, please make sure it is present in the site's top-level "package.json".
  If it is a local file instead, please make sure the file exists and its filename is correctly spelled.
5:34:31 PM: ​
5:34:31 PM:   In file "/opt/build/repo/public/lambda/inquiry.js"
5:34:31 PM:   Cannot find module 'encoding'
5:34:31 PM:   Require stack:
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/node_modules/@netlify/zip-it-and-ship-it/src/resolve.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/node_modules/@netlify/zip-it-and-ship-it/src/dependencies.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/node_modules/@netlify/zip-it-and-ship-it/src/main.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/src/plugins_core/functions/index.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/src/commands/get.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/src/core/main.js
5:34:31 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/@netlify/build/src/core/bin.js

Appears to be the same issues as netlify/netlify-lambda#201

Expected behavior

Build should work... we don't use module 'encoding' in that lambda function...

New Grantee Finance Form submission does not clear out old data

Is your feature request related to a problem? Please describe.
Unsure if this is considered a bug or an enhancement. When a new grantee finance form is submitted, the old data in the Salesforce Contract payment fields were cleared, and the new submission data came through. Now it seems, the old data stays behind in addition to the new submission data.

Describe the solution you'd like
Can we please make sure all the payment fields in the Contract get wiped clean when a new submission comes in?

Describe alternatives you've considered
I have considered manually editing the data myself every time, but I feel it might become confusing and create unnecessary errors.

Additional context
If you'd like to test out my request, you may use this Contract for testing: https://ef-esp.lightning.force.com/lightning/r/Contract/8005J000000Tod6QAC/view

Below is an example of what happened when the old data of the ETH wallet address was in there, and I submitted a new form for the FIAT details. The ETH wallet address information stays when the FIAT data comes in.
Screen Shot 2022-03-03 at 9 10 17 AM

Newsletter

Would it be possible to hide the "Join our newsletter" section for the time being? We're no longer running our newsletter, but we're still getting regular sign-ups for it πŸ˜…

image

Translate the LocalGrantsForm component

Is your feature request related to a problem? Please describe.

We provide translated pages (e.g. https://esp.ethereum.foundation/es/local-grants/colombia/) but the form on that page is still in English.

Describe the solution you'd like

Translate the form, bringing the input labels & descriptions into the en.json & es.json files.

Spanish translations:
https://docs.google.com/document/d/1jDp2P4yRj8Fl8YPCqGk3owy-EYvrodcXKNHzj9jVb0E/edit

Important note: while we want to translate the copy displayed to the user, the values we send to our backend should remain the same. So the field names of the form's state should remain the same. For dropdown select value, e.g.

const PROJECT_STAGES = ["Idea phase", "Early phase", "Live service", "Other"]

const projectStageOptions = PROJECT_STAGES.map(stage => {
  return { value: stage, label: stage, name: "projectStage" }
})

The value should remain the same. The label (what is displayed to the user) should be translated.

Describe alternatives you've considered
Keep as is.

Additional context
None.

Semaphore Community Grant Round

Create an ESP grant page like https://esp.ethereum.foundation/merge-data-challenge

Grantee Finance Form UX/UI Edits

Is your feature request related to a problem? Please describe.
These are more of UX edits than anything.

Can we take off "Application" from the Submit button please?

application-edit

Can we somehow hide these elements when the user goes to use this form?
grantee-finance-form-edits

refactor: add generic grant layout component

Layout components (like ApplicantsLayout, AboutLayout) should solve the layout we need for each page (including mobile), with the corresponding margins and paddings. Besides the fixed layouts mentioned above, we need a genericGrantsLayout for the recurring grants pages (e.g.: Devcon, Academic Grants, Merge Data Challenge), etc and refactor the other components to make the code cleaner and easier to follow and maintain in the future.

Copy edits: 4844 Data Challenge Landing Page

Please make the following edits to the 4844 Landing Page.
Preview: https://deploy-preview-346--ecosystem-support.netlify.app/data-challenge-4844

Structural Edits:

  • Add #Wishlist header/section above the following text:
  • What new visualizations help provide insight into the blob data market?
  • What kinds of protocols are using blobs?
  • Is there a secondary market for blobs?
  • Move #The Challenge header and text section above "Wishlist" section
  • Move text "In addition to the prompt questions above, here’s a wishlist of data analysis avenues to explore." to #Wishlist section beneath bullet points and replace "Full wishlist" bullet point
  • Move #Prizes section above #How to submit
  • Remove Ready to Apply button under #How to submit
  • Move #Requirements section to below #How to submit

Formatting Edits:

  • Do not italicize: You may submit more than one blog post! So long as each posts focuses on a different visualisation or piece of analysis.
  • Do not italicize: Prizes for this round will be selected by judges from the Ethereum Foundation and community using the following considerations. Note: depending on the proposal, some criteria might not be applicable:
  • Do not italicize: Entries must be considered sufficiently impactful/insightful by the community judging team to be eligible for rewards.
  • Remove text: A group of Ethereum community members will evaluate your submissions and awards will go to the top blog posts πŸ†

Add City and Country fields to Small Grants form

Hi!
Can you please add these two fields to the Small Grants form?

City ----> Company City | npsp__CompanyCity__c | Text(255)
Help text Where are you located? This is optional
Country ----> Company Country | npsp__CompanyCountry__c | Text(255)
Help text Where are you located? This is optional

  • Optional fields
  • We'd like these fields to appear always, so not conditional on the Category or anything else
  • Updated the integrations sheet, the fields should appear after Company, and before Profile rows 8 & 9
  • Please make the fields into two columns

Merge Data Challenge Grants Round Edits

https://esp.ethereum.foundation/merge-data-challenge/apply

  • We still need a web connection for all the new inquiries to be input to a google sheet. This is so evaluators who do no have a Salesforce license can still view and evaluate the data. We can just use a new sheet, within this existing spreadsheet: https://docs.google.com/spreadsheets/d/12eVrg745byYwa5QZqefp7Ip0SzOBUkO6eETJdBI8X34/edit#gid=0
  • There seems to be a bug with the Website field? although the front end form does not show https:// all the website fields are containing doubles of the https://
    image
    image

Country Field Required & New Community Event Field

Country Field Required
In the Small Grants and Project Grants form, we'd like to have the Country field a required field
Salesforce mapped field: Company Country npsp__CompanyCountry__c Text(255)
This will also require changing the Help Text to say: "Where are you located, or where is your team located?"
Please change the help text to match for both forms.

New Community Event Field
We'd like to add a new field to the Small Grants, Community Event form
Only show field IF Is your event in-person or online? = In-Person, or Hybrid
Field: Event Location
Help Text: "Please list the City and Country of where your event will be located"
Salesforce mapped field: Event Location Event_Location__c Text Area(255)
This question can fit neatly into this empty space next to Expected number of attendees/registrants
image

Inquiry Form Submission Duplicates

Describe the bug

Submissions through the ESP inquiry form, are successfully coming through to Salesforce, but multiple Lead records are being created for the same inquiry. The original inquiry will come in, and then 2-3 hours later, 2 more duplicate inquiries will be created. These duplications aren't happening consecutively. It seems like a timing out issue, but I'm not sure.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://esp.ethereum.foundation/en/inquire/
  2. Submit a Specific Project inquiry
  3. See if duplicate Lead records are created for the same inquiry in Salesforce

Expected behavior

Only one Salesforce Lead record should be created for each unique inquiry

Screenshots

image

Additional context

It seems like only one Segment submission is coming through, so I'm assuming the issue lies with the Segment <> Salesforce connection.

Validate date input for devcon form

Describe the bug
Right now a user can enter a date that is in the past when filling out the devcon grant form. These dates should be later than the current date, so a validation step needs to be added in to enforce this.

Character Limit for Grantee Security ID field

Grantee Security ID Field Character Limit
UserID in Grantee Payment form needs to have a character limit of 18 characters

userID

A userID (also known as the Contract ID used in Salesforce) looks like this: 8005J000000yxeL
While we currently use the 15-character ID to identify the correct contract, I don't want to break anything by not allowing the 18-character ID as well.

Let me know if any additional information is needed. Thank you!

Grantee Finance Form Updates

Some UX changes to the Grantee Finance form https://esp.ethereum.foundation/applicants/grantee-finance

  • Current help text under field for Beneficiary address:
    Personal or business address of the individual or entity receiving the funds.
  • Change to:
    Personal or business address of the individual or entity receiving the funds. Please provide the full Billing Address. Ex: 100 Smith Street, Chicago, IL 60607 United States

  • Change Beneficiary address to a TextArea (multi-line) field. 3 line breaks should help enforce the idea of a full physical address (hopefully).

  • Current help text of the field for Bank address: Branch address of receiving bank.
  • Change to:
    Branch address of receiving bank. Please provide the full Billing Address of the bank. Ex: 390 Madison Ave, New York, NY 10017 United States

  • Change Bank address to a TextArea (multi-line) field. 3 line breaks should help enforce the idea of a full physical address (hopefully).

  • Current help text for International Bank Account Number: Provide an International Bank Account Number (IBAN).
  • Change to:
    If your bank does not provide an IBAN, provide your Bank Account Number. Confirm with your bank ahead of time that they can receive International Wire Transfers from a Swiss bank. If your bank is unable to receive international wire transfers, you will need to choose a different payment method. Contact [email protected] if you have more questions.

  • Current help text for Fiat currency code: Code of the currency you'd like to receive funds, e.g. EUR, USD, RUB.
  • Change to: Code of the currency you'd like to receive funds, e.g. EUR, USD, JPY.

  • Bank SWIFT code ---> change to a required field
  • Move Fiat currency code field to be between SWIFT Code and Notes field.

Fix "gatsby-transformer-sharp" warning

Is your feature request related to a problem? Please describe.

After migration to Gatsby v3 (#84), this warning pops up when running the dev server:

warning [gatsby-transformer-sharp] The "fixed" and "fluid" resolvers are now deprecated. Switch to "gatsby-plugin-image" for better performance and a simpler API. See https://gatsby.dev/migrate-images to learn how.

Describe the solution you'd like

https://www.gatsbyjs.com/docs/reference/release-notes/image-migration-guide/

Update Semaphore Grant Round Deadline

When: On Friday Oct 7t
Change: deadline for grant applications to be October 28th

Conext: this is related to #233 and the public URL is likely in esp.ethereum.foundation/semaphore-grants

Email validation doesn't catch all cases

Describe the bug

Inquiry form allowed a submission of an invalid email: an email without a TLD (e.g. someemail@devfolio)

Expected behavior

Update the form validation to check for this.

ZK Round Landing Page and Webform Edits

Please make the following edits to the ZK Round Landing Page: https://deploy-preview-328--ecosystem-support.netlify.app/zk-grants

  • Change "Introduction" text on the final sentence:

Each of the funders is contributing $150K to the shared funding pool, which totals $900K.

  • Add accent on the following bullet point under "Ideas":

Publicly accessible and easy-to-understand security and risk benchmarking for ZKRs and bridges (Γ  la L2beat)

  • Add a period to the following sentence under "Application requirements":

You may submit more than one application as long as each proposal is unique and meets the requirements and goals of this round**.**

  • Add the following sentences under "Deadline":

We will follow-up regarding your submission by email. Decisions will be emailed 6-8 weeks after the application deadline.

  • Add a period to the following sentence under "Next steps and support":

For general support questions about your submission, please email [email protected].

  • Set a max character limit to the "Brief project summary" text field at 2000 characters.
  • Update the values in the "Project category" picklist: Applied ZKP, Community and education, Consensus layer, Cryptography and zero knowledge proofs, Cybersecurity, dApp Development, Data Visualization, Decentralized Identity, Developer experience and tooling, Execution layer, Formal Verification, General research, Layer 2, Maximal Extractable Value (MEV), P2P networking, Privacy, Society and Regulatory, UX/UI, Other
  • Make sure "Project category" picklist is in alphabetical order with "Other" at the end.

Grantee Finance Form: alert for Indian banks

Feature Request
When a grantee submits fiat banking information, for a bank located in India, or with the currency of INR, our finance team needs the IFSC code in order to process the payment
(https://esp.ethereum.foundation/applicants/grantee-finance)

Describe the solution you'd like
I was hoping we could create an alert or add help text somewhere that asks the grantee to submit the IFSC code within the Notes field, if the Bank Address contains India or if the Fiat Currency equals code INR

IF
Bank Address CONTAINS India
OR
Fiat currency code = INR
THEN
alert for IFSC code within Notes field

Describe alternatives you've considered
At this time, I have been manually checking the payment details to see if it contains any of these items, but I'd prefer if we could catch these ahead of time and remove human error.

Additional context
Apologies for my poorly written conditional statement.

Layer 2 Community Grants 2022

Create an ESP grant page like https://esp.ethereum.foundation/merge-data-challenge

Title: Layer 2 Community Grants 2022
Launch date: October 24th, 2022

Markdown of Landing Page:
https://hackmd.io/@BcrNKqoOR1OZEFsNu7su9w/SyQEev5Wi

Project wishlist:
https://hackmd.io/@BcrNKqoOR1OZEFsNu7su9w/SkdvCP7zs

Link of Image Asset (Place Holder until Tomo creates one):
https://drive.google.com/file/d/12f-X7na_KxBptYtQtzhD9ecAFpmWIvpn/view?usp=sharing

Copy & input field names/types for the application: https://docs.google.com/spreadsheets/d/1VyLAS20zTLdVztEsAZcLDdMZU9tNXKtM5LWGDK_vzlY/edit#gid=0

Update question text for RTD Devcon grants form

I have also made a couple minor changes to the (questions google sheet)[https://docs.google.com/spreadsheets/d/1QbC8xGMcy9egPQzdMaGRjqca0d7aR3cwxue8BKj06GQ/edit#gid=0]. Very minor changes to text.

@wackerow β€”Β do you think you could help me update those? Requests are as comments on the respective question cell in the sheet. Thanks!

Nav menu doesn't scroll

Describe the bug

Nav menu doesn't scroll

To Reproduce
Steps to reproduce the behavior:

  1. Click on mobile nav menu
  2. Menu doesn't scroll

Expected behavior

Should scroll

Screenshots

image

Smartphone (please complete the following information):

  • Device: iPhone 5/SE

Update Referrals field to Long Text field on ESP forms

we would like to update this field, on both https://esp.ethereum.foundation/applicants/small-grants/apply and https://esp.ethereum.foundation/applicants/project-grants/apply:
"Did anyone recommend that you submit an application to the Ecosystem Support Program? If so, who?"
Help Text: Please submit the person's name only. This is not required.

Salesforce Field Mapping:
Referrals | Referrals__c | Text(150)


to be a long text field and written as such:

"Did anyone recommend that you submit an application to the Ecosystem Support Program?"
Help Text: Please include the person's name and details of their referral.

Change from one line text box to a text area with 3 line breaks.

Referrals | Referrals__c | Long Text Area(32768)


The ESP team can update the field's data type in Salesforce, once the front end change has been made

Add L2 Payment Option to Grantee Finance Form

Feature request
A request to add the option for Layer 2 Payment within the grantee finance form.

Describe the solution you'd like
When the user selects "Receive ETH/DAI" payment, please add a checkbox labeled Layer 2 Payment after "Payment Preference", before "Notes". With the additional help text, the field should look like:

[ ] Layer 2 Payment

Check this box if you would like your payment to be processed on a Layer 2 network, versus the Ethereum Mainnet. The ESP team will be in touch to confirm which Layer 2 network.

Additional context
Default value is unchecked
Salesforce Field Name: Layer2_Payment
Salesforce API Name: Layer2_Payment__c
Don't hesitate to reach out if you need additional information.

Project Grants Website Inquiries not sending Document Uploads to Salesforce

Recent inquiries through the Project Grants form that have uploaded documents are not being sent to the Salesforce Lead Records.
Two have been tested recently:
https://ef-esp.lightning.force.com/lightning/r/Lead/00Q5J000006bEuDUAU/view
https://ef-esp.lightning.force.com/lightning/r/Lead/00Q5J000006bEv1UAE/view

Documents that were uploaded were below the MB threshold, and two different documents were used. One was a .docx and one was a .pdf
Please let me know what additional information is needed to troubleshoot this issue. Thank you!

Date input not supported on old browsers

Describe the bug

We are using <input type="date" /> in some places and that is not 100% supported by old browsers. It fallback to a input text, allowing the user to enter whatever they want.

To Reproduce
Steps to reproduce the behavior:

  1. Use an old browser that doesn't support date inputs
  2. Go to https://esp.ethereum.foundation/applicants/small-grants/apply
  3. Select "Community Event" in "Project category"
  4. The field "Event date" will fallback to an input text
  5. Type whatever you want
  6. Get error on submit

Expected behavior

We should have a workaround to normalize the input value when the input is not a date input.

Discuss
Should we support this issue? given that the partial support on browsers is 96.67%?

Update Categories List

We'd like to update the Categories list on all three website forms to better reflect what applications we are gathering:
Office hours
Small Grants
Project Grants

Those that are bold are new values

Community Initiative
Community event
Consensus layer
Cryptography Research
dApp Development
Decentralized Identity
DeFi
Developer experience and tooling
Educational Content
Execution layer
Formal Verification
General research
Governance
Layer 2
NFTs / Digital Art
Privacy
Security
Token Development / Tokenomics
UX/UI
Zero Knowledge Proofs
Zero Knowledge Applications
Other

Minor tweak to website content

We're hoping to make some minor amendments to the content on the ESP website:

  1. On the ESP website's homepage (https://esp.ethereum.foundation/), we'd like to change the "open source projects" phrase to "free and open source projects".
    image
    So, the entire paragraph should read as "We award dozens of grants each quarter, across a variety of categories. We support free and open source projects that strengthen Ethereum's foundations, with a particular focus on builder tools, infrastructure, research, community resources and other public goods. Funding is generally directed toward supporting builders rather than end users."

  2. On the ESP website's What We Support page (https://esp.ethereum.foundation/about), we'd like to change the last sentence of the first paragraph to "The work we support is free, open-source, non-commercial, and built for positive sum outcomes."
    image

  3. On the header of the ESP website's What We Support page (https://esp.ethereum.foundation/about), we'd like to change the sentence to "We provide grants and other support for free and open-source projects that strengthen Ethereum's foundations, with a particular focus on builder tools, infrastructure, research and public goods."
    image

Thank you!!

Add Captcha to all forms

Describe the solution you'd like
Would be great if we could get a captcha for all the forms to prevent any spamming to our Salesforce data!

Duplicate lead creation on form submissions

Describe the bug

@monetmignon reported multiple instances of duplicate lead creation in the CRM.

Can confirm for the Google Sheet integrations, there's a case of duplicate records:
https://docs.google.com/spreadsheets/d/14SWi7kQDECm_xL0GutHvmYczv5wHtfeIaEILBKOZ-cM/edit#gid=166946480

Expected behavior

Each form submission should only create 1 record.

Desktop (please complete the following information):

Unknown

Smartphone (please complete the following information):

Unknown

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.