Skip to content
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

Course info: container UI & header #404

Merged
merged 18 commits into from
Nov 30, 2018
Merged

Conversation

kvld
Copy link
Contributor

@kvld kvld commented Nov 7, 2018

Задача: #APPS-2062, #APPS-2059

Описание:
Контейнер для страницы "о курсе" с новым поведением навигейшнбара при скролле + шапка как в макете.

@kvld kvld added the main label Nov 7, 2018
@kvld kvld added this to the 1.72 milestone Nov 7, 2018
@kvld kvld self-assigned this Nov 7, 2018
@kvld kvld requested review from Ostrenkiy and ivan-magda November 7, 2018 11:56
@@ -51,6 +51,20 @@ final class HomeViewController: BaseExploreViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.homeInteractor?.loadContent(request: .init())

// For debug
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для тестов, надо убрать

Copy link
Member

@ivan-magda ivan-magda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне нравится 👍
Замечания минорные.

Stepic/AdaptiveStatsPagerViewController.swift Show resolved Hide resolved
Stepic/CodeEditorSettingsViewController.swift Show resolved Hide resolved
Stepic/ContinueActionButton.swift Outdated Show resolved Hide resolved
Stepic/DiscussionsViewController.swift Show resolved Hide resolved
Stepic/DownloadsViewController.swift Show resolved Hide resolved
Stepic/NotificationPermissionManager.swift Outdated Show resolved Hide resolved
Stepic/ProfileViewController.swift Show resolved Hide resolved
Stepic/SearchQueriesViewController.swift Show resolved Hide resolved
Stepic/StyledNavigationViewController.swift Show resolved Hide resolved
Stepic/StyledNavigationViewController.swift Outdated Show resolved Hide resolved
@kvld kvld modified the milestones: 1.72, 1.73 Nov 15, 2018
kvld added 3 commits November 16, 2018 16:38
* segmented control view

* Delegate
* Download button

* Fix
@kvld kvld merged commit 510c826 into feature/course-info Nov 30, 2018
kvld added a commit that referenced this pull request Jan 29, 2019
* Course info: info tab UI (#406)

* 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

* Course info: container UI & header (#404)

* 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

* Course info: modules UI (#415)

* 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

* Course info: info tab logic (#411)

* 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 :( :( :( :(

* Course info: container logic (#426) & syllabus (#438)

* 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

* Sections deadlines

* Layout fixes

* Completion & failure events

* Add enrolled state

* Fix deep link & last step routers

* Next & previous units service (#422)

* NextLessonService

* Fixes & tests

* fixes

* Present controller with lesson

* Fixes for SDK 11

* Set build for current branch

* Fix navigation bar issues

* Personal deadlines

* Fix after rename

* Exam in syllabus

* "More actions" alert & course sharing

* Main action & drop course

* Set version to 1.75 & increment build

* Add tap proxy view for download buttons

* Fix deadlines view

* Next / previous lesson

* Hide syllabus tab for adaptive courses

* Personal deadlines tooltip

* Make enabled-disabled visual state for cells

* Remove "Downloads" from Settings

* "Download all" logic

* Fix new discussion layout (12 sdk)

* Fix video quality (12 sdk)

* Fix certificates layout (12 sdk)

* Remove action button tab

* Fix semaphore dispose crash

* Update button state after remove

* Set version to 1.76 & increment build

* Fixed downloads

* Force populate sections

* Fix empty units download state error

* Analytics & small fixes

* Remove unused code

* Fix iPad & landscape

* Bump build

* Fixes
@kvld kvld deleted the feature/course-info-ui branch January 29, 2019 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants