1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-08 04:20:07 +02:00
Files
app/phpmon/Domain/SwiftUI/Menu/HeaderView.swift

52 lines
1.2 KiB
Swift

//
// MiniHeaderView.swift
// PHP Monitor
//
// Created by Nico Verbruggen on 10/06/2022.
// Copyright © 2023 Nico Verbruggen. All rights reserved.
//
import SwiftUI
struct HeaderView: View {
@State var text: String
var body: some View {
Text(text.uppercased())
.font(.system(size: 12))
.fontWeight(.bold)
.foregroundColor(.appSecondary)
.multilineTextAlignment(.leading)
.padding(.leading, 14.0)
.frame(maxWidth: .infinity, alignment: .leading)
.background(Color.debug)
}
// MARK: - NSMenuItem
static func asMenuItem(
text: String,
minimumWidth: CGFloat? = nil
) -> NSMenuItem {
let view = NSHostingView(rootView: Self(text: text))
view.autoresizingMask = [.width, .height]
var finalWidth = view.frame.width
if minimumWidth != nil && minimumWidth! > finalWidth {
finalWidth = minimumWidth!
}
view.setFrameSize(CGSize(width: finalWidth, height: 24))
let item = NSMenuItem()
item.view = view
return item
}
}
#Preview {
HeaderView(text: "Hello world")
.frame(width: 330.0)
}