Skip to content

Commit

Permalink
[feat] #152 FeatureContentCard 모듈 생성
Browse files Browse the repository at this point in the history
  • Loading branch information
ShapeKim98 committed Nov 17, 2024
1 parent 1b20696 commit c2cfe66
Show file tree
Hide file tree
Showing 7 changed files with 124 additions and 1 deletion.
8 changes: 8 additions & 0 deletions Projects/Feature/FeatureContentCard/Resources/Resource.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// Dummy.stencil.swift
// ProjectDescriptionHelpers
//
// Created by 김도형 on 6/16/24.
//

import Foundation
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13142" 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="12042"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<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"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
<rect key="frame" x="0.0" y="626.5" width="375" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="App" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
</constraints>
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
</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,17 @@
//
// App.stencil.swift
// ProjectDescriptionHelpers
//
// Created by 김도형 on 6/16/24.
//

import SwiftUI

@main
struct FeatureContentCardDemoApp: App {
var body: some Scene {
WindowGroup {
// TODO: 루트 뷰 추가
}
}
}
8 changes: 8 additions & 0 deletions Projects/Feature/FeatureContentCardTests/Resources/info.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>ENABLE_TESTING_SEARCH_PATHS</key>
<string>YES</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import ComposableArchitecture
import XCTest

@testable import FeatureContentCard

final class FeatureContentCardTests: XCTestCase {
func test() {

}
}
34 changes: 33 additions & 1 deletion Tuist/ProjectDescriptionHelpers/Feature.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ public enum Feature: String, CaseIterable {
case setting = "Setting"
case contentList = "ContentList"
case categorySharing = "CategorySharing"
case contentCard = "ContentCard"

public var target: Target {
return .makeTarget(
name: "Feature\(self.rawValue)",
product: TuistRelease.isRelease ? .staticFramework : .framework,
bundleName: "Feature.\(self.rawValue)",
infoPlist: .file(path: .relativeToRoot("Projects/App/Resources/Pokit-info.plist")),
dependencies: [
dependencies: self.depenecies + [
.project(target: "DSKit", path: .relativeToRoot("Projects/DSKit")),
.project(target: "Domain", path: .relativeToRoot("Projects/Domain"))
]
Expand Down Expand Up @@ -58,4 +59,35 @@ public enum Feature: String, CaseIterable {
]
)
}

public var depenecies: [TargetDependency] {
switch self {
case .contentDetail: return []
case .contentSetting: return []
case .categorySetting: return []
case .remind:
return [
.project(target: "FeatureContentCard", path: .relativeToRoot("Projects/Feature"))
]
case .login: return []
case .pokit:
return [
.project(target: "FeatureContentCard", path: .relativeToRoot("Projects/Feature"))
]
case .categoryDetail:
return [
.project(target: "FeatureContentCard", path: .relativeToRoot("Projects/Feature"))
]
case .setting: return []
case .contentList:
return [
.project(target: "FeatureContentCard", path: .relativeToRoot("Projects/Feature"))
]
case .categorySharing:
return [
.project(target: "FeatureContentCard", path: .relativeToRoot("Projects/Feature"))
]
case .contentCard: return []
}
}
}
Binary file modified graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c2cfe66

Please sign in to comment.