Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"images" : [
{
"filename" : "Button.pdf",
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "Theme=Dark, Size=Small, Property 2=Outline, Status=Active.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.
3 changes: 3 additions & 0 deletions FunnyPuny/Application/en.lproj/Texts.strings
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
"addName" = "Please, create habit's name";
"addFrequency" = "Please, choose frequency";
"addAllItems" = "Please, create habit's name and choose frequency";
"note" = "Note";
"reminderNote" = "Reminder Note";
"reminderTime" = "Reminder Time";
"startDate" = "Start date";

// MARK: TabBar
Expand Down
3 changes: 3 additions & 0 deletions FunnyPuny/Application/ru.lproj/Texts.strings
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
"addName" = "Пожалуйста, укажите наименование привычки";
"addFrequency" = "Пожалуйста, выберете частоту выполнения привычки";
"addAllItems" = "Пожалуйста, укажите наименование привычки и частоту ее выполнения";
"note" = "Заметка";
"reminderNote" = "Введите описание привычки";
"reminderTime" = "Напоминание";
"startDate" = "Дата начала";

// MARK: TabBar
Expand Down
3 changes: 2 additions & 1 deletion FunnyPuny/BusinessLogic/HabitManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class HabitManager {
var allHabitsName: [String] {
habits.map(\.name).sorted(by: <)
}

var countCompletedHabits: Int {
var totalCount = 0
for day in days {
Expand Down Expand Up @@ -84,7 +85,7 @@ class HabitManager {
return nil
}

// MARK: Private properties
// MARK: Private properties

private var countHabits: Int {
var totalCount = 0
Expand Down
19 changes: 17 additions & 2 deletions FunnyPuny/Presentation/AddHabit/AddHabitView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ import UIKit
class AddHabitView: UIView {
var nameInputView = TextFieldView(text: Texts.name, placeholder: Texts.nameHabit)
var frequencyView = FrequencyView()
var datePickerView = DatePickerView(text: Texts.startDate)
var datePickerView = PickerView(text: Texts.startDate, pickerMode: .date)
var timePickerView = PickerView(text: Texts.reminderTime, pickerMode: .time)

private var reminderInputView = TextFieldView(text: Texts.reminderNote, placeholder: Texts.note)

var addButton: UIButton = {
let button = UIButton()
Expand Down Expand Up @@ -38,6 +41,8 @@ class AddHabitView: UIView {
private func addSubviews() {
addSubview(nameInputView)
addSubview(frequencyView)
addSubview(reminderInputView)
addSubview(timePickerView)
addSubview(datePickerView)
addSubview(addButton)
}
Expand All @@ -54,8 +59,18 @@ class AddHabitView: UIView {
make.trailing.equalToSuperview()
}

datePickerView.snp.makeConstraints { make in
reminderInputView.snp.makeConstraints { make in
make.leading.trailing.equalToSuperview().inset(16)
make.top.equalTo(frequencyView.snp.bottom).offset(24)
}

timePickerView.snp.makeConstraints { make in
make.top.equalTo(reminderInputView.snp.bottom).offset(24)
make.leading.equalToSuperview().inset(16)
}

datePickerView.snp.makeConstraints { make in
make.top.equalTo(timePickerView.snp.bottom).offset(24)
make.leading.trailing.equalToSuperview().inset(16)
}

Expand Down
25 changes: 14 additions & 11 deletions FunnyPuny/Presentation/Common /UIElements/DatePickerView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,29 @@

import UIKit

class DatePickerView: UIView {
class PickerView: UIView {
var text: String
var datePicker: UIDatePicker = {
var pickerMode: UIDatePicker.Mode

lazy var datePicker: UIDatePicker = {
let datePicker = UIDatePicker()
datePicker.preferredDatePickerStyle = .compact
datePicker.datePickerMode = .date
datePicker.tintColor = Colors.backgroundAccent.color
datePicker.datePickerMode = pickerMode
return datePicker
}()

private var label: UILabel = {
let label = UILabel()
label.text = text
label.textColor = Colors.textPrimary.color
label.font = .bodyMedium
return label
}()
private lazy var label: UILabel = {
let label = UILabel()
label.text = text
label.textColor = Colors.textPrimary.color
label.font = .bodyMedium
return label
}()

required init(text: String) {
required init(text: String, pickerMode: UIDatePicker.Mode) {
self.text = text
self.pickerMode = pickerMode
super.init(frame: .zero)
commonInit()
}
Expand Down
4 changes: 2 additions & 2 deletions FunnyPuny/Presentation/Common /UIElements/ScoreView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class ScoreView: UIView {
private var amount: String
private var text: String

private var amountHabitsLabel: UILabel = {
private lazy var amountHabitsLabel: UILabel = {
let label = UILabel()
label.text = amount
label.textAlignment = .center
Expand All @@ -16,7 +16,7 @@ class ScoreView: UIView {
return label
}()

private var textLabel: UILabel = {
private lazy var textLabel: UILabel = {
let label = UILabel()
label.text = text
label.textAlignment = .center
Expand Down