Skip to content

Commit 5689baa

Browse files
Take comments into account and fix various issues.
1 parent 9fc1f4b commit 5689baa

14 files changed

+277
-183
lines changed
Lines changed: 77 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,88 @@
11
import styles from "./styles.module.css";
22

33
export default function GetAQuoteForm() {
4-
return (
5-
<>
6-
<form
7-
action="https://formspree.io/f/xjvndwdq"
8-
method="POST"
9-
className={styles.get_a_quote_form}
10-
>
11-
<div className="form-group">
12-
<div>
13-
<label className={styles.get_a_quote_form_label}>Project name</label>
14-
</div>
15-
<div className={styles.input_container}>
16-
<input
17-
type="text"
18-
className={styles.small_input}
19-
name="Project name"
20-
id="Project name"
21-
/>
22-
</div>
23-
<div>
24-
<label className={styles.get_a_quote_form_label}>Your name</label>
25-
</div>
26-
<div className={styles.input_container}>
27-
<input
28-
type="text"
29-
className={styles.small_input}
30-
name="name"
31-
id="name"
32-
/>
33-
</div>
4+
return (
5+
<div className="flex-horizontally-centered">
6+
<form
7+
action="https://formspree.io/f/xjvndwdq"
8+
method="POST"
9+
className={styles.get_a_quote_form}
10+
>
11+
<div className="form-group">
12+
<div>
13+
<label className={styles.get_a_quote_form_label}>Project name</label>
14+
</div>
15+
<div className={styles.input_container}>
16+
<input
17+
type="text"
18+
className={styles.small_input}
19+
name="Project name"
20+
id="Project name"
21+
/>
3422
</div>
35-
<div className="form-group">
36-
<div>
37-
<label className={styles.get_a_quote_form_label}>Your company</label>
38-
</div>
39-
<div className={styles.input_container}>
40-
<input className={styles.small_input} name="company" id="company" />
41-
</div>
23+
<div>
24+
<label className={styles.get_a_quote_form_label}>Your name</label>
4225
</div>
43-
<div className="form-group">
44-
<div>
45-
<label className={styles.get_a_quote_form_label}>Your email</label>
46-
</div>
47-
<div className={styles.input_container}>
48-
<input
49-
type="text"
50-
className={styles.small_input}
51-
name="email"
52-
id="email"
53-
/>
54-
</div>
26+
<div className={styles.input_container}>
27+
<input
28+
type="text"
29+
className={styles.small_input}
30+
name="name"
31+
id="name"
32+
/>
5533
</div>
56-
<div className="form-group">
57-
<div>
58-
<label className={styles.get_a_quote_form_label}>Your phone number</label>
59-
</div>
60-
<div className={styles.input_container}>
61-
<input
62-
type="text"
63-
className={styles.small_input}
64-
name="phone-number"
65-
id="phone-number"
66-
/>
67-
</div>
34+
</div>
35+
<div className="form-group">
36+
<div>
37+
<label className={styles.get_a_quote_form_label}>Your company</label>
6838
</div>
69-
<div className="form-group">
70-
<div>
71-
<label className={styles.get_a_quote_form_label}>Your message to us</label>
72-
</div>
73-
<div>
74-
<textarea
75-
className={styles.large_input}
76-
placeholder="Please explain your interests in funding this project"
77-
name="message"
78-
id="message"
79-
></textarea>
80-
</div>
39+
<div className={styles.input_container}>
40+
<input className={styles.small_input} name="company" id="company" />
8141
</div>
42+
</div>
43+
<div className="form-group">
8244
<div>
83-
<div className={"flex-full-centered" + " "+ styles.send_button_container}>
84-
<input type="submit" value="SEND" className={"link-to-button" + " " + styles.send_button} />
45+
<label className={styles.get_a_quote_form_label}>Your email</label>
46+
</div>
47+
<div className={styles.input_container}>
48+
<input
49+
type="text"
50+
className={styles.small_input}
51+
name="email"
52+
id="email"
53+
/>
8554
</div>
55+
</div>
56+
<div className="form-group">
57+
<div>
58+
<label className={styles.get_a_quote_form_label}>Your phone number</label>
59+
</div>
60+
<div className={styles.input_container}>
61+
<input
62+
type="text"
63+
className={styles.small_input}
64+
name="phone-number"
65+
id="phone-number"
66+
/>
67+
</div>
68+
</div>
69+
<div className="form-group">
70+
<div>
71+
<label className={styles.get_a_quote_form_label}>Your message to us</label>
72+
</div>
73+
<div>
74+
<textarea
75+
className={styles.large_input}
76+
placeholder="Please explain your interests in funding this project"
77+
name="message"
78+
id="message"
79+
></textarea>
8680
</div>
87-
</form>
88-
</>
89-
);
90-
}
81+
</div>
82+
<div className={"flex-full-centered" + " " + styles.send_button_container}>
83+
<input type="submit" value="SEND" className={"link-to-button" + " " + styles.send_button} />
84+
</div>
85+
</form>
86+
</div>
87+
);
88+
}

