-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New course info screen #423
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add image resources * Add course info localizable strings * Create course info text block view * Create course info instructors block view * Layout instructors * Better spacing * Update instructors description text color * Add intro tmp imageView * Round instructor avatar * Fix with spacing * Refactor rename course info type * Create CourseInfoSkeletonView file * Create new group CourseInfoTab * Create view and view model groups * Load avatar image * Remove image literal * Use constructors with no params * Create CourseInfoTabInfoViewDelegate * Change type of intro URL * Refactor extract configure with view model method * Create block views builder * Make intro video view * Refactor rename CourseInfoSkeletonView -> CourseInfoTabInfoSkeletonView * Remove unnecessary content insets * Tmp for skeleton * Add skeletons * Rearrange groups * Format code * Create view controller * Fix skeleton constraints * Simplify info block skeleton constraints * Fix course info block skeleton view setup * Refactor rename imageView -> iconImageView * Fix make concreate course info tab view lazy * Use configure(viewModel:) style * Remove viewModel from view's constructors * Refactor rename imageView -> previewImageView * Use main dark color * Remove JoinButton appearance struct * Refactor rename CourseInfoTabInfoBlockType -> CourseInfoTabInfoBlock * Use inner elements and blocks insets Vertical spacing: - Between inner elements 20 - Between blocks 40 * Update source files headers * Use stepik green color * Apply fixes for blocks * Fixes * Remove private(set) for lazy property * Refactor rename Rename CourseInfoTabInfoBlockSkeletonView.swift -> CourseInfoTabInfoHeaderSkeletonView.swift * Refactor rename Rename CourseInfoTabInfoHeaderSkeletonView.swift -> CourseInfoTabInfoHeaderBlockSkeletonView.swift * Refactor rename Rename CourseInfoTabInfoHeaderView.swift -> CourseInfoTabInfoHeaderBlockView.swift * Add author view with function * Use CourseCoverImageView as instructors avatar image view * Open appearance
* Navigation bar * Navigation bar * Scroll view * blur * header * fix steps * fix extended edges * fix status bar * fix * fix color * fix scroll * Fix bounds * Minor fixes * Add .zero as default value to init * Minor fix * Course info: segmented control (#405) * segmented control view * Delegate * Course info: download button (#413) * Download button * Fix
* Navigation bar * Navigation bar * Scroll view * blur * header * fix steps * fix extended edges * fix status bar * fix * fix color * fix scroll * Fix bounds * Minor fixes * Add .zero as default value to init * Minor fix * Course info: segmented control (#405) * segmented control view * Delegate * Table header view (with strange behaviour) * Section header * Lesson * Minor fix * Minor fixes
* Add image resources * Add course info localizable strings * Create course info text block view * Create course info instructors block view * Layout instructors * Better spacing * Update instructors description text color * Add intro tmp imageView * Round instructor avatar * Fix with spacing * Refactor rename course info type * Create CourseInfoSkeletonView file * Create new group CourseInfoTab * Create view and view model groups * Load avatar image * Remove image literal * Use constructors with no params * Create CourseInfoTabInfoViewDelegate * Change type of intro URL * Refactor extract configure with view model method * Create block views builder * Make intro video view * Refactor rename CourseInfoSkeletonView -> CourseInfoTabInfoSkeletonView * Remove unnecessary content insets * Tmp for skeleton * Add skeletons * Rearrange groups * Format code * Create view controller * Fix skeleton constraints * Simplify info block skeleton constraints * Fix course info block skeleton view setup * Refactor rename imageView -> iconImageView * Fix make concreate course info tab view lazy * Use configure(viewModel:) style * Remove viewModel from view's constructors * Refactor rename imageView -> previewImageView * Use main dark color * Remove JoinButton appearance struct * Refactor rename CourseInfoTabInfoBlockType -> CourseInfoTabInfoBlock * Use inner elements and blocks insets Vertical spacing: - Between inner elements 20 - Between blocks 40 * Update source files headers * Use stepik green color * Apply fixes for blocks * Fixes * Remove private(set) for lazy property * Refactor rename Rename CourseInfoTabInfoBlockSkeletonView.swift -> CourseInfoTabInfoHeaderSkeletonView.swift * Refactor rename Rename CourseInfoTabInfoHeaderSkeletonView.swift -> CourseInfoTabInfoHeaderBlockSkeletonView.swift * Refactor rename Rename CourseInfoTabInfoHeaderView.swift -> CourseInfoTabInfoHeaderBlockView.swift * Add author view with function * Make module * Show dummy info * Fetch instructors * Test course info header blocks resources * Add timeToComplete attribute to the Course entity * Pluralize time to complete * Add language attribute to the Course entity * Localize language * Add certificate details localizables * Add certificate threshold attributes to the Course entity * Format certificate details * Initial tests for CourseInfoTabInfoPresenter * Refactor rename * Use Nimble assertions * Use Quick * Set HTML text * Highlight author * Add authors attributes to the model * Show formatted author text * Trim text * Filter empty views * Handle course action Join course when not enrolled and continue learning from the last step when already enrolled. * Format certificate text * Update instructor's description label top offset when empty * Fix certificate titles * Set instructors description with HTML text * Optimize authors and instructors fetching * Provide intro video url and thumbnail * Handle click on thumbnail * Add thumbnail placeholer * Fix play view centering * Play intro video * Fix status bar on exit fullscreen * Use CourseCoverImageView as instructors avatar image view * Open appearance * Add fixes * Move CourseInfoTabInfoInputProtocol conformance to extension * Remove states from presenter * Refactor rename addAuthorView(author:) -> addAuthorView(authorName:) * Use actionButton prefix * Move hours from seconds formatting to FormatterHelper * Create CourseInfoTabInfoViewModelAdapter * Revert UIViewControllerBasedStatusBarAppearance change * Change status bar visibility * Update users fetching * Update instructor description top constraint * Move player to controller * Init player * Use weak self * Remove tests :( :( :( :(
* Merge UI * Correct intrinsic size for info tab * Segmented control & scrollview * Skeleton * Load course in container * Info tab * Video fixes * Fix instructors * 16:9 ratio for videos * Users service for provider * Fix status bar & header * Dynamic header height * Minor fixes * Fixes * NSLock -> DispatchSemaphore * Fix white background * Course info: syllabus content logic & downloads (#438) * module basic files * uipageviewcontroller instead of uiscrollview * syllabus * Downloading service * Routing to info/syllabus tab * show correct download state * handle download click * downloads 💩 * downloads interaction service * Fixes * remove unused * wrapped unit in view model
* NextLessonService * Fixes & tests * fixes
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Задача: #APPS-2189
Описание:
Новый экран "о курсе" и всё, что с ним связано.