yuno_page_template 1.0.67
yuno_page_template: ^1.0.67 copied to clipboard
Flutter UI kit for Yuno Learning: responsive course, batch, and instructor widgets; V4 + legacy API models/adapters; share widgets; and ready-to-use pages for web, iOS, and Android.
1.0.67 #
Improvements #
refineBatches: format batch date and time fromstart_end.display_start(no fallback tostart_date/class_time)
1.0.66 #
Added #
V4CourseInstructorAvailabilitySummary: week strip, grouped hours, and Available/Unavailable legend for usual instructor hours- Availability helpers:
AvailabilityDaySummary, consecutive-day grouping, sparse-hours detection, and “usual hours” helper copy V4CourseDetailPageShell: optionalavailabilityDaySummariespassed through to the availability sheet
Improvements #
getPriceForPersonalization: maps GROUP / 1-to-1 × online / in-person viabased_onkeys; does not fall back to another teaching modeV4CourseInstructorAvailabilitySheet: close control, instructor subtitle; shows summary for regular hours and the slot grid only when hours are sparseV4CourseBatchesSection: hide “see more batches” when the current list is empty
1.0.65 #
Added #
- Theming contract: dual-theme test helper (
pumpV4Widget) so shells trackColorScheme.primaryinstead of brand hex - Shared primitives:
V4EmptyState,V4BottomSheetScaffold,V4SelectableChip,V4DayChips,V4TimeSlotGrid,V4RangeSliderRow - Pre-login shells:
V4OnboardingPageShell,V4ExplorePageShell,V4CourseSearchShell,V4LetterAvatarListShell,V4GuestProfileShell,V4DocumentPageShell,V4ShareSheet - Listing filters:
V4LevelSheet,V4AvailabilitySheet - Post-login shells:
V4MyCoursesPageShell,V4MyCourseProgressCard,V4LoggedInProfileShell,V4SettingsListShell,V4FeedbackFlowShell V4CourseDetailPageShell: optionalonShareTargetand share action that opensV4ShareSheet
Improvements #
V4CourseCard: Figma listing layout (mode badge, primary price + GST, duration, full-width Book a Demo Class)V4LocationCourseCard: filled Book a Demo CTA; outline usescolorScheme.outlineVariantV4CategoryCoursesPageShell: "N courses found" headingV4CategoryCoursesFilterSheet/V4CategoryCoursesFilterPanel: Level + Your availability quick chips; days of week enabledV4CourseDetailPriceCta: "Starts at" label; price usescolorScheme.primaryV4ClassDetailsWidget: Absent badge usescolorSchemetokens instead of hardcoded hex- Place hours parsing:
Address/Place/TimeSlot/WorkingHourtolerateopen_hoursfromGET v4/places/{id} - Media lifecycle: pause
pod_playeron leave/background; blank practice-test WebView on dispose; CORS-safe course hero images
1.0.64 #
Added #
V4CourseCancellationSection/V4CourseDetailPageShell: optional cancellation policy URL + open callback with "View refund and cancellation policy" linkV4CourseCarouselSection: "All" filter pill alongside category filters for academy carouselsV4CorsSafeNetworkImage: web-friendly network image using HTML<img>so third-party avatars (e.g. Google profile photos) work without CORS
Improvements #
PracticeTestCard: hide "Be first to take this test" when nobody has taken the testV4CourseDetailBanner: show instructor count with correct singular/plural label- Instructor avatars (
V4CourseDetailBanner,V4CourseInstructorCard,V4CourseInstructorIdentityRow): useV4CorsSafeNetworkImageinstead ofCachedNetworkImagefor reliable web rendering - Top course filters parsing: tolerate
items/titlefilter payload shapes and safer id parsing
1.0.63 #
Fixes #
V4CourseInstructorAvailabilitySheet: rebuild the open sheet when availability fetch completes so loading → empty/grid/error states appear correctly
1.0.62 #
Added #
CourseCard: dynamic Online / In-person teaching-mode chips from per-course flags (hasOnline/hasInPerson)OldCourse:hasOnlineandhasInPersonfields for listing cards
Improvements #
- Instructor availability sheet/grid: show an empty state when the instructor has no working hours instead of an all-unchecked grid
1.0.60 #
Added #
V4CourseCarouselSection: responsive, scroll-aware carousel navigation arrows for tablet and desktopLocationCourseCardModel: instructor badges with image and initials fallback
Improvements #
- Course detail carousels: screenshot-style cards with image, instructor badges, and bottom-aligned starting price
- Similar course queries: optional academy scoping and academy-only result normalization
1.0.59 #
Added #
V4CourseDetailPriceCta/V4CourseDetailPageShell: optionalshowBookDemo(defaults toshowPrice) so Book Demo can show independently of priceV4CourseDetailDesktopRail: sticky conversion rail for desktop/web (media, price, Book Demo, See Availability)V4CourseDetailPageShell: responsive desktop two-column layout; availability section scroll key; desktop instructor availability dialogV4CourseDetailBanner: optionalshowHeroMediafor desktop layouts that move media into the railV4CourseDetailPageSkeleton: desktop two-column loading skeleton (isDesktop)OldCourse:bookDemoTeachingModeandorganizationIdfieldsCourseSearchResult/LocationCourseCardModel:featuredMedia/imageUrlfor carousel thumbnailsV4LocationCourseCard: carousel-mode course image header
Improvements #
V4CourseBatchesSection: clearer batch list layout and CTA presentation on course detail
1.0.58 #
Added #
CourseCard/V4CourseCard: optionalshowSeeAvailability(defaulttrue) to hide the See Availability CTA
1.0.57 #
Added #
CourseCard/V4CourseCard: optionalshowPricePerHour(defaulttrue) to hide the per-hour price line while keeping total price
1.0.56 #
Fixes #
V4PastClassDetailsDrawer: fix back button overlapping the "Past Classes" titleV4PastClassDetailsDrawer: play private Vimeo recordings in-app viaflutter_inappwebviewwith allowlisted base URLhttps://www.yunolearning.com/(domain privacy)V4PastClassDetailsDrawer: keep PodPlayer for direct HLS/MP4/YouTube; web still uses iframe embedV4PastClassLearnerCard/V4PastClassDetailsDrawer: hide Attendance row and progress bar on past classes
1.0.55 #
Improvements #
OldLearnerCourseparsing: coerces string/int numeric fields, tolerates missing lists and instructor payloads, and avoids crashes on malformed API dataV4ClassDetailsWidget: formats upcoming and past class start times in the class timezone (aligned with learner cards)
1.0.54 #
Improvements #
ProfileEditPageWidget: optionalisUpdatingflag disables fields and shows a loading spinner on Update- V4
Coursemodel: tolerates emptyacademyarrays, non-mapcategory/academypayloads, and skips malformed instructor entries V4CategoryCoursesPageShell: shows a skeleton for the results heading while the page is loadingV4ClassesSchedule: optionalphysicsparameter for nested scroll views (defaults toAlwaysScrollableScrollPhysics)
1.0.53 #
Added #
- Course detail (v4):
V4CourseDetailPageShellwith banner, price CTA, schedule, batches, instructors, carousels, academy, and cancellation sections - Course detail logic: pricing, batch list/query helpers, carousel builders, and instructor availability utilities
- Course detail models:
CourseVariant,CourseDetailInstructor,AcademyDetail,CourseDetailErrorKind V4CourseDetailPageSkeleton: loading skeleton for the course detail page
1.0.52 #
Added #
V4LocationCourseCard: online/in-person location course card with compact and carousel layoutsnormalizeLocationCourse: maps API course data to location card models with price, duration, and GST formatting
Improvements #
- V4 class cards: refactored learner/instructor cards onto shared
v4_class_card_primitives - V4 classes schedule: improved mobile date header and filter layout
- V4 models: richer parsing for
Course,Category,CourseSearchResult,CoursePrice, andAcademy V4CourseCard: short description support after price displaytimezone: bumped to ^0.10.0
1.0.51 #
Added #
- Category courses (v4):
CourseSearchState, category landing context, filter state/chip logic, resource card builder - Category courses UI:
V4CategoryCoursesPageShellwith filter panel/sheet, applied chips, hero, paginator, resource cards YunoFilter: optionalcurrencyfield for price slider bounds
1.0.50 #
Improvements #
- CourseDetailsWidget: Simplified course economics display by using the primary (first) economy entry instead of choice chips; added a “Starts at” label and show the lowest listed price (preferring INR when multiple currencies exist), with clearer multi-currency formatting
- V4 → legacy adapter (
v4_course_to_legacy): Improved mapping for demos (book_a_demo), instructors (profile_url, richermapped_instructors), group vs 1-to-1 flags from personalization names, course economics IDs and price rows (selling vs list tax-inclusive prices, INR ordering, sensible fallbacks), featured media (YouTube detection, thumbnails), invite link andpublished_at, andwhat_you_get/expected_time_investmentstructure - V4
Coursemodel: AddedenrollmentType,instructorInvitationUrl, andpublishedAt;personalizationcan be populated fromvariantswhen the top-levelpersonalizationarray is absent - V4
Instructor/Usermodels: More tolerant JSON—Userwhen the instructor payload is flat or uses nestedimage; safer parsing ofid,role, names, andimage_url
1.0.49 #
Improvements #
- Code quality improvements: Refactored web-only iframe code into a centralized helper (
web_iframe_view_factory.dart) with proper conditional exports, eliminatingdart:htmlandavoid_web_libraries_in_flutterwarnings from package analysis - Linting fixes: Fixed local variable naming convention (
_buildCard→buildCard), removed unnecessary imports, and fixed documentation comment formatting - Analyzer improvements: Reduced analyzer issues from 47 to 40 by properly isolating web-only code and cleaning up code style issues
1.0.48 #
Fixes #
- Fixed Android build errors: Resolved build failures caused by web-only APIs (
dart:htmlanddart:ui_web) by adding proper conditional imports and platform guards inCourseDetailsWidgetandV4PastClassDetailsDrawer. The package now builds successfully on Android, iOS, and web platforms.
1.0.47 #
Improvements #
- CourseDetailsWidget: Enhanced YouTube video iframe handling with embed URL validation, failed view type tracking to prevent retry loops, improved iframe configuration, and better debugging support
1.0.46 #
Improvements #
- CourseDetailsWidget: Improved YouTube video iframe handling with error handling, view type caching to prevent re-registration, and enhanced fallback UI when video embedding fails
1.0.45 #
Improvements #
- CourseDetailsWidget: Enhanced YouTube video handling with improved video ID extraction from various URL formats, support for embed URLs, and web-specific iframe rendering for better cross-platform compatibility
1.0.43 #
Improvements #
- V4PastClassDetailsDrawer: Added support for video embed HTML with iframe rendering for web platform, with optional
fetchVideoDetailscallback to fetch video details from API
1.0.42 #
Improvements #
- InstructorCard: Added optional
showAvailabilityparameter to conditionally show/hide availability button - PracticeTestCard: Fixed text overflow issue in learner count display by replacing Wrap with Row and Flexible widget
- CourseDetailsWidget: Enhanced YouTube video handling with improved URL detection, better error handling, and fallback UI to open videos in browser when player initialization fails
- V4ClassFiltersPanel: Improved filter panel UI with scrollable content, better spacing, responsive button layout, and enhanced dropdown styling
- BatchesTabbedSection: Updated to hide availability button in instructor cards
1.0.41 #
Improvements #
- Fix: Robust JSON parsing for v3/category/practice (prevents "type 'String' is not a subtype of type 'int'")
- Performance: Reduce image decode/memory cost (no UI change)
1.0.40 #
Improvements #
- Expanded package description for pub.dev
- Fixed analyzer warnings: removed unused imports, variables and unnecessary casts
- Reverted
withValuestowithOpacityfor wider Flutter SDK compatibility - Improved README with examples and clearer usage docs
Key Improvements Made #
- Modern Material Design 3 styling throughout all components
- Enhanced responsive design for better mobile and desktop experience
- Improved error handling and fallback mechanisms
- Better data mapping between V4 and legacy API formats
- Enhanced user experience with better visual hierarchy and interactions
- Robust type safety with proper null handling
- Better performance with optimized layouts and rendering
- Enhanced accessibility with proper semantic structure
Maintenance #
- Prepared package for publish (dry-run clean)
1.0.39 #
Features and Fixes #
- Resolve analyzer warning in legacy adapter to satisfy pub.dev checks
- Light and Dark mode theme
- New UI and V4 Classes
- V4 Course Search
- Max width and Page Heading
1.0.36 #
1.0.34 - 2025-06-10 #
- course card UI added for v4, course search model added, yuno filter model updated
[1.0.34] - 2025-06-03 #
- instructor info model updated, in-person model added in upcoming class model, class details page UI updated
1.0.33 - 2025-05-26 #
- old class details page added for backward compatibility
1.0.32 - 2025-05-23 #
- course card UI updated, icon color updated
1.0.31 - 2025-05-23 #
- course card UI updated, icon size updated
1.0.30 - 2025-05-23 #
- course card UI updated, icon size updated
1.0.29 - 2025-05-23 #
- course card UI updated, icon color updated
1.0.28 - 2025-05-21 #
- old category response updated
1.0.27 - 2025-05-21 #
- model synced with stoplight
1.0.26 - 2025-05-15 #
- batch card UI updated
1.0.25 - 2025-05-15 #
- academy instructor response and UI added, event callback added on academy click, course and batch card UI updated
1.0.24 - 2025-05-13 #
- GoogleMap, Place model and its dependant models updated
1.0.23 - 2025-05-13 #
- Classroom model updated
1.0.22 - 2025-05-13 #
- Floor and WorkingHours model updated
1.0.21 - 2025-05-13 #
- Academy model updated
1.0.20 - 2025-05-09 #
- Course model and its dependant models updated
1.0.19 - 2025-05-09 #
- Course model and its dependant models updated
1.0.18 - 2025-05-01 #
- Organization model and its dependant models updated
1.0.17 - 2025-05-01 #
- UI updated on instructor and learner past class card
1.0.16 - 2025-04-29 #
- Category details response updated
1.0.15 - 2025-04-29 #
- Class Details UI updated
1.0.14 - 2025-04-29 #
- DateTime object replaced with string
1.0.13 - 2025-04-29 #
- Class details page bug fixes
1.0.12 - 2025-04-29 #
- Past class model updated
1.0.11 - 2025-04-29 #
- Edit/Delete menu added on instructor upcoming class card
1.0.10 - 2025-04-28 #
- Upcoming, Past and Class Details UI improvement
1.0.9 - 2025-04-25 #
- Attendance, Availability, ExamResult, Resource, Sub Category model added, some model updated
1.0.8 - 2025-04-24 #
- Data type issue fixed in past class (actual)
1.0.7 - 2025-04-24 #
- Multiple model bug fixed for null check
1.0.6 - 2025-04-24 #
- Batch bug fixed
1.0.5 - 2025-04-24 #
- Class Title bug fixed
1.0.4 - 2025-04-23 #
- Bug fixes
1.0.3 - 2025-04-23 #
- Bug fixes
1.0.2 - 2025-04-23 #
- Organization model updated
1.0.1 - 2025-04-23 #
- Organization model updated, filter model added
1.0.0 - 2025-04-23 #
- Major Change: Updated to Yuno Learning V4 Models
0.1.11 - 2025-04-21 #
- footer url changed
0.1.10 - 2025-04-14 #
- study material index issue fixed
0.1.9 - 2025-03-19 #
- instructor and learner info response updated for v3 api
0.1.8 - 2025-03-06 #
- short video issue fixed
0.1.7 - 2025-02-28 #
- academy id and name added in CourseDetailsResponse
0.1.6 - 2025-02-28 #
- instructor image rounded
0.1.5 - 2025-02-28 #
- academy id and name added in CoursesListResponse
0.1.4 - 2025-02-11 #
- writing task card check added
0.1.3 - 2025-02-05 #
- instructor info model added
0.1.2 - 2025-02-03 #
- footer updated
0.1.1 - 2025-02-03 #
- footer and error widget icon dynamic added
0.1.0 - 2025-01-29 #
- bookmark check added on resources
0.0.49 - 2025-01-20 #
- image rendering issue fixed
0.0.48 - 2025-01-09 #
- instructor about page bug fixed
0.0.47 - 2025-01-09 #
- instructor bottom sheet bug fixed
0.0.46 - 2025-01-08 #
- fixed course details page bug
0.0.45 - 2024-12-26 #
- renamed category with YunoCategory
0.0.44 - 2024-12-18 #
- video alignment fixed for web
0.0.43 - 2024-12-18 #
- platform check error fixed
0.0.42 - 2024-12-17 #
- minor UI improvement
0.0.41 - 2024-12-16 #
- minor UI improvement
0.0.40 - 2024-12-16 #
- UI improvement
0.0.39 - 2024-12-16 #
- UI improvement
0.0.38 - 2024-12-13 #
- instructor model updated
0.0.37 - 2024-12-13 #
- instructor past class model and card added
0.0.36 - 2024-12-05 #
- improvement for model answer
0.0.35 - 2024-12-05 #
- improvement for model answer
0.0.34 - 2024-12-05 #
- improvement
0.0.33 - 2024-12-05 #
- improvement
0.0.32 - 2024-12-05 #
- space issue fixed on evaluation
0.0.31 - 2024-12-05 #
- side drawer added for evaluation
0.0.30 - 2024-12-05 #
- writing task UI flow updated for web
0.0.29 - 2024-12-04 #
- button visibility check on past class card
0.0.28 - 2024-12-04 #
- course card updated for free item
0.0.27 - 2024-12-03 #
- instructor upcoming class card and response added
0.0.26 - 2024-11-26 #
- resource bug fixed on course details page
0.0.25 - 2024-11-26 #
- resource bug fixed on course details page
0.0.24 - 2024-11-26 #
- resource bug fixed on course details page
0.0.23 - 2024-11-25 #
- batch card improvement
0.0.22 - 2024-11-19 #
- price check added on batch
0.0.21 - 2024-11-19 #
- package updates
0.0.20 - 2024-11-19 #
- bug fixes
0.0.19 - 2024-11-18 #
- bug fixes
0.0.18 - 2024-11-18 #
- bug fixes
0.0.17 - 2024-11-18 #
- more card and model added
0.0.16 - 2024-11-18 #
0.0.13 - 2024-11-09 #
- bug fixed
0.0.12 - 2024-11-09 #
- bug fixed
- Some extra page added
0.0.11 - 2024-11-07 #
- bug fixed
0.0.10 - 2024-11-07 #
- Known issue fixed
- Extra model added
0.0.9 - 2024-11-06 #
- Known issue fixed
0.0.8 - 2024-11-06 #
- Article Details Page
- eBook Details page
- Document Details Page
- Video Details Page
- Class Details Page
- Writing Task Page
- Evaluation Page
- Course Details
- Practice Details
- Collection Details
- Pdf Viewer Added
0.0.7 - 2024-10-30 #
- Study material card added
- Review card added
- Result card added
- Active and past course added
- Instructor short profile added
- Attendance widget added
0.0.6 - 2024-10-30 #
- Resource Card updated
- Past, Upcoming Card updated
- Study Material Card updated
- Practice Test Card updated
- Course Card updated
- Category card added
- Batch card added
0.0.5 - 2024-06-27 #
- Resource Card added
- Past, Upcoming Card added
- Study Material Card added
- Practice Test Card added
- Course Card added
0.0.4 - 2024-01-19 #
- Navigation quiz bug fixed
0.0.3 - 2024-01-19 #
- Course item added
- Navigation callback added
0.0.2 - 2024-01-17 #
- Typography and validator added
getTextTheme("fontFamily", ThemeData.light().textTheme);
getTextTheme("fontFamily", ThemeData.dark().textTheme);
0.0.1 - 2024-01-15 #
- All resources widget added.