forked from AcaMate/AcaMate_iOS
77 lines
2.1 KiB
Swift
77 lines
2.1 KiB
Swift
//
|
|
// TopView.swift
|
|
// AcaMate
|
|
//
|
|
// Created by TAnine on 2/4/25.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct TopView: View {
|
|
@State var titleName: String = ""
|
|
@State var changeLogo: Bool = false
|
|
@State var tailLogo: Bool = false
|
|
|
|
var myType: UserType = .Teacher
|
|
|
|
var body: some View {
|
|
HStack(alignment: .center, spacing: 0) {
|
|
ZStack {
|
|
TypeIcon(myType: myType)
|
|
.opacity(changeLogo ? 0 : 1)
|
|
|
|
SimpleBtnView(title: nil, image: Image(.Icon.back), font: nil, width: 40, height: 40) {
|
|
|
|
}
|
|
.opacity(changeLogo ? 1 : 0)
|
|
}
|
|
.padding(EdgeInsets(top: 12, leading: 24, bottom: 12, trailing: 12))
|
|
|
|
Text("\(titleName)")
|
|
.foregroundStyle(Color(.Text.detail))
|
|
.font(.nps(font: .bold, size: 20))
|
|
Spacer()
|
|
|
|
SimpleBtnView(title: nil, image: Image(.Icon.face), font: nil, width: 40, height: 40)
|
|
{
|
|
|
|
}
|
|
.padding(EdgeInsets(top: 12, leading: 12, bottom: 12, trailing: 24))
|
|
.opacity(tailLogo ? 0 : 1)
|
|
|
|
}
|
|
.background {
|
|
Rectangle()
|
|
.foregroundStyle(Color(.Other.cell))
|
|
.ignoresSafeArea(edges: .top)
|
|
}
|
|
.frame(maxWidth: .infinity)
|
|
|
|
}
|
|
}
|
|
|
|
struct TypeIcon: View {
|
|
var myType: UserType
|
|
|
|
var body: some View {
|
|
if self.myType == .Student {
|
|
SimpleBtnView(title: nil, image: Image(.Icon.face), font: nil, width: 40, height: 40, isUsable: false) {
|
|
|
|
}
|
|
} else {
|
|
SimpleBtnView(title: "\(self.myType.rawValue)", image: Image(.Icon.face),
|
|
font: .nps(font: .bold, size: 24), width: 40, height: 40, isUsable: false) {
|
|
|
|
}.background {
|
|
Circle()
|
|
.strokeBorder(Color(.Second.normal) ,lineWidth: 4)
|
|
.frame(width: 40, height: 40)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
TopView(titleName: "Name")
|
|
}
|