Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
4ef7f49
:bento: Asset 파일 추가
gangho0922 Jul 5, 2024
12e57c1
:bento: Asset 파일 수정
gangho0922 Jul 5, 2024
428bb3f
:recycle: 오타 수정
gangho0922 Jul 5, 2024
e76555f
:bento: Color DesignSystem 추가
gangho0922 Jul 5, 2024
093449e
:sparkles: LogoNavigationBar 추가
gangho0922 Jul 5, 2024
9eed38c
:sparkles: MainMissionScrollView 추가
gangho0922 Jul 5, 2024
89b7bbc
:sparkles: MainRankingView 추가
gangho0922 Jul 5, 2024
e276139
:sparkles: AppComponent+Order
gangho0922 Jul 5, 2024
d5aea42
:lipstick: StudentMainView UI 작성
gangho0922 Jul 5, 2024
b52a04f
Merge branch 'develop' into feat/student-main
gangho0922 Jul 5, 2024
0e0e934
:sparkles: StudentMainModel 작성
gangho0922 Jul 6, 2024
3b6351a
:sparkles: StudentMainModelProtocol 작성
gangho0922 Jul 6, 2024
9b8a24b
:recycle: StudentMainView 코드 수정
gangho0922 Jul 6, 2024
1cff729
Merge branch 'feat/student-main' of https://github.com/Stack-Knowledg…
gangho0922 Jul 6, 2024
2d18367
:fire: 불필요 파일 삭제
gangho0922 Jul 6, 2024
14fea5d
:sparkles: StudentMainIntent 파일 생성
gangho0922 Jul 6, 2024
b2d4ff8
Merge branch 'develop' of https://github.com/Stack-Knowledge/Stack-Kn…
gangho0922 Jul 8, 2024
4fac44e
Merge branch 'develop' of https://github.com/Stack-Knowledge/Stack-Kn…
gangho0922 Jul 9, 2024
0395bda
:sparkles: AppComponent+Order
gangho0922 Jul 12, 2024
59b3cc6
:fire: Main관련 파일 삭제
gangho0922 Jul 12, 2024
a4e768d
:recycle: StudentMain DI 수정
gangho0922 Jul 12, 2024
925e2f8
:sparkles: StudentMainModel 작성
gangho0922 Jul 12, 2024
b00648d
:sparkles: StudentMainIntent 파일 생성
gangho0922 Jul 12, 2024
96a67e2
:sparkles: StudentMainModelStateProtocol 작성
gangho0922 Jul 12, 2024
9061bf5
:sparkles: AppComponent+Order
gangho0922 Jul 12, 2024
4dcd8b1
:lipstick: StudentMainView UI 작성
gangho0922 Jul 12, 2024
b49d4f2
:lipstick: SignupListPopupView UI 작성
gangho0922 Jul 12, 2024
fb693eb
:recycle: RootView 코드 오타 수정
gangho0922 Jul 12, 2024
a63838a
:sparkles: LogoNavigationBar
gangho0922 Jul 13, 2024
c6c4022
:sparkles: MainMissionScrollView 작성
gangho0922 Jul 13, 2024
34d0983
:sparkles: MainRankingScrollView 작성
gangho0922 Jul 13, 2024
b650e72
:sparkles: BannerView 작성
gangho0922 Jul 13, 2024
8cc6838
:sparkles: StudentMainIntent
gangho0922 Jul 13, 2024
29f1cb0
:sparkles: StudentMainModel
gangho0922 Jul 13, 2024
05f2f18
:sparkles: StudentMainModelStateProtocol
gangho0922 Jul 13, 2024
e4b7aaf
:recycle: SignupListPopupView 코드 수정
gangho0922 Jul 13, 2024
b46eee4
:recycle: SignupListPopupView 수정
gangho0922 Jul 13, 2024
e5a8dd5
:recycle: StudentMainView 코드 수정
gangho0922 Jul 13, 2024
7eb7734
:recycle: SignupListPopupView 코드 수정
gangho0922 Jul 13, 2024
493871a
:truck: SignupListPopupView 위치 수정
gangho0922 Jul 16, 2024
c9705de
:recycle: RaningID 추가
gangho0922 Jul 16, 2024
cca12d2
:recycle: RankingID 추가
gangho0922 Jul 16, 2024
c437070
:sparkles: MainMissionScrollView UI 수정
gangho0922 Jul 16, 2024
ceec420
:sparkles: MainMissionScrollView UI 수정
gangho0922 Jul 16, 2024
a08399b
:sparkles: RankingDataList 추가
gangho0922 Jul 16, 2024
a0687f1
:recycle: StudentMainView 코드 수정
gangho0922 Jul 16, 2024
caa8a71
:memo: 추후에 작업할 코드 추가
gangho0922 Jul 16, 2024
e1f2afb
Merge branch 'develop' of https://github.com/Stack-Knowledge/Stack-Kn…
gangho0922 Jul 16, 2024
786791e
:memo: 파일 이름 TeacehrTabBar -> TeacherTabBar로 수정
gangho0922 Jul 18, 2024
9b577e6
:recycle: MainRankingScrollView 코드 수정
gangho0922 Jul 18, 2024
ca2959f
:recycle: MainMissionScrollView 코드 수정
gangho0922 Jul 18, 2024
641b4c1
:sparkles: MissionDataList 및 RankingDataList 추가
gangho0922 Jul 18, 2024
95c8dd9
:recycle: StudentMainView 코드 수정
gangho0922 Jul 18, 2024
c1dbbd0
:recycle: MainRankingScrollView 필요없는 코드 수정
gangho0922 Jul 18, 2024
5f7f9cc
:recycle: MainMissionScrollView 필요없는 코드 수정
gangho0922 Jul 18, 2024
5ec53fe
:sparkles: StudentMainModel 수정
gangho0922 Jul 18, 2024
08144e9
:sparkles: StudentMainModelStateProtocol 수정
gangho0922 Jul 18, 2024
6dfc70f
:recycle: StudentMainView 필요없는 코드 수정
gangho0922 Jul 18, 2024
a1d4a76
:recycle: SignupListPopupView 필요없는 container 삭제
gangho0922 Jul 18, 2024
70451e4
:recycle: StudentMainView 코드 수정
gangho0922 Jul 18, 2024
3243646
:recycle: MainMissionScrollView 코드 단축
gangho0922 Jul 18, 2024
c86cc07
:recycle: StudentMainView 필요없는 코드 삭제
gangho0922 Jul 18, 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
6 changes: 6 additions & 0 deletions App/Resources/Colors/Medal.xcassets/Contents.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x9B",
"green" : "0xD7",
"red" : "0xFF"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x9B",
"green" : "0xD7",
"red" : "0xFF"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0xD9",
"green" : "0xD9",
"red" : "0xD9"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0xD9",
"green" : "0xD9",
"red" : "0xD9"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x5D",
"green" : "0x86",
"red" : "0xCE"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x5D",
"green" : "0x86",
"red" : "0xCE"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
{
"images" : [
{
"filename" : "banner1.png",
"filename" : "SKBanner.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "banner1 1.png",
"filename" : "SKBanner 1.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "banner1 2.png",
"filename" : "SKBanner 2.png",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
{
"images" : [
{
"filename" : "banner22.png",
"filename" : "SKBanner2.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "banner22 1.png",
"filename" : "SKBanner2 1.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "banner22 2.png",
"filename" : "SKBanner2 2.png",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
{
"images" : [
{
"filename" : "banner3.png",
"filename" : "SKBanner3.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "banner3 1.png",
"filename" : "SKBanner3 1.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "banner3 2.png",
"filename" : "SKBanner3 2.png",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
28 changes: 28 additions & 0 deletions App/Sources/DesignSystem/Banner/BannerView.swift
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
import SwiftUI

struct BannerView: View {
@State private var currentIndex = 0

let timer = Timer.publish(every: 3, on: .main, in: .common).autoconnect()

var body: some View {
TabView(selection: $currentIndex) {
SKBannerImage(.Banner1)
.tag(0)

SKBannerImage(.Banner2)
.tag(1)

SKBannerImage(.Banner3)
.tag(2)
}
.tabViewStyle(PageTabViewStyle())
.indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .automatic))
.frame(height: 180)
.onReceive(timer) { _ in
withAnimation {
currentIndex = (currentIndex + 1) % 3
}
}
}
}
4 changes: 3 additions & 1 deletion App/Sources/DesignSystem/Color/Color+sk.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,12 +4,14 @@ public extension Color {
enum SKColorSystem {
case main(Main)
case gray(Gray)
case medal(Medal)
}

static func sk(_ style: SKColorSystem) -> Color {
switch style {
case let .main(colorable as SKColorable),
let .gray(colorable as SKColorable):
let .gray(colorable as SKColorable),
let .medal(colorable as SKColorable):
return colorable.color
}
}
Expand Down
20 changes: 20 additions & 0 deletions App/Sources/DesignSystem/Color/SKColorSystem+Medal.swift
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
import SwiftUI

public extension Color.SKColorSystem {
// swiftlint:disable identifier_name
enum Medal: SKColorable {
case firstplace
case secondplace
case thirdplace
}
}

public extension Color.SKColorSystem.Medal {
var color: Color {
switch self {
case .firstplace: return StackKnowledgeAsset.Medal.firstPlace.swiftUIColor
case .secondplace: return StackKnowledgeAsset.Medal.secondPlace.swiftUIColor
case .thirdplace: return StackKnowledgeAsset.Medal.thirdPlace.swiftUIColor
}
}
}
47 changes: 47 additions & 0 deletions App/Sources/DesignSystem/Extensions/View/LogoNavigationBar.swift
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
import SwiftUI

struct LogoNavigationBarModifier: ViewModifier {

var logo: Image = Image(asset: StackKnowledgeAsset.Logo.logoIcon)
var title: String = "Stack Knowledge"

func body(content: Content) -> some View {
content
.navigationBarBackButtonHidden(true)
.toolbar {
ToolbarItemGroup(placement: .navigationBarLeading) {
HStack {
logo
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 20, height: 20)

Spacer()
.frame(width: 10)

Text(title)
.skFont(.r18)
}
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: {

// logout 동작 필요.

}) {
Image(asset: StackKnowledgeAsset.Logout.logoutIcon)
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 24, height: 24)
.foregroundColor(.primary)
}
}
}
}
}

public extension View {
func logoNavigationBar() -> some View {
self.modifier(LogoNavigationBarModifier())
}
}
8 changes: 4 additions & 4 deletions App/Sources/DesignSystem/Image/SKBannerImage.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,19 +19,19 @@ public struct SKBannerImage: View {
}

public var body: some View {
smsImageToImage()
skImageToImage()
.resizable()
.renderingMode(renderingMode)
}

private func smsImageToImage() -> SwiftUI.Image {
private func skImageToImage() -> SwiftUI.Image {
switch image {
case .Banner1:
return StackKnowledgeAsset.Banner.bannerImage1.swiftUIImage
case .Banner2:
return StackKnowledgeAsset.Banner.bannerImage1.swiftUIImage
return StackKnowledgeAsset.Banner.bannerImage2.swiftUIImage
case .Banner3:
return StackKnowledgeAsset.Banner.bannerImage1.swiftUIImage
return StackKnowledgeAsset.Banner.bannerImage3.swiftUIImage
}
}
}
4 changes: 2 additions & 2 deletions App/Sources/DesignSystem/Image/SKBaseProfileImage.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,12 @@ public struct SKBaseProfileImage: View {
}

public var body: some View {
smsImageToImage()
skImageToImage()
.resizable()
.renderingMode(renderingMode)
}

private func smsImageToImage() -> SwiftUI.Image {
private func skImageToImage() -> SwiftUI.Image {
switch image {
case .BaseProfileImage:
return StackKnowledgeAsset.BaseProfile.baseProfileImage.swiftUIImage
Expand Down
4 changes: 2 additions & 2 deletions App/Sources/DesignSystem/Image/SKSignUpImage.swift
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,12 @@ public struct SKImage: View {
}

public var body: some View {
smsImageToImage()
skImageToImage()
.resizable()
.renderingMode(renderingMode)
}

private func smsImageToImage() -> SwiftUI.Image {
private func skImageToImage() -> SwiftUI.Image {
switch image {
case .SignUpBackground:
return StackKnowledgeAsset.SignUp.signUpBackground.swiftUIImage
Expand Down
44 changes: 44 additions & 0 deletions App/Sources/DesignSystem/View/MainMissionScrollView.swift
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
import Service
import SwiftUI

struct MainMissionScrollView: View {
let missionDataList: [MissionListEntity]

var body: some View {
VStack {
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 16) {
ForEach(missionDataList.indices, id: \.self) { mission in
if let missionList = missionDataList[safe: mission] {
VStack(alignment: .center) {
Text(missionList.user.userName)
.skFont(.pm14)
.padding(.top, 16)

Text(missionList.missionTitle)
.skFont(.pr12)
.lineLimit(3)
.padding(.top, 16)
.padding(.horizontal, 16)

Spacer()

Text(missionList.missionPoint.description)
.skFont(.pm16)
.padding(.bottom, 24)
}
.padding(.init(top: 18, leading: 40, bottom: 18, trailing: 40))
.background(Color.white)
.cornerRadius(10)
}
}
}
}
.frame(height: 160)
.padding(.vertical, 16)
.padding(.horizontal, 16)
.background(Color.SKColorSystem.Gray.lightgray1.color)
.cornerRadius(20)
}
}
}
Loading