Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
13 commits
Select commit Hold shift + click to select a range
670179e
Приложение локализовано на английский и казахский языки.
Dzhabaev Mar 31, 2024
eb6fbf5
Исправлено сокращенное наименование дней на казахском языке, скоррект…
Dzhabaev Apr 5, 2024
ffde219
Добавлен файл Colors.swift. Скорректирована тёмная тема для главного …
Dzhabaev Apr 5, 2024
4a0fed1
Добавлено контекстное меню при долгом нажатии на привычку, реализован…
Dzhabaev Apr 5, 2024
aeea399
В контекстном меню при долгом нажатии на привычку, реализовано закреп…
Dzhabaev Apr 5, 2024
5671e8e
Добавлен EditingHabitsViewController для редактирования привычек.
Dzhabaev Apr 9, 2024
3806d0d
Добавлена кнопка «Фильтры», реализована фильтрация.
Dzhabaev Apr 9, 2024
068db27
Настроено отображение кнопки фильтрации. При отсутствии трекеров на в…
Dzhabaev Apr 9, 2024
7fe8955
Добавлены скриншот-тесты
Dzhabaev Apr 9, 2024
c7a00ac
В проекте подключена библиотека AppMetrica через менеджер CocoaPods.
Dzhabaev Apr 9, 2024
fa29f4f
Сверстан экран статистики.
Dzhabaev Apr 11, 2024
f105210
Скорректированы методы TrackerCollectionViewCell, скорректирована раб…
Dzhabaev Apr 12, 2024
94d61ac
Скорректирован EditingHabitsViewController
Dzhabaev Apr 12, 2024
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
Binary file added .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ playground.xcworkspace
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# Pods/
Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

Expand Down
15 changes: 15 additions & 0 deletions Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Uncomment the next line to define a global platform for your project
platform :ios, '13.4'

target 'Tracker' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!

# Pods for Tracker
pod 'YandexMobileMetrica/Dynamic', '4.5.2'

target 'TrackerTests' do
inherit! :search_paths
# Pods for testing
end
end
21 changes: 21 additions & 0 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
PODS:
- YandexMobileMetrica/Dynamic (4.5.2):
- YandexMobileMetrica/Dynamic/Core (= 4.5.2)
- YandexMobileMetrica/Dynamic/Crashes (= 4.5.2)
- YandexMobileMetrica/Dynamic/Core (4.5.2)
- YandexMobileMetrica/Dynamic/Crashes (4.5.2):
- YandexMobileMetrica/Dynamic/Core

DEPENDENCIES:
- YandexMobileMetrica/Dynamic (= 4.5.2)

SPEC REPOS:
trunk:
- YandexMobileMetrica

SPEC CHECKSUMS:
YandexMobileMetrica: f5368ee93f286c793d73b58da00929babfc897c1

PODFILE CHECKSUM: 4adfde1b4c00d3f1e1d48f5d5ea670965aa009ac

COCOAPODS: 1.15.2
342 changes: 339 additions & 3 deletions Tracker.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

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

91 changes: 91 additions & 0 deletions Tracker.xcodeproj/xcshareddata/xcschemes/Tracker.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1530"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "720BBE382B16006900888F8A"
BuildableName = "Tracker.app"
BlueprintName = "Tracker"
ReferencedContainer = "container:Tracker.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "723830852BC5C8E8006AC6AE"
BuildableName = "TrackerTests.xctest"
BlueprintName = "TrackerTests"
ReferencedContainer = "container:Tracker.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "720BBE382B16006900888F8A"
BuildableName = "Tracker.app"
BlueprintName = "Tracker"
ReferencedContainer = "container:Tracker.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "720BBE382B16006900888F8A"
BuildableName = "Tracker.app"
BlueprintName = "Tracker"
ReferencedContainer = "container:Tracker.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,13 @@
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>720BBE382B16006900888F8A</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
10 changes: 10 additions & 0 deletions Tracker.xcworkspace/contents.xcworkspacedata

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

8 changes: 8 additions & 0 deletions Tracker.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
24 changes: 24 additions & 0 deletions Tracker.xcworkspace/xcshareddata/swiftpm/Package.resolved

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

Binary file added Tracker/.DS_Store
Binary file not shown.
23 changes: 23 additions & 0 deletions Tracker/Analytics/AnalyticsService.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//
// AnalyticsService.swift
// Tracker
//
// Created by Chingiz on 09.04.2024.
//

import YandexMobileMetrica

final class AnalyticsService {

static func activate() {
guard let configuration = YMMYandexMetricaConfiguration(apiKey: "255b6c53-7665-49da-9a77-37575dd3977a") else { return }

YMMYandexMetrica.activate(with: configuration)
}

func reportEvent(event: String, parameters: [String: String]) {
YMMYandexMetrica.reportEvent(event, parameters: parameters, onFailure: { error in
print("REPORT ERROR: %@", error.localizedDescription)
})
}
}
1 change: 1 addition & 0 deletions Tracker/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AnalyticsService.activate()
window = UIWindow()
let onboardingViewController = OnboardingViewController()
onboardingViewController.onboardingCompletionHandler = { [weak self] in
Expand Down
38 changes: 38 additions & 0 deletions Tracker/Assets.xcassets/Colors/trBackground.colorset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "0.300",
"blue" : "0.922",
"green" : "0.910",
"red" : "0.902"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "0.850",
"blue" : "0.255",
"green" : "0.255",
"red" : "0.255"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

This file was deleted.

18 changes: 0 additions & 18 deletions Tracker/Assets.xcassets/Colors/trBlack.colorset/Contents.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,6 @@
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "light"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.133",
"green" : "0.106",
"red" : "0.102"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
Expand Down
18 changes: 0 additions & 18 deletions Tracker/Assets.xcassets/Colors/trWhite.colorset/Contents.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,6 @@
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "light"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "1.000",
"green" : "1.000",
"red" : "1.000"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
Expand Down
Binary file added Tracker/CoreData/.DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22522" systemVersion="23C71" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithSwiftData="YES" userDefinedModelVersionIdentifier="">
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22757" systemVersion="23E224" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithSwiftData="YES" userDefinedModelVersionIdentifier="">
<entity name="TrackerCategoryCoreData" representedClassName="TrackerCategoryCoreData" syncable="YES" codeGenerationType="class">
<attribute name="categoryTitle" optional="YES" attributeType="String"/>
<relationship name="trackers" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="TrackerCoreData" inverseName="category" inverseEntity="TrackerCoreData"/>
Expand All @@ -8,6 +8,7 @@
<attribute name="color" optional="YES" attributeType="String"/>
<attribute name="emoji" optional="YES" attributeType="String"/>
<attribute name="idTracker" optional="YES" attributeType="UUID" usesScalarValueType="NO"/>
<attribute name="isPinned" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
<attribute name="name" optional="YES" attributeType="String"/>
<attribute name="schedule" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
<relationship name="category" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="TrackerCategoryCoreData" inverseName="trackers" inverseEntity="TrackerCategoryCoreData"/>
Expand Down
Loading