mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
chat
chat we cooked events can now be completed widgets now acc have a bg and a nicer title settings now says that there are widgets also small ux improvements
This commit is contained in:
Binary file not shown.
@@ -3,651 +3,4 @@
|
||||
uuid = "81691EC5-53AC-4338-9E2E-C1A8F23D20E5"
|
||||
type = "1"
|
||||
version = "2.0">
|
||||
<Breakpoints>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "4B7F7ADF-35FB-4F84-A9FE-98FB688F18BC"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "NearFuture/Item.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "248"
|
||||
endingLineNumber = "248"
|
||||
landmarkName = "importEvents(_:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "328204F3-BB7C-46D3-9780-207657A70694"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "off"
|
||||
moduleName = "">
|
||||
<Locations>
|
||||
<Location
|
||||
uuid = "328204F3-BB7C-46D3-9780-207657A70694 - 87d7b665ad37852f"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "+[_DKBoolCategory off]"
|
||||
moduleName = "CoreDuet"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
</Locations>
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "disable"
|
||||
moduleName = "">
|
||||
<Locations>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 6896a8ccc1cbbf4"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Combine._Introspection.disable() -> ()"
|
||||
moduleName = "Combine"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 3d6765b6178f5059"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "ExtensionFoundation._AppExtensionIdentity.disable() throws -> ()"
|
||||
moduleName = "ExtensionFoundation"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 8161317e462ef314"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "mlir::detail::RecoveryReproducerContext::disable()"
|
||||
moduleName = "MetalPerformanceShadersGraph"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 828784d99bad6ae0"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorAgent::disable()"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 967683c80b9dce9e"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorHeapAgent::disable()"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - cd5bfad5c8aeee3a"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::CSSBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - bdbf0b88b25b469e"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::HeapBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 85542e03c97c01e6"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorConsoleAgent::disable()"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 857aad0b240809f7"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorRuntimeAgent::disable()"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 2d2f59495c3d0981"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::PageBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d9cde3b9b7121035"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorDebuggerAgent::disable()"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - eed8ac847a5f32c5"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::CanvasBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 38a87677558165e6"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::MemoryBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 96600d06ed31cae7"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::WorkerBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - cdd446ee611a2418"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::BrowserBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 2e440a3055fc9c0b"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::ConsoleBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 186a11e142cbd812"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::NetworkBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - db22091c1bc17e18"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::RuntimeBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - fbc1d48d07dfa5eb"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::DatabaseBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 7c57e27b44f652fb"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::DebuggerBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 27046c19a97a5509"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::TimelineBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - b797ebcd9571a918"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::AnimationBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 84b9d847a79031b3"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::IndexedDBBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 2137b52e52f0ff23"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::InspectorBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d72751272d8e240d"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::LayerTreeBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 2ab60d2a9a68bcc5"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::DOMStorageBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - b9b7f049fa10dcec"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "Inspector::ApplicationCacheBackendDispatcher::disable(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::RawPtrTraits<WTF::JSONImpl::Object>, WTF::DefaultRefDerefTraits<WTF::JSONImpl::Object>>&&)"
|
||||
moduleName = "JavaScriptCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d3a893aeaaf3c28b"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorAnimationAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - a949ec4ea435cc7a"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorApplicationCacheAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 36bf44ff805607c6"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorCSSAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 49164f9d2becb770"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorCanvasAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - ccb876c591a27322"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorDOMDebuggerAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - cb7af1cf48b9bd95"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorDOMStorageAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 72a12f147e15fd37"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorDatabaseAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - c1952621536a962"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorIndexedDBAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 1599a24929736bbc"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorLayerTreeAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 153bb6c61d22e655"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorMemoryAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d475b09dd06fafc3"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorNetworkAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 4eb574206fee9793"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorPageAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - ab830f953a7e1f15"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorTimelineAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 82f5440257eb0352"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::InspectorWorkerAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - c8a3c6c8fc573a10"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::WebHeapAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 83764ad230ab9de3"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::PageDOMDebuggerAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 2e15aca6694be493"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::PageHeapAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 58f569529cc85606"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::PageRuntimeAgent::disable()"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 50676d4ed4d2ff6c"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::GraphicsContextGLANGLE::disable(unsigned int)"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 8fb25ebca0871f31"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[DMCTimerContext disable]"
|
||||
moduleName = "DMCUtilities"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 513abd42b1c9f029"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[VKTimer disable]"
|
||||
moduleName = "VectorKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 6f57e523b6694b1e"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "altitude::RoadRequestManager::disable()"
|
||||
moduleName = "VectorKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - edd82b192321ccd9"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "altitude::SkeletonRequestManager::disable()"
|
||||
moduleName = "VectorKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 66b15399bae67fdc"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[DADisableableObject disable]"
|
||||
moduleName = "DataAccessExpress"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 921ff423092fb558"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "kd_precinct_pointer_server::disable()"
|
||||
moduleName = "ImageIO"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 4db6a03f184a5171"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[MCTimerContext disable]"
|
||||
moduleName = "ManagedConfiguration"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 895c3b28d3b0be6b"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebCore::AudioNodeInput::disable(WebCore::AudioNodeOutput*)"
|
||||
moduleName = "WebCore"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 8e113a16851df014"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "SpectralOutput::disable()"
|
||||
moduleName = "ShazamKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 8a37ac5636f777a"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "+[SpeakCorrections disable]"
|
||||
moduleName = "AccessibilitySettingsLoader"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 6053f828b37b7463"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[AXMOutputManager disable]"
|
||||
moduleName = "AXMediaUtilities"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 4e7018357b464219"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebKit::JSWebExtensionAPIAction::disable(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)"
|
||||
moduleName = "WebKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - ed1dc064b7d56449"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebKit::InspectorBrowserAgent::disable()"
|
||||
moduleName = "WebKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 8c7ce8a2ca95b7c1"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebKit::RemoteGraphicsContextGLProxy::disable(unsigned int)"
|
||||
moduleName = "WebKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 85346bbe96bb9335"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "WebKit::WebExtensionAPIAction::disable(double, WTF::Ref<WebKit::WebExtensionCallbackHandler, WTF::RawPtrTraits<WebKit::WebExtensionCallbackHandler>, WTF::DefaultRefDerefTraits<WebKit::WebExtensionCallbackHandler>>&&, NSString* __autoreleasing*)"
|
||||
moduleName = "WebKit"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 5eb2eb549c2daff5"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[MSTimerGate disable]"
|
||||
moduleName = "CoreMediaStream"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d2467d35396f9097"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[SFExtensionWrapper disable]"
|
||||
moduleName = "MobileSafari"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 9361a2432fecca62"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[SFContentBlockerExtensionWrapper disable]"
|
||||
moduleName = "MobileSafari"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - d23dcba3d53d98ae"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[SFWebExtensionExtensionWrapper disable]"
|
||||
moduleName = "MobileSafari"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "A2F7727A-BA9E-4A62-BE81-62B5BB097DD3 - 1c348fa5c1f03ed0"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "-[WBSAppLink disable]"
|
||||
moduleName = "SafariSharedUI"
|
||||
usesParentBreakpointCondition = "Yes">
|
||||
</Location>
|
||||
</Locations>
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
</Breakpoints>
|
||||
</Bucket>
|
||||
|
||||
@@ -12,6 +12,8 @@ struct AddEventView: View {
|
||||
@ObservedObject var viewModel: EventViewModel
|
||||
|
||||
@Binding var eventName: String
|
||||
@Binding var eventComplete: Bool
|
||||
@Binding var eventCompleteDesc: String
|
||||
@Binding var eventSymbol: String
|
||||
@Binding var eventColor: Color
|
||||
@Binding var eventDescription: String
|
||||
@@ -123,6 +125,8 @@ struct AddEventView: View {
|
||||
Button {
|
||||
viewModel.addEvent(
|
||||
name: eventName,
|
||||
complete: eventComplete,
|
||||
completedDesc: eventCompleteDesc,
|
||||
symbol: eventSymbol,
|
||||
color: ColorCodable(eventColor),
|
||||
description: eventDescription,
|
||||
@@ -140,7 +144,7 @@ struct AddEventView: View {
|
||||
.disabled(eventName.isEmpty)
|
||||
if eventName.isEmpty {
|
||||
HStack {
|
||||
Image(systemName: "exclamationmark.circle")
|
||||
Image(systemName: "exclamationmark")
|
||||
.foregroundStyle(.red)
|
||||
Text("Give your event a name.")
|
||||
}
|
||||
@@ -207,6 +211,8 @@ struct MagicClearButton: View {
|
||||
AddEventView(
|
||||
viewModel: EventViewModel(),
|
||||
eventName: .constant("Birthday"),
|
||||
eventComplete: .constant(false),
|
||||
eventCompleteDesc: .constant(""),
|
||||
eventSymbol: .constant("star"),
|
||||
eventColor: .constant(Color.red),
|
||||
eventDescription: .constant("A very special day"),
|
||||
|
||||
@@ -15,6 +15,8 @@ enum Field {
|
||||
struct ContentView: View {
|
||||
@StateObject private var viewModel = EventViewModel()
|
||||
@State private var eventName = ""
|
||||
@State private var eventComplete = false
|
||||
@State private var eventCompleteDesc = ""
|
||||
@State private var eventSymbol = "star"
|
||||
@State private var eventColor: Color = [
|
||||
Color.red,
|
||||
@@ -119,6 +121,8 @@ struct ContentView: View {
|
||||
AddEventView(
|
||||
viewModel: viewModel,
|
||||
eventName: $eventName,
|
||||
eventComplete: $eventComplete,
|
||||
eventCompleteDesc: $eventCompleteDesc,
|
||||
eventSymbol: $eventSymbol,
|
||||
eventColor: $eventColor,
|
||||
eventDescription: $eventDescription,
|
||||
@@ -159,6 +163,7 @@ struct ContentView: View {
|
||||
struct EventListView: View {
|
||||
@StateObject var viewModel: EventViewModel
|
||||
@State var event: Event
|
||||
@State var opaity: Double = 1
|
||||
|
||||
var body: some View {
|
||||
NavigationLink() {
|
||||
@@ -170,18 +175,33 @@ struct EventListView: View {
|
||||
HStack {
|
||||
RoundedRectangle(cornerRadius: 5)
|
||||
.frame(width: 5)
|
||||
.foregroundStyle(event.color.color)
|
||||
.foregroundStyle(
|
||||
event.color.color.opacity(
|
||||
event.complete ? 0.5 : 1
|
||||
)
|
||||
)
|
||||
.padding(.leading, -10)
|
||||
.padding(.vertical, 5)
|
||||
.animation(.spring, value: event.complete)
|
||||
VStack(alignment: .leading) {
|
||||
HStack {
|
||||
Image(systemName: event.symbol)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 20, height: 20)
|
||||
.foregroundStyle(event.color.color)
|
||||
.foregroundStyle(
|
||||
event.color.color.opacity(
|
||||
event.complete ? 0.5 : 1
|
||||
)
|
||||
)
|
||||
.animation(.spring, value: event.complete)
|
||||
Text("\(event.name)")
|
||||
.font(.headline)
|
||||
.strikethrough(event.complete)
|
||||
// .foregroundStyle(
|
||||
// event.complete ? .gray : .primary
|
||||
// )
|
||||
.animation(.spring, value: event.complete)
|
||||
}
|
||||
if !event.description.isEmpty {
|
||||
Text(event.description)
|
||||
@@ -195,18 +215,63 @@ struct EventListView: View {
|
||||
)
|
||||
)
|
||||
.font(.subheadline)
|
||||
.foregroundColor(event.color.color)
|
||||
.foregroundStyle(
|
||||
event.color.color.opacity(
|
||||
event.complete ? 0.5 : 1
|
||||
)
|
||||
)
|
||||
.animation(.spring, value: event.complete)
|
||||
if event.recurrence != .none {
|
||||
Text("Recurring: \(event.recurrence.rawValue.capitalized)")
|
||||
Text("Recurs \(event.recurrence.rawValue)")
|
||||
.font(.subheadline)
|
||||
.foregroundStyle(
|
||||
.primary.opacity(
|
||||
event.complete ? 0.5 : 1
|
||||
)
|
||||
)
|
||||
.animation(.spring, value: event.complete)
|
||||
}
|
||||
}
|
||||
|
||||
Spacer()
|
||||
|
||||
VStack {
|
||||
Text("\(daysUntilEvent(event.date, short: false))")
|
||||
.font(.subheadline)
|
||||
.foregroundColor(event.color.color)
|
||||
.foregroundStyle(
|
||||
event.color.color.opacity(
|
||||
event.complete ? 0.5 : 1
|
||||
)
|
||||
)
|
||||
.animation(.spring, value: event.complete)
|
||||
}
|
||||
Button() {
|
||||
withAnimation(.spring) {
|
||||
event.complete.toggle()
|
||||
opaity = 0.5
|
||||
}
|
||||
viewModel.saveEvents()
|
||||
} label: {
|
||||
if event.complete {
|
||||
ZStack {
|
||||
Circle()
|
||||
.foregroundStyle(.green)
|
||||
Image(systemName: "checkmark")
|
||||
.resizable()
|
||||
.foregroundStyle(.white)
|
||||
.scaledToFit()
|
||||
.frame(width: 15)
|
||||
}
|
||||
} else {
|
||||
Image(systemName: "circle")
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.foregroundStyle(event.color.color)
|
||||
}
|
||||
}
|
||||
.buttonStyle(.borderless)
|
||||
.frame(maxWidth: 25, maxHeight: 25)
|
||||
.animation(.spring, value: event.complete)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -241,3 +306,20 @@ struct SearchHelp: View {
|
||||
#Preview {
|
||||
ContentView()
|
||||
}
|
||||
|
||||
#Preview("EventListView") {
|
||||
EventListView(
|
||||
viewModel: EventViewModel(),
|
||||
event: Event(
|
||||
name: "event",
|
||||
complete: false,
|
||||
completeDesc: "dofajiof",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.orange),
|
||||
description: "lksdjfakdflkasjlkjl",
|
||||
date: Date(),
|
||||
time: true,
|
||||
recurrence: .daily
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ struct EditEventView: View {
|
||||
@Binding var event: Event
|
||||
|
||||
@State private var eventName: String
|
||||
@State private var eventComplete: Bool
|
||||
@State private var eventCompleteDesc: String
|
||||
@State private var eventSymbol: String
|
||||
@State private var eventColor: Color
|
||||
@State private var eventDescription: String
|
||||
@@ -24,6 +26,8 @@ struct EditEventView: View {
|
||||
self.viewModel = viewModel
|
||||
_event = event
|
||||
_eventName = State(initialValue: event.wrappedValue.name)
|
||||
_eventComplete = State(initialValue: event.wrappedValue.complete)
|
||||
_eventCompleteDesc = State(initialValue: event.wrappedValue.completeDesc)
|
||||
_eventSymbol = State(initialValue: event.wrappedValue.symbol)
|
||||
_eventColor = State(initialValue: event.wrappedValue.color.color)
|
||||
_eventDescription = State(initialValue: event.wrappedValue.description)
|
||||
@@ -32,23 +36,7 @@ struct EditEventView: View {
|
||||
_eventRecurrence = State(initialValue: event.wrappedValue.recurrence)
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
// NavigationStack {
|
||||
AddEventView(
|
||||
viewModel: viewModel,
|
||||
eventName: $eventName,
|
||||
eventSymbol: $eventSymbol,
|
||||
eventColor: $eventColor,
|
||||
eventDescription: $eventDescription,
|
||||
eventDate: $eventDate,
|
||||
eventTime: $eventTime,
|
||||
eventRecurrence: $eventRecurrence,
|
||||
adding: false //bc we editing existing event
|
||||
)
|
||||
.navigationTitle("Edit Event")
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .topBarTrailing) {
|
||||
Button() {
|
||||
fileprivate func saveEdits() {
|
||||
event.name = eventName
|
||||
event.symbol = eventSymbol
|
||||
event.color = ColorCodable(eventColor)
|
||||
@@ -66,9 +54,32 @@ struct EditEventView: View {
|
||||
viewModel.saveEvents()
|
||||
|
||||
dismiss()
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
// NavigationStack {
|
||||
AddEventView(
|
||||
viewModel: viewModel,
|
||||
eventName: $eventName,
|
||||
eventComplete: $eventComplete,
|
||||
eventCompleteDesc: $eventCompleteDesc,
|
||||
eventSymbol: $eventSymbol,
|
||||
eventColor: $eventColor,
|
||||
eventDescription: $eventDescription,
|
||||
eventDate: $eventDate,
|
||||
eventTime: $eventTime,
|
||||
eventRecurrence: $eventRecurrence,
|
||||
adding: false //bc we editing existing event
|
||||
)
|
||||
.navigationTitle("Edit Event")
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .topBarTrailing) {
|
||||
Button() {
|
||||
saveEdits()
|
||||
} label: {
|
||||
Text("Done")
|
||||
}
|
||||
.disabled(eventName == "")
|
||||
}
|
||||
}
|
||||
// }
|
||||
@@ -81,6 +92,8 @@ struct EditEventView: View {
|
||||
event: .constant(
|
||||
Event(
|
||||
name: "Birthday",
|
||||
complete: false,
|
||||
completeDesc: "",
|
||||
symbol: "gear",
|
||||
color: ColorCodable(.red),
|
||||
description: "an event",
|
||||
|
||||
@@ -22,6 +22,8 @@ import WidgetKit
|
||||
struct Event: Identifiable, Codable {
|
||||
var id = UUID()
|
||||
var name: String
|
||||
var complete: Bool
|
||||
var completeDesc: String
|
||||
var symbol: String
|
||||
var color: ColorCodable
|
||||
var description: String
|
||||
@@ -65,7 +67,7 @@ struct ColorCodable: Codable {
|
||||
}
|
||||
}
|
||||
|
||||
func daysUntilEvent(_ eventDate: Date, short: Bool) -> String {
|
||||
func daysUntilEvent(_ eventDate: Date, short: Bool, sepLines: Bool = false) -> String {
|
||||
let calendar = Calendar.current
|
||||
let currentDate = Date()
|
||||
let components = calendar.dateComponents([.day], from: currentDate, to: eventDate)
|
||||
@@ -74,7 +76,7 @@ func daysUntilEvent(_ eventDate: Date, short: Bool) -> String {
|
||||
if short {
|
||||
return "\(days)d"
|
||||
} else {
|
||||
return "\(-days) day\(-days == 1 ? "" : "s") ago"
|
||||
return "\(-days)\(sepLines ? "\n" : " ")day\(-days == 1 ? "" : "s") ago"
|
||||
}
|
||||
}
|
||||
guard days != 0 else {
|
||||
@@ -83,7 +85,7 @@ func daysUntilEvent(_ eventDate: Date, short: Bool) -> String {
|
||||
if short {
|
||||
return "\(days)d"
|
||||
} else {
|
||||
return "\(days) day\(days == 1 ? "" : "s")"
|
||||
return "\(days)\(sepLines ? "\n" : " ")day\(days == 1 ? "" : "s")"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +158,8 @@ class EventViewModel: ObservableObject {
|
||||
|
||||
func addEvent(
|
||||
name: String,
|
||||
complete: Bool,
|
||||
completedDesc: String,
|
||||
symbol: String,
|
||||
color: ColorCodable,
|
||||
description: String,
|
||||
@@ -165,6 +169,8 @@ class EventViewModel: ObservableObject {
|
||||
) {
|
||||
let newEvent = Event(
|
||||
name: name,
|
||||
complete: complete,
|
||||
completeDesc: completedDesc,
|
||||
symbol: symbol,
|
||||
color: color,
|
||||
description: description,
|
||||
|
||||
@@ -109,6 +109,10 @@ struct SettingsView: View {
|
||||
Text("Import events")
|
||||
}
|
||||
|
||||
Section("Tip") {
|
||||
Text("Near Future has Widgets!")
|
||||
}
|
||||
|
||||
Section("Danger Zone") {
|
||||
Button("Delete local data", role: .destructive) {
|
||||
viewModel.dangerClearLocalData()
|
||||
|
||||
@@ -50,7 +50,7 @@ struct EventWidgetProvider: TimelineProvider {
|
||||
struct EventWidgetView: View {
|
||||
var entry: EventWidgetEntry
|
||||
@Environment(\.widgetFamily) var widgetFamily
|
||||
var showedEvents: Int {
|
||||
var showedEventsNum: Int {
|
||||
switch widgetFamily {
|
||||
case .systemSmall:
|
||||
return 3
|
||||
@@ -63,16 +63,34 @@ struct EventWidgetView: View {
|
||||
}
|
||||
}
|
||||
|
||||
let bgGradient = LinearGradient(
|
||||
gradient: Gradient(
|
||||
colors: [
|
||||
.black,
|
||||
.gray.opacity(0.2)
|
||||
]
|
||||
),
|
||||
startPoint: .bottom,
|
||||
endPoint: .top
|
||||
)
|
||||
|
||||
var body: some View {
|
||||
let isLarge = widgetFamily == .systemLarge
|
||||
let events = entry.events
|
||||
ZStack {
|
||||
bgGradient
|
||||
.padding(.top, 4)
|
||||
.padding(.horizontal, -50)
|
||||
.padding(.bottom, -100)
|
||||
VStack {
|
||||
Text("Upcoming Events")
|
||||
.font(.subheadline)
|
||||
Text("In the Near Future...")
|
||||
.foregroundStyle(.white)
|
||||
.font(.caption)
|
||||
.bold()
|
||||
.padding(.top, -12)
|
||||
// .padding(.bottom, -5)
|
||||
|
||||
ForEach(events.prefix(showedEvents), id: \.id) { event in
|
||||
ForEach(events.prefix(showedEventsNum), id: \.id) { event in
|
||||
if !event.complete {
|
||||
HStack {
|
||||
RoundedRectangle(cornerRadius: 5)
|
||||
.frame(width: 5)
|
||||
@@ -88,6 +106,7 @@ struct EventWidgetView: View {
|
||||
.frame(width: 15, height: 15)
|
||||
.foregroundStyle(event.color.color)
|
||||
Text("\(event.name)")
|
||||
.foregroundStyle(.white)
|
||||
.font(.footnote)
|
||||
.padding(.leading, -5)
|
||||
}
|
||||
@@ -106,6 +125,7 @@ struct EventWidgetView: View {
|
||||
}
|
||||
if event.recurrence != .none {
|
||||
Text("\(event.recurrence.rawValue.capitalized)")
|
||||
.foregroundStyle(.white)
|
||||
.font(.caption2)
|
||||
.padding(.top, -5)
|
||||
}
|
||||
@@ -114,30 +134,38 @@ struct EventWidgetView: View {
|
||||
|
||||
Spacer()
|
||||
|
||||
Text(daysUntilEvent(event.date, short: !isLarge))
|
||||
//short days till if not large widget
|
||||
Text(daysUntilEvent(event.date, short: !isLarge, sepLines: true))
|
||||
.font(.caption)
|
||||
.multilineTextAlignment(.trailing)
|
||||
.foregroundColor(event.color.color)
|
||||
.padding(.trailing, -12)
|
||||
}
|
||||
} else {
|
||||
/*@START_MENU_TOKEN@*/EmptyView()/*@END_MENU_TOKEN@*/
|
||||
}
|
||||
}
|
||||
Spacer()
|
||||
if showedEvents < events.count {
|
||||
let xMoreEvents = events.count - showedEvents
|
||||
if showedEventsNum < events.count {
|
||||
let xMoreEvents = events.count - showedEventsNum
|
||||
Text("+\(xMoreEvents) more event\(xMoreEvents == 1 ? "" : "s")")
|
||||
.font(.caption2)
|
||||
.foregroundStyle(.gray)
|
||||
// .foregroundStyle(.gray)
|
||||
.padding(.top, -5)
|
||||
.padding(.bottom, -15)
|
||||
}
|
||||
}
|
||||
.containerBackground(Color.widgetBackground, for: .widget)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct Widget_Previews: PreviewProvider {
|
||||
static var events = [
|
||||
Event(
|
||||
name: "Event Name",
|
||||
complete: false,
|
||||
completeDesc: "",
|
||||
symbol: "gear",
|
||||
color: ColorCodable(.blue),
|
||||
description: "Event description",
|
||||
@@ -146,36 +174,33 @@ struct Widget_Previews: PreviewProvider {
|
||||
recurrence: .yearly
|
||||
),
|
||||
Event(
|
||||
name: "A Day",
|
||||
name: "distant past",
|
||||
complete: false,
|
||||
completeDesc: "",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.orange),
|
||||
description: "description",
|
||||
date: Date.distantPast,
|
||||
time: false,
|
||||
recurrence: .daily
|
||||
),
|
||||
Event(
|
||||
name: "event",
|
||||
complete: false,
|
||||
completeDesc: "",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.purple),
|
||||
description: "description",
|
||||
date: Date(),
|
||||
time: false,
|
||||
recurrence: .daily
|
||||
),
|
||||
Event(
|
||||
name: "A Day",
|
||||
name: "An event",
|
||||
complete: false,
|
||||
completeDesc: "",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.orange),
|
||||
description: "description",
|
||||
date: Date(),
|
||||
time: false,
|
||||
recurrence: .daily
|
||||
),
|
||||
Event(
|
||||
name: "A Day",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.orange),
|
||||
description: "description",
|
||||
date: Date(),
|
||||
time: false,
|
||||
recurrence: .daily
|
||||
),
|
||||
Event(
|
||||
name: "A Day",
|
||||
symbol: "star",
|
||||
color: ColorCodable(.orange),
|
||||
color: ColorCodable(.green),
|
||||
description: "description",
|
||||
date: Date(),
|
||||
time: false,
|
||||
@@ -183,8 +208,10 @@ struct Widget_Previews: PreviewProvider {
|
||||
),
|
||||
Event(
|
||||
name: "time event",
|
||||
symbol: "",
|
||||
color: ColorCodable(.blue),
|
||||
complete: true,
|
||||
completeDesc: "",
|
||||
symbol: "clock",
|
||||
color: ColorCodable(.brown),
|
||||
description: "an event with a time",
|
||||
date: Date(),
|
||||
time: true,
|
||||
|
||||
Reference in New Issue
Block a user