A dynamic presentation application for TinkerHub Credos, featuring text, images, and videos with smooth transitions and interactive navigation.
- Dynamic background colors
- Support for text, image, and video content
- Keyboard and touch navigation
- Responsive design
- Automatic color contrast adjustment
- Progress indicators
- Smooth animations
- Clone the repository:
git clone https://github.com/tinkerhub/credos.git
cd credos
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173
- Open
credos.csv
in your preferred text editor - The CSV file should have the following columns:
type
: Can be 'text', 'image', 'video', or 'intro'content
: The actual content (text, image URL, or YouTube URL)
Example:
type,content
text,This is a sample credo
image,https://example.com/image.jpg
video,https://www.youtube.com/watch?v=VIDEO_ID
- Open
src/App.css
to modify the visual styles - Key sections to customize:
.app-container
: Main container styles.media-container
: Image and video container styles.text-credo
: Text content styles.progress-dot
: Navigation indicator styles
- Main application logic is in
src/App.jsx
- Key functions:
navigate
: Handles slide transitionsrenderCredo
: Renders different types of contentisDarkBackground
: Calculates text color based on background
credos/
├── src/
│ ├── App.jsx # Main application component
│ ├── App.css # Styles
│ └── utils/ # Utility functions
├── public/
│ ├── logo.svg # TinkerHub logo
│ └── credos.csv # Content file
├── package.json # Project dependencies
└── vite.config.js # Vite configuration
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.