Logo Lanfrica

yaredtekile/ethiopian-calendar-compose

Type de record:

software
Créateur:
yar
Hôte:
# Ethiopian Calendar Compose Multi-module Android/Kotlin project for Ethiopian calendar date handling and Compose date picking UI. ## Modules - `:ethiopic-calendar-core` - Strict domain models (`EthiopianDate`, `GregorianDate`) - Ethiopian leap/month rules - Ethiopian month navigation (`prevMonth`, `nextMonth`) - Ethiopian Gregorian conversion - Month grid model generator (`EthiopicMonthUiModelGenerator`) - Unit tests for conversion/rules/grid generation - `:ethiopic-calendar-compose` - Reusable Compose picker: `EthiopianDatePicker` - Features: month navigation, weekday headers, selection, today highlight, min/max, custom disabled dates - Optional Gregorian hint display - English and Amharic month-name/string support - `:sample` - Demo app with: - Inline picker mode - Dialog picker mode - Selected Ethiopian + Gregorian date display - English/Amharic toggle ## Usage Core conversion: ```kotlin val ethiopian = EthiopianDate(year = 2017, month = 1, day = 1) val gregorian = EthiopianDateConverter.toGregorian(ethiopian) val back = EthiopianDateConverter.fromGregorian(gregorian) ``` Compose picker: ```kotlin var selected by remember { mutableStateOf (null) } EthiopianDatePicker( selected = selected, onSelect = { selected = it } ) ``` ## Build and Test ```bash ./gradlew :ethiopic-calendar-core:test ./gradlew :ethiopic-calendar-compose:compileDebugKotlin ./gradlew :sample:compileDebugKotlin ```

Languages