This commit is contained in:
neon443
2025-05-21 18:10:22 +01:00
parent 773a083682
commit 62318c5ddc
6 changed files with 71 additions and 13 deletions

View File

@@ -11,15 +11,46 @@ import SwiftUI
@main
struct NearFutureApp: App {
@StateObject var settingsModel: SettingsViewModel = SettingsViewModel()
var body: some Scene {
WindowGroup {
ContentView(
viewModel: EventViewModel(),
settingsModel: settingsModel
)
NavigationSplitView {
List {
NavigationLink {
} label: {
Image(systemName: "house")
Text("Home")
}
NavigationLink {
} label: {
Image(systemName: "tray.full")
Text("Archive")
}
}
} detail: {
ContentView(
viewModel: EventViewModel(),
settingsModel: settingsModel
)
}
.tint(settingsModel.settings.tint.color)
.frame(minWidth: 350, minHeight: 450)
.frame(minWidth: 450, minHeight: 550)
.containerBackground(.ultraThinMaterial, for: .window)
}
.defaultSize(width: 550, height: 650)
.commands {
NearFutureCommands()
}
Window("About Near Future", id: "about") {
}
Settings {
Text("wip")
}
.defaultSize(width: 450, height: 550)
}
}

View File

@@ -0,0 +1,15 @@
//
// NFCommands.swift
// MacNearFuture
//
// Created by neon443 on 21/05/2025.
//
import Foundation
import SwiftUI
struct NearFutureCommands: Commands {
var body: some Commands {
}
}

View File

@@ -16,7 +16,9 @@ struct ContentView: View {
ForEach(viewModel.events) { event in
EventListView(viewModel: viewModel, event: event)
}
.padding(.trailing)
}
.scrollContentBackground(.hidden)
}
}

View File

@@ -12,10 +12,11 @@ struct EventListView: View {
@State var event: Event
@State var largeTick: Bool = false
@State var hovering: Bool = false
var body: some View {
ZStack {
Color.two
Color.black.opacity(hovering ? 0.5 : 0.0)
HStack {
RoundedRectangle(cornerRadius: 5)
.frame(width: 7)
@@ -121,10 +122,13 @@ struct EventListView: View {
}
}
.transition(.opacity)
.padding(.vertical, 5)
.background(.ultraThinMaterial)
.fixedSize(horizontal: false, vertical: true)
}
.onHover { isHovering in
withAnimation {
hovering.toggle()
}
}
.contextMenu() {
Button(role: .destructive) {
let eventToModify = viewModel.events.firstIndex() { currEvent in