Skip to content

Commit ed987d0

Browse files
Merge pull request #4566 from OneCommunityGlobal/SaiKrishna_DarkModeOptimisationForAddMaterialsPage
Sai krishna_DarkModeOptimisationForAddMaterialsPage
2 parents 15fff55 + 8869d00 commit ed987d0

2 files changed

Lines changed: 155 additions & 7 deletions

File tree

src/components/BMDashboard/AddMaterial/AddMaterial.jsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export default function AddMaterialForm() {
6363
// console.log(materialTypes);
6464
// console.log(units)
6565
const createdBy = useSelector(state => state.auth.user.email);
66+
const darkMode = useSelector(state => state.theme?.darkMode);
6667

6768
useEffect(() => {
6869
dispatch(fetchMaterialTypes());
@@ -534,31 +535,34 @@ export default function AddMaterialForm() {
534535
<Modal
535536
isOpen={showNavigationModal}
536537
toggle={() => setShowNavigationModal(false)}
537-
className="navigation-modal"
538+
className={`navigation-modal ${darkMode ? 'text-light dark-mode' : ''}`}
538539
>
539-
<ModalHeader toggle={() => setShowNavigationModal(false)}>
540+
<ModalHeader
541+
toggle={() => setShowNavigationModal(false)}
542+
className={darkMode ? 'bg-space-cadet' : ''}
543+
>
540544
<p>{`Material Added Successfully - What's Next?`}</p>
541545
</ModalHeader>
542-
<ModalBody>
546+
<ModalBody className={darkMode ? 'bg-yinmn-blue' : ''}>
543547
<div className={`${styles.navigationOptions}`}>
544548
<div className={`${styles.optionContainer}`}>
545549
<h5>View All Inventory Types</h5>
546550
<p>View your just added material, including all available inventory types</p>
547-
<Button color="primary" onClick={handleViewInventory}>
551+
<Button color="primary" onClick={handleViewInventory} style={boxStyle}>
548552
View All Inventory Types
549553
</Button>
550554
</div>
551555
<div className={`${styles.optionContainer}`}>
552556
<h5>Start Material Purchase</h5>
553557
<p>Initiate a purchase request to be approved by project admin</p>
554-
<Button color="success" onClick={handleStartPurchase}>
558+
<Button color="success" onClick={handleStartPurchase} style={boxStyle}>
555559
Start Purchase Request
556560
</Button>
557561
</div>
558562
</div>
559563
</ModalBody>
560-
<ModalFooter>
561-
<Button color="secondary" onClick={handleStayHere}>
564+
<ModalFooter className={darkMode ? 'bg-yinmn-blue' : ''}>
565+
<Button color="secondary" onClick={handleStayHere} style={boxStyle}>
562566
Stay on Current Page
563567
</Button>
564568
</ModalFooter>

src/components/BMDashboard/AddMaterial/AddMaterial.module.css

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ font-size: .8em;
2828
font-weight: bolder;
2929
background-color: #f5e6e6;
3030
padding-left: 1em;
31+
transition: background-color 0.3s ease, color 0.3s ease;
3132
}
3233

3334
.addMaterialTotalPrice div{
@@ -47,6 +48,7 @@ font-size: .8em;
4748
background-color: #add3ef;
4849
padding-left: 1em;
4950
margin-top: 1em;
51+
transition: background-color 0.3s ease, color 0.3s ease;
5052
}
5153

5254
.addMaterialCreatedby div{
@@ -95,6 +97,8 @@ font-size: .8em;
9597
padding: 1rem 2rem;
9698
border: 1px solid #ccc;
9799
border-radius: 20px;
100+
background-color: #ffffff;
101+
transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
98102
}
99103

100104
.addMaterialHeader h2{
@@ -124,4 +128,144 @@ font-size: .8em;
124128
.navigationOptions p {
125129
margin-bottom: 15px;
126130
font-size: 0.9rem;
131+
}
132+
133+
/* ================== DARK MODE STYLES ================== */
134+
/* Only styles for elements with hardcoded light colors not covered by global BMDashboard styles */
135+
136+
/* Main container - has hardcoded white background */
137+
:global(.bm-dashboard-dark) .addMaterialContainer {
138+
background-color: #1c2541;
139+
border-color: #3a506b;
140+
}
141+
142+
/* Total Price section - has hardcoded pink background (#f5e6e6) */
143+
:global(.bm-dashboard-dark) .addMaterialTotalPrice {
144+
background-color: #2e5061;
145+
}
146+
147+
:global(.bm-dashboard-dark) .totalPriceCalculated {
148+
color: #6af1ea !important;
149+
}
150+
151+
/* Created by section - has hardcoded light blue background (#add3ef) */
152+
:global(.bm-dashboard-dark) .addMaterialCreatedby {
153+
background-color: #2e5061;
154+
}
155+
156+
:global(.bm-dashboard-dark) .createdby {
157+
color: #6af1ea !important;
158+
}
159+
160+
/* Navigation modal options - has hardcoded hover color (#f8f9fa) */
161+
:global(.bm-dashboard-dark) .navigationOptions .optionContainer {
162+
background-color: #2e5061;
163+
border-color: #3a506b;
164+
}
165+
166+
:global(.bm-dashboard-dark) .navigationOptions .optionContainer:hover {
167+
background-color: #3a506b;
168+
}
169+
170+
/* DragAndDrop - has hardcoded white background in DragAndDrop.css */
171+
:global(.bm-dashboard-dark) .addMaterialForm :global(#file-upload-form) :global(#file-upload-label) {
172+
background-color: #2e5061 !important;
173+
border-color: #5a7a9b !important;
174+
}
175+
176+
:global(.bm-dashboard-dark) .addMaterialForm :global(#file-upload-form) :global(#file-upload-label.drag-active) {
177+
background-color: #3a506b !important;
178+
}
179+
180+
/* Error messages - red color in dark mode */
181+
:global(.bm-dashboard-dark) .materialFormError {
182+
color: #ff6b6b !important;
183+
}
184+
185+
:global(.bm-dashboard-dark) .fieldRequired {
186+
color: #ff6b6b !important;
187+
}
188+
189+
/* Select dropdown options - white background when selecting */
190+
:global(.bm-dashboard-dark) .addMaterialForm select option {
191+
background-color: #2e5061 !important;
192+
color: #ffffff !important;
193+
}
194+
195+
/* Browser autocomplete suggestions - white background when selecting */
196+
:global(.bm-dashboard-dark) .addMaterialForm input:-webkit-autofill,
197+
:global(.bm-dashboard-dark) .addMaterialForm input:-webkit-autofill:hover,
198+
:global(.bm-dashboard-dark) .addMaterialForm input:-webkit-autofill:focus,
199+
:global(.bm-dashboard-dark) .addMaterialForm input:-webkit-autofill:active {
200+
-webkit-box-shadow: 0 0 0 30px #2e5061 inset !important;
201+
-webkit-text-fill-color: #ffffff !important;
202+
caret-color: #ffffff !important;
203+
transition: background-color 5000s ease-in-out 0s;
204+
}
205+
206+
/* Date input - calendar picker dark mode */
207+
:global(.bm-dashboard-dark) .addMaterialForm input[type="date"] {
208+
color-scheme: dark;
209+
}
210+
211+
:global(.bm-dashboard-dark) .addMaterialForm input[type="date"]::-webkit-calendar-picker-indicator {
212+
filter: invert(1);
213+
cursor: pointer;
214+
}
215+
216+
/* Number input spinner arrows dark mode */
217+
:global(.bm-dashboard-dark) .addMaterialForm input[type="number"]::-webkit-inner-spin-button,
218+
:global(.bm-dashboard-dark) .addMaterialForm input[type="number"]::-webkit-outer-spin-button {
219+
filter: invert(1);
220+
}
221+
222+
/* PhoneInput dark mode styling */
223+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.form-control) {
224+
background-color: #2e5061 !important;
225+
color: #ffffff !important;
226+
border-color: #3a506b !important;
227+
}
228+
229+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.flag-dropdown) {
230+
background-color: #2e5061 !important;
231+
border-color: #3a506b !important;
232+
}
233+
234+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.selected-flag) {
235+
background-color: #2e5061 !important;
236+
}
237+
238+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.selected-flag):hover,
239+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.selected-flag):focus,
240+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.selected-flag.open) {
241+
background-color: #3a506b !important;
242+
}
243+
244+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) {
245+
background-color: #2e5061 !important;
246+
color: #ffffff !important;
247+
border-color: #3a506b !important;
248+
}
249+
250+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) :global(.country) {
251+
background-color: #2e5061 !important;
252+
}
253+
254+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) :global(.country):hover,
255+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) :global(.country.highlight) {
256+
background-color: #3a506b !important;
257+
}
258+
259+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) :global(.country-name),
260+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.country-list) :global(.dial-code) {
261+
color: #ffffff !important;
262+
}
263+
264+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.arrow) {
265+
border-top-color: #ffffff !important;
266+
}
267+
268+
:global(.bm-dashboard-dark) .addMaterialForm :global(.react-tel-input) :global(.arrow.up) {
269+
border-bottom-color: #ffffff !important;
270+
border-top-color: transparent !important;
127271
}

0 commit comments

Comments
 (0)