# Puffin Carbon Offset Calculator (iFrame version)
A lightweight, embeddable version of the Puffin Carbon Offset Calculator for yachts and marine vessels.
## Features
- Carbon emissions calculator based on fuel consumption or trip distance
- Support for multiple currencies
- Responsive design that works in any iFrame
- Automatic height adjustment
- Dark/light theme support
- Docker-ready for easy deployment
## Getting Started
### Running Locally
1. Clone this repository
2. Open the project directory
3. Open `index.html` in your browser
### Using Docker
Build and run using Docker Compose:
```bash
docker-compose up -d
```
This will start a server on port 8080. You can then access the calculator at http://localhost:8080.
## Embedding in Your Website
Add the following code to your website:
```html
```
See `iframe-example.html` for a complete integration example.
## Advanced Usage
The calculator exposes a JavaScript API that you can use to control it from the parent page:
```javascript
// Access the iframe's window object
const calculatorFrame = document.getElementById('puffin-calculator-iframe');
// Set the theme (once the iframe has loaded)
calculatorFrame.addEventListener('load', function() {
// Access the API methods
calculatorFrame.contentWindow.PuffinCalculator.setTheme('dark');
// Reset the calculator to initial state
calculatorFrame.contentWindow.PuffinCalculator.resetCalculator();
});
```
## Project Structure
```
puffin-calculator-iframe/
├── index.html # Main HTML file
├── iframe-example.html # Example of embedding the calculator
├── styles.css # Main stylesheet
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── README.md # This file
└── js/
├── app.js # Main application code
├── components.js # React components
└── utils.js # Utility functions
```
## Carbon Calculation Methods
This calculator offers three methods for calculating carbon emissions:
1. **Fuel-Based**: Calculate emissions based on the amount of fuel consumed (in liters or gallons)
2. **Distance-Based**: Calculate emissions based on distance traveled, vessel speed, and fuel consumption rate
3. **Custom Amount**: Enter a monetary amount directly for offsetting without a specific carbon calculation
## Integration with WordPress
To integrate with WordPress, see the companion PHP file `puffin-calculator-integrated.php` in the parent directory.
## License
Copyright (c) Puffin Offset. All rights reserved.