WebOS completion

This commit is contained in:
Sayan Datta
2026-04-18 18:56:05 +05:30
parent 7e3764a8a4
commit cc04e8505f
459 changed files with 11713 additions and 3853 deletions

View File

@@ -0,0 +1,40 @@
import SwiftUI
enum EdgeSection: String, CaseIterable, Identifiable {
case alerts = "Alerts"
case leadSummary = "Lead Summary"
case communications = "Communications"
case notes = "Notes"
case transcriptions = "Transcriptions"
case settings = "Settings"
var id: String { rawValue }
}
struct EdgeRootView: View {
@State private var selectedSection: EdgeSection = .alerts
var body: some View {
TabView(selection: $selectedSection) {
EdgeAlertsView()
.tabItem { Label("Alerts", systemImage: "bell.badge") }
.tag(EdgeSection.alerts)
EdgeLeadSummaryView()
.tabItem { Label("Lead", systemImage: "person.text.rectangle") }
.tag(EdgeSection.leadSummary)
EdgeCommunicationsView()
.tabItem { Label("Comms", systemImage: "phone.connection") }
.tag(EdgeSection.communications)
EdgeNotesView()
.tabItem { Label("Notes", systemImage: "square.and.pencil") }
.tag(EdgeSection.notes)
EdgeTranscriptionsView()
.tabItem { Label("Transcripts", systemImage: "waveform.badge.magnifyingglass") }
.tag(EdgeSection.transcriptions)
EdgeSettingsView()
.tabItem { Label("Settings", systemImage: "gearshape") }
.tag(EdgeSection.settings)
}
.tint(Color(red: 0.22, green: 0.60, blue: 0.98))
}
}

View File

@@ -0,0 +1,56 @@
import SwiftUI
struct EdgeScaffold: View {
let title: String
let subtitle: String
let actionLabel: String
var body: some View {
ZStack {
LinearGradient(
colors: [
Color(red: 0.03, green: 0.05, blue: 0.08),
Color.black,
],
startPoint: .topLeading,
endPoint: .bottomTrailing
)
.ignoresSafeArea()
VStack(alignment: .leading, spacing: 18) {
Text(title)
.font(.system(size: 30, weight: .bold))
.foregroundStyle(.white)
Text(subtitle)
.font(.system(size: 14))
.foregroundStyle(Color.white.opacity(0.7))
VStack(alignment: .leading, spacing: 8) {
Text("EDGE ACTION")
.font(.system(size: 10, weight: .semibold))
.tracking(1.4)
.foregroundStyle(Color(red: 0.22, green: 0.60, blue: 0.98))
Text(actionLabel)
.font(.system(size: 18, weight: .semibold))
.foregroundStyle(.white)
Text("This narrow surface is ready for `/api/mobile-edge` hookup once auth, installs, and heartbeat registration are connected.")
.font(.system(size: 13))
.foregroundStyle(Color.white.opacity(0.72))
}
.padding(18)
.frame(maxWidth: .infinity, alignment: .leading)
.background(
RoundedRectangle(cornerRadius: 22)
.fill(Color.white.opacity(0.06))
.overlay(
RoundedRectangle(cornerRadius: 22)
.stroke(Color.white.opacity(0.08), lineWidth: 1)
)
)
Spacer()
}
.padding(24)
}
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeAlertsView: View {
var body: some View {
EdgeScaffold(
title: "Alerts",
subtitle: "Unread lead responses, callback urgency, and showroom event nudges for field operators.",
actionLabel: "Respond to unread whale-lead thread"
)
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeCommunicationsView: View {
var body: some View {
EdgeScaffold(
title: "Communications",
subtitle: "Calls, WhatsApp touchpoints, and imported operator activity in one surface.",
actionLabel: "Log a manual communication note"
)
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeLeadSummaryView: View {
var body: some View {
EdgeScaffold(
title: "Lead Summary",
subtitle: "Compact account memory, qualification signals, and next-best action.",
actionLabel: "Review Mohammed Al-Rashid context"
)
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeNotesView: View {
var body: some View {
EdgeScaffold(
title: "Notes",
subtitle: "Quick capture for memory facts, objections, and promised follow-ups.",
actionLabel: "Save a note with memory extraction hints"
)
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeSettingsView: View {
var body: some View {
EdgeScaffold(
title: "Settings",
subtitle: "Install registration, operator identity, and backend connection state.",
actionLabel: "Verify surface heartbeat and app version"
)
}
}

View File

@@ -0,0 +1,11 @@
import SwiftUI
struct EdgeTranscriptionsView: View {
var body: some View {
EdgeScaffold(
title: "Transcriptions",
subtitle: "Imported voice artifacts and transcript summaries for field follow-up.",
actionLabel: "Review pending recording import"
)
}
}

View File

@@ -0,0 +1,3 @@
# Velocity Edge Phone
SwiftUI scaffold for the narrow phone companion surface. This folder is intentionally source-first so it can be dropped into a new Xcode target without carrying repo-wide project changes during MVP.

View File

@@ -0,0 +1,10 @@
import SwiftUI
@main
struct VelocityEdgePhoneApp: App {
var body: some Scene {
WindowGroup {
EdgeRootView()
}
}
}