src/components/fundable/GetAQuotePage.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ import FundableProjects from ".";
1111
function GetAQuoteComponent({ project }) {
1212
return (
1313
<div className={styles.get_a_quote_dialog}>
14-
<div className={"row" + " " + "flex-horizontally-centered"}>
14+
<div className={"row"}>
1515
<div className={"col col--6" + " " + styles.get_a_quote_text_col_desktop}>
1616
<LargeProjectCardContent project={project} />
1717
</div>
1818
<div className={"col col--5 col--offset-1" + " " + styles.get_a_quote_form_col_desktop}>
1919
<h1 className={"padding-none"}> Get a quote</h1>
20-
<div className="flex-horizontally-centered"><GetAQuoteForm /></div>
20+
<div ><GetAQuoteForm /></div>
2121
</div>
2222
<div className={"col col--12" + " " + styles.get_a_quote_form_col_mobile}>
2323
<h1 className={"padding-none text--center"}> Get a quote</h1>
24-
<div className="flex-horizontally-centered"><GetAQuoteForm /></div>
24+
<div><GetAQuoteForm /></div>
2525
</div>
2626
</div>
2727
</div >
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import styles from "./styles.module.css";
2+
import React from "react";
3+
import IconContainer from "./IconContainer";
4+
import LinkToGetAQuote from "./LinkToGetAQuote";
5+
import { useHistory, useLocation } from "@docusaurus/router";
6+
7+
export function LargeProjectCardContent({ project }) {
8+
const history = useHistory();
9+
const location = useLocation();
10+
11+
function openDialog() {
12+
const pageName = project.pageName;
13+
14+
history.push({
15+
pathname: `/fundable/${pageName}/GetAQuote`,
16+
state: { from: location.pathname, scrollY: window.scrollY },
17+
});
18+
}
19+
return (
20+
<div className={"container"} onClick={openDialog}>
21+
<div className={"row-padding-none"}>
22+
<div className="col col--12">
23+
<div className={styles.large_project_card_title}>{project.title}</div>
24+
</div>
25+
</div>
26+
<div className="row">
27+
<div className="col col--12">
28+
<div className={styles.large_project_card_text_container}>
29+
<div className={styles.large_project_card_description_container}>
30+
<div className={styles.large_project_card_description}>
31+
<project.description />
32+
</div>
33+
</div>
34+
</div>
35+
</div>
36+
</div>
37+
</div>
38+
)
39+
}
40+
export default function LargeProjectCard({ project }) {
41+
return (
42+
<div className={styles.large_project_card}>
43+
<LargeProjectCardContent project={project} />
44+
<div className="row">
45+
<div className="col col--12">
46+
<div><LinkToGetAQuote label={"GET A QUOTE"} pageName={project.pageName} /></div>
47+
</div>
48+
</div>
49+
</div>
50+
);
51+
}

src/components/fundable/MenuSideBar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import styles from "./styles.module.css";
44

55
const sections = [
66
{ id: 'jupyter-ecosystem', label: 'Jupyter Ecosystem' },
7-
{ id: 'project-management', label: 'Project Management' },
7+
{ id: 'package-management', label: 'Package Management' },
88
];
99

1010
export default function MenuSideBar() {

src/components/fundable/SmallProjectCard.tsx

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ export function SmallProjectCard({ project }) {
3030
>
3131
{project.title}
3232
</div>
33-
<div
34-
className={styles.project_catch_up_phrase}
35-
>
36-
{project.catchUpPhrase}
37-
</div>
3833
<div className={styles.project_information_container}>
3934
<div className="flex-full-centered">
4035
<BlueCaretIcon />
@@ -47,9 +42,6 @@ export function SmallProjectCard({ project }) {
4742
</div>
4843
</div>
4944
</div>
50-
<div>
51-
<LinkToMoreInformation label={"Read more"} pageName={project.pageName} />
52-
</div>
5345
<div className={styles.project_information_container}>
5446
<div className="flex-full-centered">
5547
<BlueCaretIcon />
@@ -78,37 +70,34 @@ export function SmallProjectCard({ project }) {
7870
<div className={styles.small_project_card_indicative_price_text}>
7971
Indicative price
8072
</div>
73+
<div className={styles.small_project_card_funded_at_text}>
74+
Funded at {project.currentFundingPercentage} %
75+
</div>
8176
<div>
82-
<div className={styles.small_project_card_financed_at_text}>
83-
Financed at {project.currentFundingPercentage} %
84-
</div>
85-
<div>
86-
<ProgressBar value={project.currentFundingPercentage} color={'var(--ifm-color-secondary-s1'} />
87-
</div>
88-
<div className={styles.shareable_container}>
89-
<div><FundersIcon width="35px" height="26px" /></div>
90-
<div className={styles.shareable_text}>{project.maxNbOfFunders === 1
91-
? 'Not shareable between funders'
92-
: `Shareable between ${project.maxNbOfFunders} funders`
93-
}
94-
</div>
77+
<ProgressBar value={project.currentFundingPercentage} color={'var(--ifm-color-secondary-s1'} />
78+
</div>
79+
<div className={styles.shareable_container}>
80+
<div><FundersIcon width="35px" height="26px" /></div>
81+
<div className={styles.shareable_text}>{project.maxNbOfFunders === 1
82+
? 'Not shareable between funders'
83+
: `Shareable between ${project.maxNbOfFunders} funders`
84+
}
9585
</div>
96-
<div className={styles.shareable_container}>
97-
<div><DollarIcon width="35px" height="26px" /></div>
98-
<div className={styles.shareable_text}>
99-
{project.currentNbOfFunders === 0
100-
? 'The project is not supported yet'
101-
: `Supported by ${project.currentNbOfFunders}
86+
</div>
87+
<div className={styles.shareable_container}>
88+
<div><DollarIcon width="35px" height="26px" /></div>
89+
<div className={styles.shareable_text}>
90+
{project.currentNbOfFunders === 0
91+
? 'This project does not have any backers yet'
92+
: `Backed by ${project.currentNbOfFunders}
10293
${project.currentNbOfFunders === 1 ? 'funder' : 'funders'}
10394
`}
104-
</div>
105-
10695
</div>
10796
</div>
10897
</div>
10998
</div>
11099
</div>
111100
</div>
112-
</div >
101+
</div>
113102
)
114103
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#### Overview
2+
Emscripten-forge is a conda package distribution specifically designed for WebAssembly. When combined with JupyterLite and the jupyterlite-xeus extension, it enables easy deployment of JupyterLite with a preconfigured conda environment that includes essential packages like NumPy, Pandas, Matplotlib, and more.
3+
4+
While the number of available emscripten-forge packages is growing quickly, many packages are still missing from the ecosystem.
5+
6+
We will be working on adding new packages upon request.
7+
8+
#### Option A
9+
This is option A.
10+
11+
#### Option B
12+
This is option B.
13+
14+
#### Custom option
15+
This is custom option.
16+
17+
18+
##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#### Overview
2+
Similar to QGIS, JupyterGIS currently offers a set of vector processing and conversion tools such as buffer creation, centroid calculation, and convex hull generation. These capabilities are powered by a GDAL WebAssembly (WASM) build running in the browser.
3+
4+
We will work on extending support to raster processing tools using the same underlying technology. Planned features (non-exhaustive and subject to request needs) include:
5+
6+
- Clipping by extent
7+
- Clipping by mask layer
8+
- Generating contours
9+
- Polygonizing raster data
10+
11+
#### Option A
12+
This is option A.
13+
14+
#### Option B
15+
This is option B.
16+
17+
#### Custom option
18+
This is custom option.
19+
20+
21+
##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#### Overview
2+
JupyterGIS currently supports several vector processing and conversion tools such as buffer creation, centroid computation, and convex hull generation, similar to what QGIS offers. These features are powered by a GDAL WebAssembly (WASM) build and are currently available only through the JupyterGIS user interface.
3+
4+
We plan to extend these capabilities to the JupyterGIS Python API, enabling users to access the same processing tools programmatically, just as they would via the UI. This functionality will be implemented using the GDAL Python bindings.
5+
6+
#### Option A
7+
This is option A.
8+
9+
#### Option B
10+
This is option B.
11+
12+
#### Custom option
13+
This is custom option.
14+
15+
16+
##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it

0 commit comments

Comments
 (0)