iurbinah commited on
Commit
f6d9bb3
·
verified ·
1 Parent(s): c008ad2

Upload App.tsx

Browse files
Files changed (1) hide show
  1. src/App.tsx +33 -0
src/App.tsx ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { useState } from 'react';
2
+ import { slidesData } from './data/slides';
3
+ import { styles } from './styles/appStyles';
4
+ import ProgressBar from './components/ProgressBar';
5
+ import SlideRenderer from './components/SlideRenderer';
6
+
7
+ const App = () => {
8
+ const [step, setStep] = useState(0);
9
+
10
+ const handleNext = () => setStep(prev => Math.min(prev + 1, slidesData.length - 1));
11
+ const handlePrev = () => setStep(prev => Math.max(0, prev - 1));
12
+
13
+ const currentSlideData = slidesData[step];
14
+
15
+ return (
16
+ <div style={styles.card}>
17
+ <ProgressBar current={step} total={slidesData.length} />
18
+ <div style={{ flex: 1, display: 'flex', flexDirection: 'column', justifyContent: 'center', padding: '2rem', overflowY: 'auto' }}>
19
+ <SlideRenderer slide={currentSlideData} />
20
+ </div>
21
+ <div style={{...styles.buttonContainer, padding: '0 2rem 2rem 2rem'}}>
22
+ <button onClick={handlePrev} disabled={step === 0} style={{ ...styles.button, ...(step === 0 && styles.buttonDisabled) }}>
23
+ Previous
24
+ </button>
25
+ <button onClick={handleNext} disabled={step === slidesData.length - 1} style={{ ...styles.button, ...(step === slidesData.length - 1 && styles.buttonDisabled) }}>
26
+ Next
27
+ </button>
28
+ </div>
29
+ </div>
30
+ );
31
+ };
32
+
33
+ export default App;