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

๐Ÿ”€ :: (664) ์—ด๋งค ๋ฝ‘๊ธฐ ํ™”๋ฉด ๊ตฌํ˜„ #672

Merged
merged 27 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6ba85bb
โšก๏ธ :: [#664] ๋ชจ๋“ˆ ์ƒ์„ฑ
KangTaeHoon Jun 24, 2024
e61ca62
โšก๏ธ :: [#664] ์ปดํฌ๋„ŒํŠธ, ํŒฉํ† ๋ฆฌ ์ƒ์„ฑ
KangTaeHoon Jun 24, 2024
07dd682
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 24, 2024
d1f68c5
โšก๏ธ :: [#664] ์ปดํฌ๋„ŒํŠธ ๋ฐฐ์น˜
KangTaeHoon Jun 24, 2024
3b1429d
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 24, 2024
1507dac
โšก๏ธ :: [#664] ์ปดํฌ๋„ŒํŠธ ๋ฐฐ์น˜ 2t
KangTaeHoon Jun 25, 2024
e123514
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 25, 2024
3d55c11
โšก๏ธ :: [#664] ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ•˜๋“œ์ฝ”๋”ฉ
KangTaeHoon Jun 25, 2024
c3d5540
โšก๏ธ :: [#664] ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ง„์ž…/๋ณต๊ท€ ์ฒ˜๋ฆฌ
KangTaeHoon Jun 25, 2024
1a42b85
โšก๏ธ :: [#664] hit ball ์ถ”๊ฐ€
KangTaeHoon Jun 25, 2024
6e3d1c4
โšก๏ธ :: [#664] hit ball ์ œ๊ฑฐ
KangTaeHoon Jun 25, 2024
ed2f67c
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 25, 2024
e48df25
โšก๏ธ :: [#664] ์ปดํฌ๋„ŒํŠธ ํžˆ๋“ 
KangTaeHoon Jun 25, 2024
2c28f16
โšก๏ธ :: [#664] observable.merge๋กœ ํ†ตํ•ฉ
KangTaeHoon Jun 25, 2024
d24234d
โšก๏ธ :: [#664] throttle ์ถ”๊ฐ€
KangTaeHoon Jun 26, 2024
e931ff2
โšก๏ธ :: [#664] viewModel ์ถ”๊ฐ€
KangTaeHoon Jun 26, 2024
7ee82e6
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 26, 2024
9c9bdf2
โšก๏ธ :: [#664] ๋ฐ๋ชจ ์ ์šฉ
KangTaeHoon Jun 26, 2024
b679016
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 26, 2024
10e3376
โšก๏ธ :: [#664] ์ฝ”๋“œ ์ตœ์ ํ™”
KangTaeHoon Jun 26, 2024
ee1ff99
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 26, 2024
cc8c162
โšก๏ธ :: [#664] ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ
KangTaeHoon Jun 26, 2024
e20144d
โšก๏ธ :: [#664] ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ: note -> fruit
KangTaeHoon Jun 26, 2024
9ba088a
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 26, 2024
114f7a0
โšก๏ธ :: [#664] FruitDrawComponentStub
KangTaeHoon Jun 26, 2024
00362ba
๐ŸŽจ :: ์ฝ”๋“œ Formatting ์ ์šฉ
KangTaeHoon Jun 26, 2024
39dd8f3
๐Ÿ”ฅ :: [#664] FruitDrawComponentStub
KangTaeHoon Jun 26, 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
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ extension ModulePaths: MicroTargetPathConvertable {

public extension ModulePaths {
enum Feature: String, MicroTargetPathConvertable {
case FruitDrawFeature
case LyricHighlightingFeature
case MyInfoFeature
case MusicDetailFeature
Expand Down
6 changes: 6 additions & 0 deletions Projects/App/Sources/Application/AppComponent+MyInfo.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import Foundation
import FruitDrawFeature
import FruitDrawFeatureInterface
import MyInfoFeature
import MyInfoFeatureInterface

Expand Down Expand Up @@ -38,4 +40,8 @@ extension AppComponent {
var serviceInfoFactory: any ServiceInfoFactory {
ServiceInfoComponent(parent: self)
}

var fruitDrawFactory: any FruitDrawFactory {
FruitDrawComponent(parent: self)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@testable import FruitDrawFeature
import UIKit

@main
final class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?

func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = FruitDrawViewController(viewModel: .init())
window?.makeKeyAndVisible()

return true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import UIKit

public protocol FruitDrawFactory {
func makeView() -> UIViewController
}
23 changes: 23 additions & 0 deletions Projects/Features/FruitDrawFeature/Project.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import DependencyPlugin
import ProjectDescription
import ProjectDescriptionHelpers

let project = Project.module(
name: ModulePaths.Feature.FruitDrawFeature.rawValue,
targets: [
.interface(module: .feature(.FruitDrawFeature)),
.implements(
module: .feature(.FruitDrawFeature),
dependencies: [
.feature(target: .FruitDrawFeature, type: .interface),
.feature(target: .BaseFeature)
]
),
.demo(
module: .feature(.FruitDrawFeature),
dependencies: [
.feature(target: .FruitDrawFeature)
]
)
]
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Foundation
import FruitDrawFeatureInterface
import NeedleFoundation
import UIKit

public protocol FruitDrawDependency: Dependency {}

public final class FruitDrawComponent: Component<FruitDrawDependency>, FruitDrawFactory {
public func makeView() -> UIViewController {
return FruitDrawViewController(viewModel: .init())
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import Foundation
import UIKit
import Utility

extension Double {
var correctLeading: CGFloat {
return self * APP_WIDTH() / 375.0
}

var correctTrailing: CGFloat {
return -self * APP_WIDTH() / 375.0
}

var correctTop: CGFloat {
return APP_HEIGHT() * (self / 812.0)
}

var correctBottom: CGFloat {
return -APP_HEIGHT() * (self / 812.0)
}
}

extension UIView {
func moveAnimate(
duration: CGFloat,
amount: CGFloat,
direction: StartDirection
) {
let add = (direction == .random) ? ((Array(0 ... 1).randomElement() ?? 0) == 0 ? 1 : -1) : direction.rawValue
UIView.animate(
withDuration: duration,
delay: 0,
options: [.autoreverse, .repeat],
animations: {
self.transform = CGAffineTransform(translationX: 0, y: amount * add)
},
completion: nil
)
}
}

enum StartDirection: CGFloat {
case up = -1
case down = 1
case random
}
Loading
Loading