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 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,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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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 number Diff line number Diff 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