react-native-lunar-calendars
Version:
React Native Calendar Components with Lunar Calendar Support - Fork of react-native-calendars with Vietnamese lunar calendar functionality
115 lines (87 loc) β’ 3.83 kB
Markdown
# React Native Lunar Calendars - Library Completion Summary
## π― Overview
The `react-native-lunar-calendars` library has been completed with full features and documentation. This is a fork of `react-native-calendars` with added Vietnamese lunar calendar functionality.
## β
What Has Been Completed
### 1. Author Information
- β
Updated author: **Tuan Nguyen (Ky0-Nguyen)**
- β
GitHub profile: https://github.com/Ky0-Nguyen
- β
Repository URL: https://github.com/Ky0-Nguyen/react-native-lunar-calendars
- β
License: MIT with copyright of both Wix.com and Tuan Nguyen
### 2. Package Information
- β
Version: 2.1.0
- β
Description: Detailed lunar calendar features
- β
Keywords: react-native, calendar, lunar, vietnamese, am-lich
- β
Homepage: Link to repository
- β
Upstream tracking: Information about original library
### 3. Documentation
- β
**README.md**: Detailed guide with examples
- β
**CHANGELOG.md**: Change history
- β
**CONTRIBUTING.md**: Contribution guidelines
- β
**CODE_OF_CONDUCT.md**: Code of conduct
- β
**UPSTREAM_SYNC.md**: Upstream sync guide
- β
**SUMMARY.md**: Completion summary
### 4. GitHub Templates
- β
**Issue Template**: Templates for bug reports and feature requests
- β
**Pull Request Template**: Template for PRs
- β
**GitHub Actions**: Automated workflow to check upstream updates
### 5. Lunar Calendar Features
- β
**Lunar Date Calculation**: Accurate lunar date calculation algorithm
- β
**Date Range**: Support for years 1800-2199
- β
**Display**: Shows lunar dates below solar dates
- β
**Special Days**: First day of lunar month highlighted in red
- β
**Multiple Marking Types**: Supports all marking types from original library
### 6. Compatibility
- β
**100% API Compatible**: Fully compatible with original library
- β
**Migration Guide**: Guide for migration from original library
- β
**Upstream Sync Strategy**: Strategy for syncing with upstream
### 7. Technical Stack
- β
**TypeScript**: Full type definitions
- β
**React Native**: Compatible with 0.47+
- β
**Build System**: TypeScript compilation
- β
**Testing**: Jest test framework
## π Upstream Sync Strategy
### When Original Library Updates
1. **Monitoring**: GitHub Action automatically checks for updates weekly
2. **Evaluation**: Assess compatibility with lunar features
3. **Merging**: Carefully merge to preserve lunar functionality
4. **Testing**: Fully test lunar calendar features
5. **Release**: Publish new version with both upstream and lunar improvements
### Critical Files to Preserve
- `src/calendar/day/multi-period/index.js` - Lunar date calculations
- Lunar date constants and algorithms
- Lunar date display logic
## π¦ Installation & Usage
```bash
# Install
npm install --save react-native-lunar-calendars
# Import
import { Calendar } from 'react-native-lunar-calendars';
# Usage
<Calendar
markingType={'multi-period'}
// Lunar dates sαΊ½ tα»± Δα»ng hiα»n thα»
/>
```
## π― Migration from react-native-calendars
```javascript
// Before
import { Calendar } from 'react-native-calendars';
// After
import { Calendar } from 'react-native-lunar-calendars';
// All existing code still works + lunar features
```
## π Next Steps
1. **Publish to npm**: `npm publish`
2. **Create GitHub Release**: Tag v2.1.0
3. **Monitor Issues**: Track community feedback
4. **Regular Sync**: Sync with upstream when updates are available
5. **Enhancements**: Add new lunar calendar features
## π Links
- **Repository**: https://github.com/Ky0-Nguyen/react-native-lunar-calendars
- **Upstream**: https://github.com/wix/react-native-calendars
- **Author**: https://github.com/Ky0-Nguyen
- **Documentation**: See README.md
**Author**: Tuan Nguyen (Ky0-Nguyen)
**Completion Date**: December 2024
**Version**: 2.1.0