Skip to content

Commit

Permalink
Merge pull request #385 from sopt-makers/feat/#384-솝마디-결과-뷰-구현
Browse files Browse the repository at this point in the history
[Feat] #384 - 솝마디 결과 뷰 UI 구현
  • Loading branch information
dlwogus0128 authored Sep 21, 2024
2 parents be9c8d2 + bf3d3e0 commit 0401151
Show file tree
Hide file tree
Showing 26 changed files with 733 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public extension Dep {
public struct AppMyPage {}
public struct Notification {}
public struct Poke {}
public struct DailySoptune {}
}

struct Modules {}
Expand Down Expand Up @@ -117,3 +118,10 @@ public extension Dep.Features.Poke {
static let Feature = Dep.Features.project(name: "Feature", group: group)
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature"))
}

public extension Dep.Features.DailySoptune {
static let group = "DailySoptune"

static let Feature = Dep.Features.project(name: "Feature", group: group)
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature"))
}
6 changes: 6 additions & 0 deletions SOPT-iOS/Projects/Core/Sources/Literals/StringLiterals.swift
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,12 @@ public struct I18N {
}
public static let emptyViewDescription = "아직 없어요 T.T\n더 많은 찌르기로 달성해보세요"
}

public struct DailySoptune {
public static let poke = "콕 찌르기"
public static let pokeFortunatePerson = "행운이 2배가 될 솝트인을 찔러보세요"
public static let receiveTodaysTalisman = "오늘의 부적 받기"
}
}

extension I18N {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
{
"images" : [
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
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,8 @@
//
// Empty.swift
// DailySoptuneFeatureManifests
//
// Created by Jae Hyun Lee on 9/21/24.
//

import Foundation
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// Empty.swift
// DailySoptuneFeatureManifests
//
// Created by Jae Hyun Lee on 9/21/24.
//

import Foundation
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// DailySoptuneFeatureBuildable.swift
// DailySoptuneFeatureInterface
//
// Created by Jae Hyun Lee on 9/21/24.
// Copyright © 2024 SOPT-iOS. All rights reserved.
//

import Foundation

import Domain

public protocol DailySoptuneFeatureBuildable {
func makeDailySoptuneResultVC() -> DailySoptuneResultViewControllable
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// DailySoptuneResultPresentable.swift
// DailySoptuneFeatureInterface
//
// Created by Jae Hyun Lee on 9/21/24.
// Copyright © 2024 SOPT-iOS. All rights reserved.
//

import BaseFeatureDependency
import Core
import Domain

public protocol DailySoptuneResultViewControllable: ViewControllable { }

public protocol DailySoptuneResultCoordinatable {
}

public typealias DailySoptuneResultViewModelType = ViewModelType & DailySoptuneResultCoordinatable
public typealias DailySoptuneResultPresentable = (vc: DailySoptuneResultViewControllable, vm: any DailySoptuneResultViewModelType)
19 changes: 19 additions & 0 deletions SOPT-iOS/Projects/Features/DailySoptuneFeature/Project.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// Project.swift
// ProjectDescriptionHelpers
//
// Created by Jae Hyun Lee on 9/21/24.
//

import ProjectDescription
import ProjectDescriptionHelpers
import DependencyPlugin

let project = Project.makeModule(
name: "DailySoptuneFeature",
targets: [.unitTest, .staticFramework, .demo, .interface],
interfaceDependencies: [
.Features.BaseFeatureDependency
]
)

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//
// DailySoptuneBuilder.swift
// DailySoptuneFeatureInterface
//
// Created by Jae Hyun Lee on 9/21/24.
// Copyright © 2024 SOPT-iOS. All rights reserved.
//

import Core
import Domain
@_exported import DailySoptuneFeatureInterface

public final class DailySoptuneBuilder {
public init() {}
}

extension DailySoptuneBuilder: DailySoptuneFeatureBuildable {
public func makeDailySoptuneResultVC() -> any DailySoptuneFeatureInterface.DailySoptuneResultViewControllable {
let viewModel = DailySoptuneResultViewModel()
let dailySoptuneResultVC = DailySoptuneResultVC(viewModel: viewModel)
return dailySoptuneResultVC
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//
// DailySoptuneCoordinator.swift
// DailySoptuneFeature
//
// Created by Jae Hyun Lee on 9/21/24.
// Copyright © 2024 SOPT-iOS. All rights reserved.
//

import Core
import BaseFeatureDependency
import DailySoptuneFeatureInterface
import Domain

public final class DailySoptuneCoordinator: DefaultCoordinator {
public var finishFlow: (() -> Void)?

private let factory: DailySoptuneFeatureBuildable
private let router: Router

public init(router: Router, factory: DailySoptuneFeatureBuildable) {
self.router = router
self.factory = factory
}
}
Loading

0 comments on commit 0401151

Please sign in to comment.