SCGR commited on
Commit
9644425
Β·
1 Parent(s): e6231da
frontend/src/pages/HelpPage.module.css ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .helpContainer {
2
+ margin: 0 auto;
3
+ max-width: var(--go-ui-width-screen-lg);
4
+ padding: var(--go-ui-spacing-lg) var(--go-ui-spacing-md) var(--go-ui-spacing-2xl) var(--go-ui-spacing-md);
5
+ }
6
+
7
+ .helpSection {
8
+ background-color: var(--go-ui-color-white);
9
+ border: var(--go-ui-width-separator-thin) solid var(--go-ui-color-separator);
10
+ border-radius: var(--go-ui-border-radius-xl);
11
+ padding: var(--go-ui-spacing-2xl);
12
+ margin-bottom: var(--go-ui-spacing-xl);
13
+ box-shadow: var(--go-ui-box-shadow-sm);
14
+ transition: all var(--go-ui-duration-transition-medium) ease;
15
+ position: relative;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .helpSection:hover {
20
+ box-shadow: var(--go-ui-box-shadow-md);
21
+ transform: translateY(-2px);
22
+ border-color: var(--go-ui-color-gray-30);
23
+ }
24
+
25
+ .sectionHeader {
26
+ display: flex;
27
+ align-items: center;
28
+ margin-bottom: var(--go-ui-spacing-lg);
29
+ padding-bottom: var(--go-ui-spacing-md);
30
+ border-bottom: var(--go-ui-width-separator-thin) solid var(--go-ui-color-separator);
31
+ }
32
+
33
+ .sectionIcon {
34
+ width: 2rem;
35
+ height: 2rem;
36
+ margin-right: var(--go-ui-spacing-md);
37
+ color: var(--go-ui-color-red-90);
38
+ background-color: var(--go-ui-color-red-5);
39
+ border-radius: 50%;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ flex-shrink: 0;
44
+ }
45
+
46
+ .sectionTitle {
47
+ color: var(--go-ui-color-black);
48
+ font-weight: var(--go-ui-font-weight-semibold);
49
+ font-size: var(--go-ui-font-size-xl);
50
+ margin: 0;
51
+ }
52
+
53
+ .sectionContent {
54
+ color: var(--go-ui-color-gray-700);
55
+ line-height: 1.7;
56
+ font-size: var(--go-ui-font-size-base);
57
+ margin-bottom: var(--go-ui-spacing-lg);
58
+ }
59
+
60
+ .guidelinesList {
61
+ list-style: none;
62
+ padding: 0;
63
+ margin: var(--go-ui-spacing-md) 0;
64
+ }
65
+
66
+ .guidelinesList li {
67
+ position: relative;
68
+ padding: var(--go-ui-spacing-sm) 0 var(--go-ui-spacing-sm) var(--go-ui-spacing-lg);
69
+ margin-bottom: var(--go-ui-spacing-sm);
70
+ color: var(--go-ui-color-gray-700);
71
+ line-height: 1.6;
72
+ }
73
+
74
+ .guidelinesList li::before {
75
+ content: 'βœ“';
76
+ position: absolute;
77
+ left: 0;
78
+ top: var(--go-ui-spacing-sm);
79
+ color: var(--go-ui-color-green-70);
80
+ font-weight: var(--go-ui-font-weight-bold);
81
+ font-size: var(--go-ui-font-size-sm);
82
+ background-color: var(--go-ui-color-green-5);
83
+ border-radius: 50%;
84
+ width: 1.5rem;
85
+ height: 1.5rem;
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ }
90
+
91
+ .buttonContainer {
92
+ display: flex;
93
+ justify-content: center;
94
+ margin-top: var(--go-ui-spacing-xl);
95
+ }
96
+
97
+ .featureHighlight {
98
+ background: linear-gradient(135deg, var(--go-ui-color-blue-5), var(--go-ui-color-blue-10));
99
+ border: var(--go-ui-width-separator-thin) solid var(--go-ui-color-blue-20);
100
+ border-radius: var(--go-ui-border-radius-lg);
101
+ padding: var(--go-ui-spacing-lg);
102
+ margin: var(--go-ui-spacing-lg) 0;
103
+ position: relative;
104
+ }
105
+
106
+ .featureHighlight::before {
107
+ content: 'πŸ’‘';
108
+ position: absolute;
109
+ top: var(--go-ui-spacing-md);
110
+ right: var(--go-ui-spacing-md);
111
+ font-size: 1.5rem;
112
+ }
113
+
114
+ .featureHighlightText {
115
+ color: var(--go-ui-color-blue-90);
116
+ font-weight: var(--go-ui-font-weight-medium);
117
+ margin: 0;
118
+ font-size: var(--go-ui-font-size-sm);
119
+ }
120
+
121
+ /* Responsive adjustments */
122
+ @media (max-width: 768px) {
123
+ .helpSection {
124
+ padding: var(--go-ui-spacing-lg);
125
+ margin-bottom: var(--go-ui-spacing-lg);
126
+ }
127
+
128
+ .sectionHeader {
129
+ flex-direction: column;
130
+ text-align: center;
131
+ gap: var(--go-ui-spacing-sm);
132
+ }
133
+
134
+ .sectionIcon {
135
+ margin-right: 0;
136
+ margin-bottom: var(--go-ui-spacing-sm);
137
+ }
138
+
139
+ .actionButton {
140
+ padding: var(--go-ui-spacing-sm) var(--go-ui-spacing-lg);
141
+ font-size: var(--go-ui-font-size-sm);
142
+ }
143
+ }
frontend/src/pages/HelpPage.tsx CHANGED
@@ -1,6 +1,7 @@
1
  import { PageContainer, Heading, Container, Button } from '@ifrc-go/ui';
2
  import { useNavigate } from 'react-router-dom';
3
  import { useFilterContext } from '../contexts/FilterContext';
 
4
 
5
  export default function HelpPage() {
6
  const navigate = useNavigate();
@@ -21,20 +22,18 @@ export default function HelpPage() {
21
 
22
  return (
23
  <PageContainer className="py-10">
24
- <Container withInternalPadding className="max-w-4xl mx-auto">
25
-
26
-
27
  <div className="space-y-8">
28
- <Container withInternalPadding className="p-8">
29
- <Heading level={3} className="mb-4 text-ifrcRed font-semibold">Introduction</Heading>
30
- <p className="text-gray-700 leading-relaxed text-base">
31
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore
32
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
33
- aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
34
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
35
- culpa qui officia deserunt mollit anim id est laborum.
36
- </p>
37
- <div className="mt-6 flex justify-center">
38
  <Button
39
  name="upload-now"
40
  variant="secondary"
@@ -43,17 +42,22 @@ export default function HelpPage() {
43
  Upload now β†’
44
  </Button>
45
  </div>
46
- </Container>
47
 
48
- <Container withInternalPadding className="p-8">
49
- <Heading level={3} className="mb-4 text-ifrcRed font-semibold">Guidelines</Heading>
50
- <p className="text-gray-700 leading-relaxed text-base">
51
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,
52
- totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae
53
- dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
54
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
55
- </p>
56
- <div className="mt-6 flex justify-center">
 
 
 
 
 
57
  <Button
58
  name="see-examples"
59
  variant="secondary"
@@ -62,17 +66,17 @@ export default function HelpPage() {
62
  See examples β†’
63
  </Button>
64
  </div>
65
- </Container>
66
 
67
- <Container withInternalPadding className="p-8">
68
- <Heading level={3} className="mb-4 text-ifrcRed font-semibold">VLMs</Heading>
69
- <p className="text-gray-700 leading-relaxed text-base">
70
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum
71
- deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non
72
- provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum
73
- fuga. Et harum quidem rerum facilis est et expedita distinctio.
74
- </p>
75
- <div className="mt-6 flex justify-center">
76
  <Button
77
  name="view-vlm-details"
78
  variant="secondary"
@@ -81,18 +85,16 @@ export default function HelpPage() {
81
  View VLM details β†’
82
  </Button>
83
  </div>
84
- </Container>
85
 
86
- <Container withInternalPadding className="p-8">
87
- <Heading level={3} className="mb-4 text-ifrcRed font-semibold">Dataset</Heading>
88
- <p className="text-gray-700 leading-relaxed text-base">
89
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore
90
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
91
- aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
92
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
93
- culpa qui officia deserunt mollit anim id est laborum.
94
- </p>
95
- <div className="mt-6 flex justify-center">
96
  <Button
97
  name="export-dataset"
98
  variant="secondary"
@@ -110,9 +112,27 @@ export default function HelpPage() {
110
  Export dataset β†’
111
  </Button>
112
  </div>
113
- </Container>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  </div>
115
- </Container>
116
  </PageContainer>
117
  );
118
  }
 
1
  import { PageContainer, Heading, Container, Button } from '@ifrc-go/ui';
2
  import { useNavigate } from 'react-router-dom';
3
  import { useFilterContext } from '../contexts/FilterContext';
4
+ import styles from './HelpPage.module.css';
5
 
6
  export default function HelpPage() {
7
  const navigate = useNavigate();
 
22
 
23
  return (
24
  <PageContainer className="py-10">
25
+ <div className={styles.helpContainer}>
 
 
26
  <div className="space-y-8">
27
+ <div className={styles.helpSection}>
28
+ <div className={styles.sectionHeader}>
29
+ <Heading level={3} className={styles.sectionTitle}>Introduction</Heading>
30
+ </div>
31
+ <div className={styles.sectionContent}>
32
+ In collaboration with the IFRC, PromptAid Vision is a tool that generates textual descriptions of crisis maps/crisis drone images utiliing Visual language models.
33
+ This prototype is for collecting data for the fine-tuning of our own models. We aim to utilize AI tools to support national societies with rapid decision making during
34
+ emergencies.
35
+ </div>
36
+ <div className={styles.buttonContainer}>
37
  <Button
38
  name="upload-now"
39
  variant="secondary"
 
42
  Upload now β†’
43
  </Button>
44
  </div>
45
+ </div>
46
 
47
+ <div className={styles.helpSection}>
48
+ <div className={styles.sectionHeader}>
49
+ <Heading level={3} className={styles.sectionTitle}>Guidelines</Heading>
50
+ </div>
51
+ <div className={styles.sectionContent}>
52
+ To make the process smoother, please follow the guidelines below:
53
+ <ul className={styles.guidelinesList}>
54
+ <li>Avoid uploading images that are not crisis maps/crisis drone images.</li>
55
+ <li>Confirm the image details prior to modifying the description.</li>
56
+ <li>Before the modification, please read the description generated and provide a rating via the rating sliders.</li>
57
+ <li>Click the "Submit" button to save the description.</li>
58
+ </ul>
59
+ </div>
60
+ <div className={styles.buttonContainer}>
61
  <Button
62
  name="see-examples"
63
  variant="secondary"
 
66
  See examples β†’
67
  </Button>
68
  </div>
69
+ </div>
70
 
71
+ <div className={styles.helpSection}>
72
+ <div className={styles.sectionHeader}>
73
+ <Heading level={3} className={styles.sectionTitle}>VLMs</Heading>
74
+ </div>
75
+ <div className={styles.sectionContent}>
76
+ PromptAid Vision uses a variety of Visual Language Models (VLMs). A random VLM is selected for each upload. Therefore feel free to delete
77
+ and reupload. You can view performance details here:
78
+ </div>
79
+ <div className={styles.buttonContainer}>
80
  <Button
81
  name="view-vlm-details"
82
  variant="secondary"
 
85
  View VLM details β†’
86
  </Button>
87
  </div>
88
+ </div>
89
 
90
+ <div className={styles.helpSection}>
91
+ <div className={styles.sectionHeader}>
92
+ <Heading level={3} className={styles.sectionTitle}>Dataset</Heading>
93
+ </div>
94
+ <div className={styles.sectionContent}>
95
+ All users are able to export the dataset. You could apply filters when exporting, and it have the option to organize based on model fine-tuning formats.
96
+ </div>
97
+ <div className={styles.buttonContainer}>
 
 
98
  <Button
99
  name="export-dataset"
100
  variant="secondary"
 
112
  Export dataset β†’
113
  </Button>
114
  </div>
115
+ </div>
116
+
117
+ <div className={styles.helpSection}>
118
+ <div className={styles.sectionHeader}>
119
+ <Heading level={3} className={styles.sectionTitle}>Contact us</Heading>
120
+ </div>
121
+ <div className={styles.sectionContent}>
122
+ Need help or have questions about PromptAid Vision? Our team is here to support you.
123
+ </div>
124
+ <div className={styles.buttonContainer}>
125
+ <Button
126
+ name="contact-support"
127
+ variant="secondary"
128
+ disabled={true}
129
+ >
130
+ Get in touch β†’
131
+ </Button>
132
+ </div>
133
+ </div>
134
  </div>
135
+ </div>
136
  </PageContainer>
137
  );
138
  }
frontend/src/pages/UploadPage/UploadPage.tsx CHANGED
@@ -898,9 +898,8 @@ export default function UploadPage() {
898
  <div className="space-y-6">
899
  <p className="text-gray-700 leading-relaxed max-w-2xl mx-auto">
900
  This app evaluates how well multimodal AI models analyze and describe
901
- crisis maps and drone imagery. Upload any file format (PDF, TIFF, HEIC, etc.)
902
- and we'll automatically convert it for you. Let the AI generate a description,
903
- then review and rate the result based on your expertise.
904
  </p>
905
 
906
  {/* "More Β»" link */}
 
898
  <div className="space-y-6">
899
  <p className="text-gray-700 leading-relaxed max-w-2xl mx-auto">
900
  This app evaluates how well multimodal AI models analyze and describe
901
+ crisis maps and drone imagery. Upload an image and the AI will generate a description.
902
+ Then you can review and rate the result based on your expertise.
 
903
  </p>
904
 
905
  {/* "More Β»" link */}