From dd9f79e8c9418997cb5332fa5f94ad819613c4a2 Mon Sep 17 00:00:00 2001 From: dep Date: Thu, 2 Apr 2026 06:24:16 -0400 Subject: [PATCH 1/3] feat: add calendar sidebar pane with aggregated day views Adds a calendar widget to the left sidebar that provides an at-a-glance view of note activity and allows quick navigation to notes from specific dates. Features: - Calendar widget in left sidebar (top position by default) with month nav - Activity badges behind date numbers using logarithmic scaling (95th percentile reference to avoid outlier skew) - Today's date highlighted with accent color - Clicking a day opens current tab showing notes created/modified on that date - Tab titled with ISO date format (yyyy-MM-dd) - Two sections: Created and Modified, sorted newest-first - Deduplication: existing date tabs are focused instead of duplicated Technical: - CalendarDayActivityCalculator: logarithmic badge sizing with outlier protection - TabItem.date(Date): new enum case with displayName formatting - openDate(): opens in current tab vs openDateInNewTab() - 52 total tests covering calculator, filtering, and tab behavior Closes #196 --- macOS/Synapse.xcodeproj/project.pbxproj | 24 ++ macOS/Synapse/AppState.swift | 142 +++++++- .../CalendarDayActivityCalculator.swift | 121 +++++++ macOS/Synapse/CalendarPaneView.swift | 251 +++++++++++++ macOS/Synapse/ContentView.swift | 1 + macOS/Synapse/DatePageView.swift | 222 ++++++++++++ macOS/Synapse/SettingsManager.swift | 4 +- macOS/Synapse/SplitPaneEditorView.swift | 3 + .../AppStateDateFilteringTests.swift | 254 ++++++++++++++ macOS/SynapseTests/AppStateDateTabTests.swift | 249 +++++++++++++ .../CalendarDayActivityCalculatorTests.swift | 332 ++++++++++++++++++ .../SettingsManagerMovePaneItemTests.swift | 22 +- macOS/SynapseTests/SettingsManagerTests.swift | 4 +- .../SynapseTests/SidebarPaneTitleTests.swift | 8 +- 14 files changed, 1619 insertions(+), 18 deletions(-) create mode 100644 macOS/Synapse/CalendarDayActivityCalculator.swift create mode 100644 macOS/Synapse/CalendarPaneView.swift create mode 100644 macOS/Synapse/DatePageView.swift create mode 100644 macOS/SynapseTests/AppStateDateFilteringTests.swift create mode 100644 macOS/SynapseTests/AppStateDateTabTests.swift create mode 100644 macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift diff --git a/macOS/Synapse.xcodeproj/project.pbxproj b/macOS/Synapse.xcodeproj/project.pbxproj index 3120907..7c4808d 100644 --- a/macOS/Synapse.xcodeproj/project.pbxproj +++ b/macOS/Synapse.xcodeproj/project.pbxproj @@ -23,6 +23,7 @@ 149B715AD9DF9829286F386F /* GistPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F88EA4153C25D088562FAC1C /* GistPublisher.swift */; }; 1626A8B12BFDAD5B528B6ECA /* SidebarDragDropTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D6B6923B1814AF9178F7B51 /* SidebarDragDropTests.swift */; }; 168BD2D7D140EB2F1BC65CBC /* VaultIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49A381F0D18E754A88B51A80 /* VaultIndex.swift */; }; + 1A911A8A04B7386F14EFC000 /* DatePageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B15898506DA642E05E2E0704 /* DatePageView.swift */; }; 1B8470063FF3F149A02D581B /* AppConstantsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD119E93048F3C571E60BD8A /* AppConstantsTests.swift */; }; 1BC0B2F0938220AACB87EEE5 /* AppStateTagTabsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A798505F66B8166624E3427B /* AppStateTagTabsTests.swift */; }; 1DE02F37A58DEFD8A7517790 /* AppStateCloseTabAutoSaveTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5B2A3616AB5C3D1E0A2F97F /* AppStateCloseTabAutoSaveTests.swift */; }; @@ -48,6 +49,7 @@ 374896C6C09F48147147D1BD /* AppStateSplitPaneTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D4F955DD37FCF31EA4E20E7 /* AppStateSplitPaneTests.swift */; }; 37B5E15E3F64988C8315C4B2 /* ContentCacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2521831A835D4452BEFF98A /* ContentCacheTests.swift */; }; 37D9958A42C0B10CA58FF96E /* AppStateTagsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE1AEA1E774C98F1243030F5 /* AppStateTagsTests.swift */; }; + 37DD887F373E78B7A956950E /* AppStateDateTabTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 279485A9034A0683F711F6B3 /* AppStateDateTabTests.swift */; }; 3922732A4CB7398AD1BB100F /* MarkdownEditorInlineSemanticStylesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BACA7AE5D4E066C647E7063E /* MarkdownEditorInlineSemanticStylesTests.swift */; }; 399BAD4F8D874258D0F43EBB /* GlobalGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3CE451A43640282F817405D /* GlobalGraphView.swift */; }; 3A7ED42BFA879ABEA38CD06D /* Grape in Frameworks */ = {isa = PBXBuildFile; productRef = E3D1D630282C1FE7995BB335 /* Grape */; }; @@ -63,6 +65,7 @@ 452CC50BA74921E6D69CE307 /* CommandPaletteScoringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FAFBB2B334B2C5C148C42E6 /* CommandPaletteScoringTests.swift */; }; 45EBBE248217B2FE2005E428 /* AppStateDailyNotesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F7186E8801E8BC8BAA0678D /* AppStateDailyNotesTests.swift */; }; 49CFC13D35F5F772C572BA0F /* AppStateTemplateRenameTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3EB97BB362AAC57D3AF9F8E /* AppStateTemplateRenameTests.swift */; }; + 4A963D450EF3EA0CC87ECA01 /* CalendarDayActivityCalculatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A15F4D02024CEC0C6D118D0D /* CalendarDayActivityCalculatorTests.swift */; }; 4DCEA0C615CA64683100C661 /* TemplatesDirectoryUIBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47250559CE52FF1D2C46C549 /* TemplatesDirectoryUIBehaviorTests.swift */; }; 5027113BDFD3F4EFCBB359A4 /* FileTreeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9573DDE37ACEA626605DC7AF /* FileTreeView.swift */; }; 52E378E429A5FE561E26291E /* SearchIndexTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE3C045946343A8A05384584 /* SearchIndexTests.swift */; }; @@ -114,6 +117,7 @@ 897A06A0A6C817BE9AAAAA03 /* AppStateCommandPaletteGuardTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 147AFC9C373247489F744397 /* AppStateCommandPaletteGuardTests.swift */; }; 899061DD86BA4E4A6719C95B /* AppStateNavigationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6076EE60ED15C4BA9011BE7 /* AppStateNavigationTests.swift */; }; 89E3EA85538AA25FAAB34501 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = C4C7BBA308D786C6CE2F1328 /* SwiftTerm */; }; + 8AC37ADAD3179D24D35DBAB1 /* CalendarPaneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BAED87C130E2C30AE200FD /* CalendarPaneView.swift */; }; 8B53A015F2ED2112F0131B2B /* GitErrorHostnameExtractionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C248544EA6817276B7203C84 /* GitErrorHostnameExtractionTests.swift */; }; 8CBDA9B8ADE2DF2DA5C2C075 /* MarkdownPreviewRendererTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 533FB35FAD975DD196500CCA /* MarkdownPreviewRendererTests.swift */; }; 8DF6C8091C8EF8192BDDCDD1 /* CollapsibleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2378A288D2FE5AEAA19A8EA /* CollapsibleSection.swift */; }; @@ -138,6 +142,7 @@ 9C491E4C25AF389520BC1BD1 /* NoteGraphModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D419E073C2917DEE1A85E20 /* NoteGraphModelTests.swift */; }; 9E080881DF7B54EB62019205 /* KeyCodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716125BBC502DD8F555057F7 /* KeyCodeTests.swift */; }; 9E9FB2AC8B6C764F7F4DD366 /* AppStatePinnedFolderFocusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE443AECAB749CEBD9058E7C /* AppStatePinnedFolderFocusTests.swift */; }; + 9EC02229A8FFE70905BE9465 /* CalendarDayActivityCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 556021F9F9711240A933E0D0 /* CalendarDayActivityCalculator.swift */; }; A033139B390220EE576027A0 /* AppStateCurrentDirectoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A59692ED432DF0BD26FADE0 /* AppStateCurrentDirectoryTests.swift */; }; A0988EBDF1218D4D58E2B842 /* FontEnumeratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89A37B5687F020E8B15BBA70 /* FontEnumeratorTests.swift */; }; A3005E593A077EC5A3F1A612 /* MarkdownTaskCheckboxInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6300BFA84F1EDAD32147A4E2 /* MarkdownTaskCheckboxInteraction.swift */; }; @@ -183,6 +188,7 @@ DB7BB560268ADEDB34E2A56B /* AppStateRelatedLinksTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 272B2D760A5DF243524A2DF1 /* AppStateRelatedLinksTests.swift */; }; DBA2C58B64AA4C690BD3A4F3 /* SyntaxHighlightingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 318FE7CEE90A23A1237EF0F1 /* SyntaxHighlightingTests.swift */; }; DC6C566BCC20D6F619A926CB /* FileTreeSortingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BD983D6D3F278E0AD47E0D1 /* FileTreeSortingTests.swift */; }; + E02E616863B84EEFECF5DE5E /* AppStateDateFilteringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9C59A9091EA8E6FE3683544 /* AppStateDateFilteringTests.swift */; }; E0730BEEF94695E2F06AFE72 /* GraphNodeColorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55EAAB85AA800B037CDF588 /* GraphNodeColorTests.swift */; }; E08D238D2FCB17F5749FD3C1 /* AppStateCloneRepositoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E6A63BB6A6141AA83800A2E /* AppStateCloneRepositoryTests.swift */; }; E1BF2B6AC2C37076F6B646F1 /* GitignoreFileScanTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD8C8C252137B5144D88F2C /* GitignoreFileScanTests.swift */; }; @@ -247,6 +253,7 @@ 26693477A455D0812BEF659A /* SettingsManagerBrowserStartupURLTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsManagerBrowserStartupURLTests.swift; sourceTree = ""; }; 26C7B58403081D448E5999D8 /* AppStateTemplatesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateTemplatesTests.swift; sourceTree = ""; }; 272B2D760A5DF243524A2DF1 /* AppStateRelatedLinksTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateRelatedLinksTests.swift; sourceTree = ""; }; + 279485A9034A0683F711F6B3 /* AppStateDateTabTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateDateTabTests.swift; sourceTree = ""; }; 29CA9E8A87139F33100BCC83 /* CommandPaletteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandPaletteView.swift; sourceTree = ""; }; 2A6300042BEBE1EFB7DCA293 /* SettingsManagerThemeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsManagerThemeTests.swift; sourceTree = ""; }; 2ADBC72A6A85DB161568424D /* GraphPaneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphPaneView.swift; sourceTree = ""; }; @@ -282,6 +289,7 @@ 4E033CC3C89CE74D228468EF /* FileTreeDragDropTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileTreeDragDropTests.swift; sourceTree = ""; }; 533FB35FAD975DD196500CCA /* MarkdownPreviewRendererTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownPreviewRendererTests.swift; sourceTree = ""; }; 53D9D2ED28ABE373443038FE /* PullAndRefreshWIPAutoSaveTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PullAndRefreshWIPAutoSaveTests.swift; sourceTree = ""; }; + 556021F9F9711240A933E0D0 /* CalendarDayActivityCalculator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarDayActivityCalculator.swift; sourceTree = ""; }; 56691DF2CDDFA2DF5F263CF3 /* AppStateCoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateCoreTests.swift; sourceTree = ""; }; 575EBDEB0FCDE2BC05FFF26C /* MarkdownPreviewCSS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownPreviewCSS.swift; sourceTree = ""; }; 581F07CA2599C2ED63315D92 /* AppStateFolderOperationsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateFolderOperationsTests.swift; sourceTree = ""; }; @@ -329,6 +337,7 @@ 879B52DC9366FD1D0BA57D20 /* AppStateTemplateVariablesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateTemplateVariablesTests.swift; sourceTree = ""; }; 880F3BB5427731925CF20907 /* MarkdownEditorInlineSemanticStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownEditorInlineSemanticStyles.swift; sourceTree = ""; }; 89A37B5687F020E8B15BBA70 /* FontEnumeratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontEnumeratorTests.swift; sourceTree = ""; }; + 89BAED87C130E2C30AE200FD /* CalendarPaneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarPaneView.swift; sourceTree = ""; }; 8A03956EC9D388F74A50F6F3 /* ImageSidebarEmbedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageSidebarEmbedTests.swift; sourceTree = ""; }; 8B1F0DD61D59D79D8119FB6A /* InlineTagClickTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InlineTagClickTests.swift; sourceTree = ""; }; 8DC2A24B73EE5F6505170332 /* AppStateSettingsPropagationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateSettingsPropagationTests.swift; sourceTree = ""; }; @@ -349,6 +358,7 @@ 9D6B6923B1814AF9178F7B51 /* SidebarDragDropTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarDragDropTests.swift; sourceTree = ""; }; 9D9C3A2B05AAC380C1B9F486 /* GistPublisherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GistPublisherTests.swift; sourceTree = ""; }; A0F7229E12831164A430591D /* SettingsManagerFontSettingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsManagerFontSettingsTests.swift; sourceTree = ""; }; + A15F4D02024CEC0C6D118D0D /* CalendarDayActivityCalculatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarDayActivityCalculatorTests.swift; sourceTree = ""; }; A2378A288D2FE5AEAA19A8EA /* CollapsibleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleSection.swift; sourceTree = ""; }; A307C880E354FA57E8BFEB62 /* CollapsibleSectionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleSectionsTests.swift; sourceTree = ""; }; A4CC0773A494F79664F79AD7 /* SettingsManagerFileTreeModeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsManagerFileTreeModeTests.swift; sourceTree = ""; }; @@ -359,6 +369,7 @@ AC8CA87990A19BCF411A9424 /* ImagePasteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImagePasteTests.swift; sourceTree = ""; }; ACDCB904B2D9DC31F370D424 /* SynapseThemeLayoutConstantsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SynapseThemeLayoutConstantsTests.swift; sourceTree = ""; }; AF32B4A42DB4CCC2F89A19C2 /* GitAutoSaveTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitAutoSaveTests.swift; sourceTree = ""; }; + B15898506DA642E05E2E0704 /* DatePageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePageView.swift; sourceTree = ""; }; B27EA6038CE434E63D723B28 /* AppStateInactivePaneTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateInactivePaneTests.swift; sourceTree = ""; }; B2933BCDF0B2B56488D2D9F4 /* TerminalPaneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalPaneView.swift; sourceTree = ""; }; B36D775B1AD89841EFA0C7C7 /* MarkdownTablePrettifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownTablePrettifier.swift; sourceTree = ""; }; @@ -378,6 +389,7 @@ C55EAAB85AA800B037CDF588 /* GraphNodeColorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphNodeColorTests.swift; sourceTree = ""; }; C5928863F052D71F95DEA4C4 /* TaskListCheckboxInteractionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskListCheckboxInteractionTests.swift; sourceTree = ""; }; C5F2CB84A6974094C752A300 /* MarkdownTaskCheckboxMatchesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownTaskCheckboxMatchesTests.swift; sourceTree = ""; }; + C9C59A9091EA8E6FE3683544 /* AppStateDateFilteringTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateDateFilteringTests.swift; sourceTree = ""; }; CB3B1F42FA2D44B23BE869BF /* SidebarPaneItemCodableTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarPaneItemCodableTests.swift; sourceTree = ""; }; CB8BA24E7E55C8EF0A3530F0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; CC1886EC1E29B04F46A977BF /* AppStateTemplatesDirNormalizationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateTemplatesDirNormalizationTests.swift; sourceTree = ""; }; @@ -442,10 +454,13 @@ 2137851A65FC9A0A2599C8BE /* AppTheme.swift */, CB8BA24E7E55C8EF0A3530F0 /* Assets.xcassets */, 077732396E925C86B668C094 /* AutoUpdater.swift */, + 556021F9F9711240A933E0D0 /* CalendarDayActivityCalculator.swift */, + 89BAED87C130E2C30AE200FD /* CalendarPaneView.swift */, A2378A288D2FE5AEAA19A8EA /* CollapsibleSection.swift */, 29CA9E8A87139F33100BCC83 /* CommandPaletteView.swift */, 4A1C79B3232B98A6F756FE47 /* Constants.swift */, 45E413806B3F56C9791BDD79 /* ContentView.swift */, + B15898506DA642E05E2E0704 /* DatePageView.swift */, B916ADB0587845108BD3EF62 /* EditorModeToggle.swift */, CD24A6CF1D5D237DEE3390E6 /* EditorState.swift */, 6DF7018244BB6E635327C670 /* EditorView.swift */, @@ -513,6 +528,8 @@ 56691DF2CDDFA2DF5F263CF3 /* AppStateCoreTests.swift */, 7A59692ED432DF0BD26FADE0 /* AppStateCurrentDirectoryTests.swift */, 7F7186E8801E8BC8BAA0678D /* AppStateDailyNotesTests.swift */, + C9C59A9091EA8E6FE3683544 /* AppStateDateFilteringTests.swift */, + 279485A9034A0683F711F6B3 /* AppStateDateTabTests.swift */, F0B00871B184157E21F3C346 /* AppStateEditModeTests.swift */, 490C9CA7FD044A526559CA53 /* AppStateExitVaultFullTests.swift */, F2819956191CAC51CF76DAFA /* AppStateFileOperationsTests.swift */, @@ -549,6 +566,7 @@ BBB767AA001E28102BB91278 /* AsyncFileScanTests.swift */, 1F6B970F5933269DFCBB921C /* AutoUpdaterFetchTests.swift */, 0DE78783DAFB7D972767FA82 /* AutoUpdaterTests.swift */, + A15F4D02024CEC0C6D118D0D /* CalendarDayActivityCalculatorTests.swift */, 0A550D18D4F2CA38FCA1D0B8 /* CodeBlockCopyButtonTests.swift */, 71DDA03EE1F69F7782A6C13A /* CodeBlockLayoutTests.swift */, A307C880E354FA57E8BFEB62 /* CollapsibleSectionsTests.swift */, @@ -768,6 +786,8 @@ 716F196A70B019DB1125E38F /* AppStateCoreTests.swift in Sources */, A033139B390220EE576027A0 /* AppStateCurrentDirectoryTests.swift in Sources */, 45EBBE248217B2FE2005E428 /* AppStateDailyNotesTests.swift in Sources */, + E02E616863B84EEFECF5DE5E /* AppStateDateFilteringTests.swift in Sources */, + 37DD887F373E78B7A956950E /* AppStateDateTabTests.swift in Sources */, 3DF79EAA61F88614FB9F2F89 /* AppStateEditModeTests.swift in Sources */, 726A539D32A11574BB72A17D /* AppStateExitVaultFullTests.swift in Sources */, 61F38C954D4BD659595F04D8 /* AppStateFileOperationsTests.swift in Sources */, @@ -804,6 +824,7 @@ 895F0B858ADA0B50766DCA00 /* AsyncFileScanTests.swift in Sources */, C2CD6237CEEEBDC1FFBAB0BA /* AutoUpdaterFetchTests.swift in Sources */, AE9908CACA946E363AF49D5A /* AutoUpdaterTests.swift in Sources */, + 4A963D450EF3EA0CC87ECA01 /* CalendarDayActivityCalculatorTests.swift in Sources */, B87F1BB42DB175A44CDDAE72 /* CodeBlockCopyButtonTests.swift in Sources */, 6460A69C604E78BA3A371AE9 /* CodeBlockLayoutTests.swift in Sources */, E84D8DF773FF8BED5152D2BC /* CollapsibleSectionsTests.swift in Sources */, @@ -917,10 +938,13 @@ 879C70A3EEC9637B2E355681 /* AppState.swift in Sources */, 2251992111A29E18A3DBA6EC /* AppTheme.swift in Sources */, C1CD8FA28738B344240C177B /* AutoUpdater.swift in Sources */, + 9EC02229A8FFE70905BE9465 /* CalendarDayActivityCalculator.swift in Sources */, + 8AC37ADAD3179D24D35DBAB1 /* CalendarPaneView.swift in Sources */, 8DF6C8091C8EF8192BDDCDD1 /* CollapsibleSection.swift in Sources */, 59A6F7BB258D1FF977C53B25 /* CommandPaletteView.swift in Sources */, 95878F8A850A56ED9838178A /* Constants.swift in Sources */, 5705294841067700B4957F48 /* ContentView.swift in Sources */, + 1A911A8A04B7386F14EFC000 /* DatePageView.swift in Sources */, 0FC57BB32EFF6F4BE66FFA95 /* EditorModeToggle.swift in Sources */, E48F37F260D24AE089E48440 /* EditorState.swift in Sources */, 589CC9B2EF571DD4C8E39414 /* EditorView.swift in Sources */, diff --git a/macOS/Synapse/AppState.swift b/macOS/Synapse/AppState.swift index 5ea6f1f..9c83c08 100644 --- a/macOS/Synapse/AppState.swift +++ b/macOS/Synapse/AppState.swift @@ -62,11 +62,12 @@ struct TemplateRenameRequest: Identifiable { } // MARK: - Tab Item -/// Represents an item that can be displayed in a tab - either a file or a tag +/// Represents an item that can be displayed in a tab - either a file, tag, graph, or date view enum TabItem: Hashable { case file(URL) case tag(String) case graph + case date(Date) var displayName: String { switch self { @@ -76,6 +77,10 @@ enum TabItem: Hashable { return "#\(tagName)" case .graph: return "Graph" + case .date(let date): + let formatter = DateFormatter() + formatter.dateFormat = "yyyy-MM-dd" + return formatter.string(from: date) } } @@ -94,6 +99,11 @@ enum TabItem: Hashable { return false } + var isDate: Bool { + if case .date = self { return true } + return false + } + var fileURL: URL? { if case .file(let url) = self { return url } return nil @@ -103,6 +113,11 @@ enum TabItem: Hashable { if case .tag(let name) = self { return name } return nil } + + var dateValue: Date? { + if case .date(let date) = self { return date } + return nil + } } // MARK: - Split Pane @@ -701,6 +716,15 @@ class AppState: ObservableObject { pendingCursorRange = nil pendingScrollOffsetY = nil pendingCursorTargetPaneIndex = nil + case .date: + // Date tab - clear file state (date view shows note lists, not a single file) + selectedFile = nil + fileContent = "" + isDirty = false + stopWatching() + pendingCursorRange = nil + pendingScrollOffsetY = nil + pendingCursorTargetPaneIndex = nil } // Write runtime state file @@ -1230,6 +1254,58 @@ class AppState: ObservableObject { } } + /// Returns all notes created on a specific date. + /// Results are sorted descending by creation date (newest first). + func notesCreatedOnDate(_ date: Date) -> [URL] { + let calendar = Calendar.current + let targetDay = calendar.startOfDay(for: date) + + let matchingFiles = allFiles.filter { url in + guard let attributes = try? FileManager.default.attributesOfItem(atPath: url.path), + let creationDate = attributes[.creationDate] as? Date else { + return false + } + let fileDay = calendar.startOfDay(for: creationDate) + return fileDay == targetDay + } + + // Sort by creation date descending (newest first) + return matchingFiles.sorted { url1, url2 in + let date1 = (try? FileManager.default.attributesOfItem(atPath: url1.path)[.creationDate] as? Date) ?? Date.distantPast + let date2 = (try? FileManager.default.attributesOfItem(atPath: url2.path)[.creationDate] as? Date) ?? Date.distantPast + return date1 > date2 + } + } + + /// Returns all notes modified on a specific date (including notes modified after creation + /// on the same day they were created). + /// Results are sorted descending by modification date (newest first). + func notesModifiedOnDate(_ date: Date) -> [URL] { + let calendar = Calendar.current + let targetDay = calendar.startOfDay(for: date) + + let matchingFiles = allFiles.filter { url in + guard let attributes = try? FileManager.default.attributesOfItem(atPath: url.path), + let creationDate = attributes[.creationDate] as? Date, + let modificationDate = attributes[.modificationDate] as? Date else { + return false + } + + let modificationDay = calendar.startOfDay(for: modificationDate) + + // Only count if modified on target day AND modification time is strictly after creation + // This includes notes modified later on the same day they were created + return modificationDay == targetDay && modificationDate > creationDate + } + + // Sort by modification date descending (newest first) + return matchingFiles.sorted { url1, url2 in + let date1 = (try? FileManager.default.attributesOfItem(atPath: url1.path)[.modificationDate] as? Date) ?? Date.distantPast + let date2 = (try? FileManager.default.attributesOfItem(atPath: url2.path)[.modificationDate] as? Date) ?? Date.distantPast + return date1 > date2 + } + } + /// Returns the cached note title → URL index. /// Falls back to building from allFiles if the cache hasn't been populated yet /// (e.g. during the first launch before the scan completes). @@ -2576,6 +2652,70 @@ class AppState: ObservableObject { recordTabRecency(for: .tag(tag)) } + func openDate(_ date: Date) { + captureCurrentTabEditorState(in: activePaneIndex) + + // Normalize date to start of day for consistent comparison + let calendar = Calendar.current + let normalizedDate = calendar.startOfDay(for: date) + + // If this date is already open in a tab, just switch to it + if let existingIndex = tabs.firstIndex(of: .date(normalizedDate)) { + switchTab(to: existingIndex) + return + } + + // Replace current tab or add new tab if none exists + if let activeTabIndex = activeTabIndex, tabs.indices.contains(activeTabIndex) { + tabs[activeTabIndex] = .date(normalizedDate) + } else { + tabs.append(.date(normalizedDate)) + self.activeTabIndex = tabs.count - 1 + } + + // Clear file-related state since we're viewing a date + selectedFile = nil + fileContent = "" + isDirty = false + stopWatching() + pendingCursorRange = nil + pendingScrollOffsetY = nil + pendingCursorTargetPaneIndex = nil + + // Update recency + recordTabRecency(for: .date(normalizedDate)) + } + + func openDateInNewTab(_ date: Date) { + captureCurrentTabEditorState(in: activePaneIndex) + + // Normalize date to start of day for consistent comparison + let calendar = Calendar.current + let normalizedDate = calendar.startOfDay(for: date) + + // If date already open in a tab, just switch to it + if let existingIndex = tabs.firstIndex(of: .date(normalizedDate)) { + switchTab(to: existingIndex) + return + } + + // Add new date tab + tabs.append(.date(normalizedDate)) + activeTabIndex = tabs.count - 1 + + // Clear file-related state since we're viewing a date + selectedFile = nil + fileContent = "" + isDirty = false + stopWatching() + pendingCursorRange = nil + pendingScrollOffsetY = nil + pendingCursorTargetPaneIndex = nil + + // Update recency + recordTabRecency(for: .date(normalizedDate)) + } + func closeTab(at index: Int) { guard index >= 0 && index < tabs.count else { return } diff --git a/macOS/Synapse/CalendarDayActivityCalculator.swift b/macOS/Synapse/CalendarDayActivityCalculator.swift new file mode 100644 index 0000000..668ff5a --- /dev/null +++ b/macOS/Synapse/CalendarDayActivityCalculator.swift @@ -0,0 +1,121 @@ +import Foundation + +/// Calculates note activity levels for calendar days and computes badge sizes. +/// Badge sizes use logarithmic scaling to prevent outliers from skewing visibility. +struct CalendarDayActivityCalculator { + let calendar: Calendar + + init(calendar: Calendar = .current) { + self.calendar = calendar + } + + /// Returns the activity count (number of notes) for a specific date. + /// The date is normalized to the start of the day for consistent lookup. + func activityCount(for date: Date, in activityMap: [Date: Int]) -> Int { + let normalizedDate = calendar.startOfDay(for: date) + return activityMap[normalizedDate] ?? 0 + } + + /// Calculates the badge size for a specific date using logarithmic scaling. + /// This prevents one high-activity day from making all other badges tiny. + /// - Parameters: + /// - date: The date to calculate the badge size for + /// - activityMap: Map of normalized dates to activity counts + /// - maxSize: The maximum badge size (cap) + /// - minSize: The minimum badge size for any activity + /// - Returns: The calculated badge size + func badgeSize(for date: Date, in activityMap: [Date: Int], maxSize: CGFloat, minSize: CGFloat = 8) -> CGFloat { + guard !activityMap.isEmpty else { return 0 } + + let count = activityCount(for: date, in: activityMap) + guard count > 0 else { return 0 } + + // Use 95th percentile as the reference max to avoid outlier skew + let referenceMax = percentileActivity(in: activityMap, percentile: 0.95) + guard referenceMax > 0 else { return minSize } + + // Logarithmic scaling: log(count + 1) / log(referenceMax + 1) + // This gives better visual differentiation for low-to-moderate activity + let logCount = log(Double(count) + 1) + let logMax = log(Double(referenceMax) + 1) + let ratio = logCount / logMax + + // Scale between minSize and maxSize + let scaledSize = minSize + (maxSize - minSize) * CGFloat(ratio) + return min(scaledSize, maxSize) + } + + /// Returns the maximum activity count in the activity map. + func maxActivity(in activityMap: [Date: Int]) -> Int { + activityMap.values.max() ?? 0 + } + + /// Returns the activity count at a given percentile (0.0 to 1.0). + /// Used to find a reference max that isn't skewed by outliers. + func percentileActivity(in activityMap: [Date: Int], percentile: Double) -> Int { + let values = activityMap.values.sorted() + guard !values.isEmpty else { return 0 } + + let index = Int(Double(values.count - 1) * percentile) + return values[index] + } + + /// Filters the activity map to only include dates within the same month as the reference date. + /// All dates in the returned map are normalized to the start of their respective days. + func monthActivityMap(for referenceDate: Date, from activityMap: [Date: Int]) -> [Date: Int] { + let components = calendar.dateComponents([.year, .month], from: referenceDate) + + var result: [Date: Int] = [:] + for (date, count) in activityMap { + let dateComponents = calendar.dateComponents([.year, .month], from: date) + if dateComponents.year == components.year && dateComponents.month == components.month { + let normalizedDate = calendar.startOfDay(for: date) + result[normalizedDate] = count + } + } + + return result + } + + /// Builds an activity map from a collection of notes. + /// A note contributes to the activity count of: + /// - Its creation date day + /// - Its modification date day (if different from creation) + /// + /// The resulting map uses normalized dates (start of day) as keys. + func buildActivityMap(from notes: [T]) -> [Date: Int] { + var activityMap: [Date: Int] = [:] + + for note in notes { + let createdDay = calendar.startOfDay(for: note.created) + let modifiedDay = calendar.startOfDay(for: note.modified) + + // Always count the creation day + activityMap[createdDay, default: 0] += 1 + + // Count the modification day if different from creation + if modifiedDay != createdDay { + activityMap[modifiedDay, default: 0] += 1 + } + } + + return activityMap + } +} + +/// Protocol for objects that provide note activity information. +/// Used by CalendarDayActivityCalculator to build activity maps. +protocol NoteActivityProviding { + var url: URL { get } + var created: Date { get } + var modified: Date { get } +} + +// MARK: - URL Helpers + +extension URL { + /// Helper for creating file URLs with a more explicit label. + static func file(urlPath: String) -> URL { + URL(fileURLWithPath: urlPath) + } +} diff --git a/macOS/Synapse/CalendarPaneView.swift b/macOS/Synapse/CalendarPaneView.swift new file mode 100644 index 0000000..06f60b0 --- /dev/null +++ b/macOS/Synapse/CalendarPaneView.swift @@ -0,0 +1,251 @@ +import SwiftUI + +/// A calendar widget for the sidebar that shows note activity by day. +/// - Days with note activity show a badge behind the date number +/// - Badge size scales with activity level (number of notes created/modified) +/// - Today's date is highlighted with the accent color +/// - Clicking a day opens a tab showing notes from that day +struct CalendarPaneView: View { + @EnvironmentObject var appState: AppState + @EnvironmentObject var themeEnv: ThemeEnvironment + + @State private var currentMonth: Date = Date() + @State private var activityCalculator = CalendarDayActivityCalculator() + + private let calendar = Calendar.current + private let maxBadgeSize: CGFloat = 18 + private let minBadgeSize: CGFloat = 4 + + var body: some View { + VStack(spacing: 0) { + // Month navigation header + HStack { + Button(action: previousMonth) { + Image(systemName: "chevron.left") + .font(.system(size: 11, weight: .semibold)) + .foregroundStyle(SynapseTheme.textMuted) + } + .buttonStyle(.plain) + + Spacer() + + Text(monthYearString(from: currentMonth)) + .font(.system(size: 13, weight: .semibold, design: .rounded)) + .foregroundStyle(SynapseTheme.textPrimary) + + Spacer() + + Button(action: nextMonth) { + Image(systemName: "chevron.right") + .font(.system(size: 11, weight: .semibold)) + .foregroundStyle(SynapseTheme.textMuted) + } + .buttonStyle(.plain) + } + .padding(.horizontal, 12) + .padding(.vertical, 10) + + Divider() + .background(SynapseTheme.divider) + + // Day headers (Sun, Mon, Tue, etc.) + HStack(spacing: 0) { + ForEach(dayHeaders, id: \.self) { day in + Text(day) + .font(.system(size: 10, weight: .semibold)) + .foregroundStyle(SynapseTheme.textMuted) + .frame(maxWidth: .infinity) + } + } + .padding(.horizontal, 8) + .padding(.vertical, 6) + + // Calendar grid + LazyVGrid(columns: Array(repeating: GridItem(.flexible()), count: 7), spacing: 2) { + ForEach(daysInMonth, id: \.self) { date in + if let date = date { + DayCell( + date: date, + isToday: calendar.isDateInToday(date), + badgeSize: badgeSize(for: date), + isInCurrentMonth: calendar.isDate(date, equalTo: currentMonth, toGranularity: .month), + onTap: { selectDate(date) } + ) + } else { + // Empty cell for days outside current month + Color.clear + .frame(height: 28) + } + } + } + .padding(.horizontal, 8) + .padding(.bottom, 8) + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + .onAppear { + updateActivityMap() + } + .onChange(of: appState.allFiles) { _, _ in + updateActivityMap() + } + .onReceive(NotificationCenter.default.publisher(for: .filesDidChange)) { _ in + updateActivityMap() + } + } + + // MARK: - Activity Badge + + @State private var activityMap: [Date: Int] = [:] + + private func updateActivityMap() { + // Build activity map from all files + let notes = appState.allFiles.map { url in + NoteActivityInfo( + url: url, + created: (try? FileManager.default.attributesOfItem(atPath: url.path)[.creationDate] as? Date) ?? Date.distantPast, + modified: (try? FileManager.default.attributesOfItem(atPath: url.path)[.modificationDate] as? Date) ?? Date.distantPast + ) + } + activityMap = activityCalculator.buildActivityMap(from: notes) + } + + private func badgeSize(for date: Date) -> CGFloat { + // Use logarithmic scaling with minSize of 10 and maxSize of 22 + activityCalculator.badgeSize(for: date, in: activityMap, maxSize: 22, minSize: 10) + } + + // MARK: - Navigation + + private func previousMonth() { + currentMonth = calendar.date(byAdding: .month, value: -1, to: currentMonth) ?? currentMonth + } + + private func nextMonth() { + currentMonth = calendar.date(byAdding: .month, value: 1, to: currentMonth) ?? currentMonth + } + + private func selectDate(_ date: Date) { + appState.openDate(date) + } + + // MARK: - Date Helpers + + private var dayHeaders: [String] { + let formatter = DateFormatter() + formatter.locale = Locale.current + return formatter.veryShortWeekdaySymbols + } + + private func monthYearString(from date: Date) -> String { + let formatter = DateFormatter() + formatter.dateFormat = "MMMM yyyy" + return formatter.string(from: date) + } + + private var daysInMonth: [Date?] { + let interval = calendar.dateInterval(of: .month, for: currentMonth)! + let firstDayOfMonth = interval.start + + // Find the first Sunday on or before the first day of the month + let weekdayOffset = calendar.component(.weekday, from: firstDayOfMonth) - 1 + let firstVisibleDay = calendar.date(byAdding: .day, value: -weekdayOffset, to: firstDayOfMonth)! + + // Generate 42 days (6 weeks) + var days: [Date?] = [] + for i in 0..<42 { + let date = calendar.date(byAdding: .day, value: i, to: firstVisibleDay)! + // Only include dates that are in the current month or adjacent weeks + days.append(date) + } + + return days + } +} + +// MARK: - Day Cell + +private struct DayCell: View { + let date: Date + let isToday: Bool + let badgeSize: CGFloat + let isInCurrentMonth: Bool + let onTap: () -> Void + + @State private var isHovered = false + + private var dayNumber: Int { + Calendar.current.component(.day, from: date) + } + + private var hasActivity: Bool { + badgeSize > 0 + } + + var body: some View { + ZStack { + // Activity badge (behind the number) + if hasActivity { + ZStack { + // Outer glow + Circle() + .fill(SynapseTheme.accent.opacity(0.25)) + .frame(width: badgeSize + 4, height: badgeSize + 4) + + // Main badge + Circle() + .fill(SynapseTheme.accent.opacity(0.7)) + .frame(width: badgeSize, height: badgeSize) + } + } + + // Date number + Text("\(dayNumber)") + .font(.system(size: 12, weight: isToday ? .bold : .medium)) + .foregroundStyle(textColor) + } + .frame(height: 28) + .frame(maxWidth: .infinity) + .background(backgroundColor) + .clipShape(RoundedRectangle(cornerRadius: 4, style: .continuous)) + .contentShape(Rectangle()) + .onHover { hovering in + isHovered = hovering + if hovering { + NSCursor.pointingHand.push() + } else { + NSCursor.pop() + } + } + .onTapGesture { + onTap() + } + } + + private var textColor: Color { + if isToday { + return SynapseTheme.accent + } + if !isInCurrentMonth { + return SynapseTheme.textMuted.opacity(0.5) + } + return SynapseTheme.textPrimary + } + + private var backgroundColor: Color { + if isToday { + return SynapseTheme.accent.opacity(0.1) + } + if isHovered { + return SynapseTheme.row + } + return Color.clear + } +} + +// MARK: - Note Activity Info + +private struct NoteActivityInfo: NoteActivityProviding { + let url: URL + let created: Date + let modified: Date +} diff --git a/macOS/Synapse/ContentView.swift b/macOS/Synapse/ContentView.swift index 11536f3..f8bac98 100644 --- a/macOS/Synapse/ContentView.swift +++ b/macOS/Synapse/ContentView.swift @@ -1375,6 +1375,7 @@ struct SidebarPaneInContainer: View { case .builtIn(let builtInPane): switch builtInPane { case .files: FileTreeView(settings: settings) + case .calendar: CalendarPaneView() case .tags: TagsPaneView() case .links: RelatedLinksPaneView() case .terminal: TerminalPaneView() diff --git a/macOS/Synapse/DatePageView.swift b/macOS/Synapse/DatePageView.swift new file mode 100644 index 0000000..0e71058 --- /dev/null +++ b/macOS/Synapse/DatePageView.swift @@ -0,0 +1,222 @@ +import SwiftUI + +/// Displays notes created or modified on a specific date. +/// Shows two sections: Created and Modified, each sorted by date descending. +struct DatePageView: View { + @EnvironmentObject var appState: AppState + let date: Date + + private let calendar = Calendar.current + + private var createdNotes: [URL] { + appState.notesCreatedOnDate(date) + } + + private var modifiedNotes: [URL] { + appState.notesModifiedOnDate(date) + } + + private var dateTitle: String { + let formatter = DateFormatter() + formatter.dateFormat = "yyyy-MM-dd" + return formatter.string(from: date) + } + + private var dateSubtitle: String { + let formatter = DateFormatter() + formatter.dateStyle = .medium + return formatter.string(from: date) + } + + var body: some View { + VStack(alignment: .leading, spacing: 0) { + // Header + VStack(alignment: .leading, spacing: 8) { + HStack(alignment: .top) { + VStack(alignment: .leading, spacing: 4) { + HStack(spacing: 6) { + Image(systemName: "calendar") + .foregroundStyle(SynapseTheme.accent) + Text(dateTitle) + .font(.system(size: 22, weight: .bold, design: .rounded)) + .foregroundStyle(SynapseTheme.textPrimary) + } + + Text(dateSubtitle) + .font(.system(size: 12, weight: .medium, design: .rounded)) + .foregroundStyle(SynapseTheme.textMuted) + } + + Spacer() + + Button(action: { + if let index = appState.activeTabIndex { + appState.closeTab(at: index) + } + }) { + Image(systemName: "xmark") + .font(.system(size: 12, weight: .semibold)) + .foregroundStyle(SynapseTheme.textSecondary) + .frame(width: 28, height: 28) + .background(SynapseTheme.panel) + .clipShape(RoundedRectangle(cornerRadius: 6, style: .continuous)) + .overlay( + RoundedRectangle(cornerRadius: 6, style: .continuous) + .stroke(SynapseTheme.border, lineWidth: 1) + ) + } + .buttonStyle(.plain) + .help("Close date view") + } + } + .padding(.horizontal, 16) + .padding(.vertical, 12) + .background(SynapseTheme.panel) + + Rectangle() + .fill(SynapseTheme.border) + .frame(height: 1) + + // Content + if createdNotes.isEmpty && modifiedNotes.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("No notes") + .font(.system(size: 14, weight: .semibold, design: .rounded)) + .foregroundStyle(SynapseTheme.textPrimary) + Text("No notes were created or modified on this date.") + .font(.system(size: 12, weight: .medium, design: .rounded)) + .foregroundStyle(SynapseTheme.textMuted) + } + .padding(16) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + } else { + ScrollView { + VStack(alignment: .leading, spacing: 16) { + // Created section + if !createdNotes.isEmpty { + SectionHeader( + title: "Created", + count: createdNotes.count, + icon: "plus.circle.fill" + ) + + VStack(alignment: .leading, spacing: 8) { + ForEach(createdNotes, id: \.self) { url in + DatePageNoteRow(url: url, appState: appState) + } + } + } + + // Modified section + if !modifiedNotes.isEmpty { + SectionHeader( + title: "Modified", + count: modifiedNotes.count, + icon: "pencil.circle.fill" + ) + + VStack(alignment: .leading, spacing: 8) { + ForEach(modifiedNotes, id: \.self) { url in + DatePageNoteRow(url: url, appState: appState) + } + } + } + } + .padding(16) + } + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .background(SynapseTheme.editorShell) + } +} + +// MARK: - Section Header + +private struct SectionHeader: View { + let title: String + let count: Int + let icon: String + + var body: some View { + HStack(spacing: 6) { + Image(systemName: icon) + .font(.system(size: 14)) + .foregroundStyle(SynapseTheme.accent) + + Text(title) + .font(.system(size: 14, weight: .bold, design: .rounded)) + .foregroundStyle(SynapseTheme.textPrimary) + + Text("(\(count))") + .font(.system(size: 12, weight: .medium, design: .rounded)) + .foregroundStyle(SynapseTheme.textMuted) + + Spacer() + } + } +} + +// MARK: - Note Row + +struct DatePageNoteRow: View { + let url: URL + @ObservedObject var appState: AppState + @State private var isHovered = false + + var body: some View { + HStack(spacing: 10) { + Image(systemName: "doc.text") + .foregroundStyle(SynapseTheme.accent) + + VStack(alignment: .leading, spacing: 2) { + Text(url.deletingPathExtension().lastPathComponent) + .font(.system(size: 14, weight: .semibold, design: .rounded)) + .foregroundStyle(SynapseTheme.textPrimary) + .lineLimit(1) + Text(appState.relativePath(for: url)) + .font(.system(size: 11, weight: .medium, design: .rounded)) + .foregroundStyle(SynapseTheme.textMuted) + .lineLimit(1) + } + + Spacer() + + if isHovered { + Text("⌘+Click for new tab") + .font(.system(size: 10, weight: .medium, design: .rounded)) + .foregroundStyle(SynapseTheme.textMuted) + } + } + .padding(.horizontal, 12) + .padding(.vertical, 10) + .background { + RoundedRectangle(cornerRadius: 6, style: .continuous) + .fill(SynapseTheme.row) + .overlay { + RoundedRectangle(cornerRadius: 6, style: .continuous) + .stroke(SynapseTheme.rowBorder, lineWidth: 1) + } + } + .contentShape(Rectangle()) + .onHover { hovering in + isHovered = hovering + if hovering { + NSCursor.pointingHand.push() + } else { + NSCursor.pop() + } + } + .gesture( + DragGesture(minimumDistance: 0) + .onEnded { _ in + let isCommandPressed = NSEvent.modifierFlags.contains(.command) + if isCommandPressed { + appState.openFileInNewTab(url) + } else { + appState.openFile(url) + } + } + ) + } +} diff --git a/macOS/Synapse/SettingsManager.swift b/macOS/Synapse/SettingsManager.swift index 231ebf5..dab276d 100644 --- a/macOS/Synapse/SettingsManager.swift +++ b/macOS/Synapse/SettingsManager.swift @@ -4,6 +4,7 @@ import Yams enum SidebarPane: String, Codable, CaseIterable, Identifiable { case files = "files" + case calendar = "calendar" case tags = "tags" case links = "links" case terminal = "terminal" @@ -15,6 +16,7 @@ enum SidebarPane: String, Codable, CaseIterable, Identifiable { var title: String { switch self { case .files: return "Files" + case .calendar: return "Calendar" case .tags: return "Tags" case .links: return "Related" case .terminal: return "Terminal" @@ -199,7 +201,7 @@ enum FixedSidebar { static let right2ID = UUID(uuidString: "00000000-0000-0000-0000-000000000003")! static let all: [Sidebar] = [ - Sidebar(id: leftID, position: .left, panes: [.builtIn(.files), .builtIn(.links)]), + Sidebar(id: leftID, position: .left, panes: [.builtIn(.calendar), .builtIn(.files), .builtIn(.links)]), Sidebar(id: right1ID, position: .right, panes: [.builtIn(.terminal), .builtIn(.tags)]), Sidebar(id: right2ID, position: .right, panes: [.builtIn(.browser)]), ] diff --git a/macOS/Synapse/SplitPaneEditorView.swift b/macOS/Synapse/SplitPaneEditorView.swift index 5070289..ebd099e 100644 --- a/macOS/Synapse/SplitPaneEditorView.swift +++ b/macOS/Synapse/SplitPaneEditorView.swift @@ -167,6 +167,9 @@ func editorContent(for tab: TabItem?, paneIndex: Int) -> some View { } else if let tab, let tagName = tab.tagName { TagPageView(tag: tagName) .background(SynapseTheme.editorShell) + } else if let tab, let date = tab.dateValue { + DatePageView(date: date) + .background(SynapseTheme.editorShell) } else { EditorView(paneIndex: paneIndex) .background(SynapseTheme.editorShell) diff --git a/macOS/SynapseTests/AppStateDateFilteringTests.swift b/macOS/SynapseTests/AppStateDateFilteringTests.swift new file mode 100644 index 0000000..c0b90a3 --- /dev/null +++ b/macOS/SynapseTests/AppStateDateFilteringTests.swift @@ -0,0 +1,254 @@ +import XCTest +@testable import Synapse + +/// Tests for date-based note filtering: notesCreatedOnDate and notesModifiedOnDate +/// These functions are used by the calendar sidebar to show notes for a specific day. +final class AppStateDateFilteringTests: XCTestCase { + + var sut: AppState! + var tempDir: URL! + var calendar: Calendar! + + override func setUp() { + super.setUp() + sut = AppState() + calendar = Calendar.current + + // Create temp directory for test files + tempDir = FileManager.default.temporaryDirectory + .appendingPathComponent(UUID().uuidString, isDirectory: true) + try! FileManager.default.createDirectory(at: tempDir, withIntermediateDirectories: true) + + sut.rootURL = tempDir + } + + override func tearDown() { + try? FileManager.default.removeItem(at: tempDir) + sut = nil + super.tearDown() + } + + // MARK: - Helper Methods + + private func createNote(named name: String, created: Date, modified: Date? = nil) -> URL { + let fileURL = tempDir.appendingPathComponent("\(name).md") + let content = "Content for \(name)" + + // Write content + try! content.write(to: fileURL, atomically: true, encoding: .utf8) + + // Set creation date + let attributes: [FileAttributeKey: Any] = [ + .creationDate: created, + .modificationDate: modified ?? created + ] + try! FileManager.default.setAttributes(attributes, ofItemAtPath: fileURL.path) + + return fileURL + } + + private func date(year: Int, month: Int, day: Int, hour: Int = 12) -> Date { + var components = DateComponents() + components.year = year + components.month = month + components.day = day + components.hour = hour + components.minute = 0 + components.second = 0 + return calendar.date(from: components)! + } + + // MARK: - notesCreatedOnDate + + func test_notesCreatedOnDate_emptyVault_returnsEmpty() { + let targetDate = date(year: 2024, month: 1, day: 15) + + let notes = sut.notesCreatedOnDate(targetDate) + + XCTAssertTrue(notes.isEmpty) + } + + func test_notesCreatedOnDate_returnsNotesCreatedOnDate() { + let day1 = date(year: 2024, month: 1, day: 15) + let day2 = date(year: 2024, month: 1, day: 16) + + let note1 = createNote(named: "Note1", created: day1) + let note2 = createNote(named: "Note2", created: day2) + let note3 = createNote(named: "Note3", created: day1) + + // Refresh the file list so AppState knows about these files + sut.refreshAllFiles() + + let notes = sut.notesCreatedOnDate(day1) + + XCTAssertEqual(notes.count, 2) + XCTAssertTrue(notes.contains(note1)) + XCTAssertTrue(notes.contains(note3)) + XCTAssertFalse(notes.contains(note2)) + } + + func test_notesCreatedOnDate_differentTimesSameDay() { + let baseDate = date(year: 2024, month: 1, day: 15) + let morning = calendar.date(bySettingHour: 9, minute: 0, second: 0, of: baseDate)! + let evening = calendar.date(bySettingHour: 20, minute: 30, second: 0, of: baseDate)! + + let note1 = createNote(named: "MorningNote", created: morning) + let note2 = createNote(named: "EveningNote", created: evening) + + sut.refreshAllFiles() + + let notes = sut.notesCreatedOnDate(baseDate) + + XCTAssertEqual(notes.count, 2) + XCTAssertTrue(notes.contains(note1)) + XCTAssertTrue(notes.contains(note2)) + } + + func test_notesCreatedOnDate_noMatchingNotes() { + let day1 = date(year: 2024, month: 1, day: 15) + let day2 = date(year: 2024, month: 1, day: 16) + + createNote(named: "Note1", created: day1) + createNote(named: "Note2", created: day1) + + sut.refreshAllFiles() + + let notes = sut.notesCreatedOnDate(day2) + + XCTAssertTrue(notes.isEmpty) + } + + // MARK: - notesModifiedOnDate + + func test_notesModifiedOnDate_emptyVault_returnsEmpty() { + let targetDate = date(year: 2024, month: 1, day: 15) + + let notes = sut.notesModifiedOnDate(targetDate) + + XCTAssertTrue(notes.isEmpty) + } + + func test_notesModifiedOnDate_returnsNotesModifiedOnDate() { + let createdDate = date(year: 2024, month: 1, day: 10) + let modifiedDay1 = date(year: 2024, month: 1, day: 15) + let modifiedDay2 = date(year: 2024, month: 1, day: 16) + + let note1 = createNote(named: "Note1", created: createdDate, modified: modifiedDay1) + let note2 = createNote(named: "Note2", created: createdDate, modified: modifiedDay2) + let note3 = createNote(named: "Note3", created: createdDate, modified: modifiedDay1) + + sut.refreshAllFiles() + + let notes = sut.notesModifiedOnDate(modifiedDay1) + + XCTAssertEqual(notes.count, 2) + XCTAssertTrue(notes.contains(note1)) + XCTAssertTrue(notes.contains(note3)) + XCTAssertFalse(notes.contains(note2)) + } + + func test_notesModifiedOnDate_differentTimesSameDay() { + let createdDate = date(year: 2024, month: 1, day: 10) + let baseDate = date(year: 2024, month: 1, day: 15) + let morning = calendar.date(bySettingHour: 9, minute: 0, second: 0, of: baseDate)! + let evening = calendar.date(bySettingHour: 20, minute: 30, second: 0, of: baseDate)! + + let note1 = createNote(named: "MorningNote", created: createdDate, modified: morning) + let note2 = createNote(named: "EveningNote", created: createdDate, modified: evening) + + sut.refreshAllFiles() + + let notes = sut.notesModifiedOnDate(baseDate) + + XCTAssertEqual(notes.count, 2) + XCTAssertTrue(notes.contains(note1)) + XCTAssertTrue(notes.contains(note2)) + } + + func test_notesModifiedOnDate_notesNeverModified_excluded() { + let createdDate = date(year: 2024, month: 1, day: 10) + let modifiedDate = date(year: 2024, month: 1, day: 15) + + // Note1: created and modified on same day (never subsequently modified) + let note1 = createNote(named: "Note1", created: createdDate, modified: createdDate) + // Note2: created on day1, modified on day2 + let note2 = createNote(named: "Note2", created: createdDate, modified: modifiedDate) + + sut.refreshAllFiles() + + let notes = sut.notesModifiedOnDate(modifiedDate) + + // Only Note2 should appear (it was modified on modifiedDate) + XCTAssertEqual(notes.count, 1) + XCTAssertTrue(notes.contains(note2)) + XCTAssertFalse(notes.contains(note1)) + } + + func test_notesModifiedOnDate_createdAndModifiedSameDay_includesIfActuallyModified() { + let day1 = date(year: 2024, month: 1, day: 15) + + // Note created on day1 and modified later on day1 (different timestamp) + let morning = calendar.date(bySettingHour: 9, minute: 0, second: 0, of: day1)! + let afternoon = calendar.date(bySettingHour: 14, minute: 0, second: 0, of: day1)! + + let note1 = createNote(named: "Note1", created: morning, modified: afternoon) + + sut.refreshAllFiles() + + let notesDay1 = sut.notesModifiedOnDate(day1) + + // Should show in Modified because it was modified after creation (different timestamps) + XCTAssertEqual(notesDay1.count, 1) + XCTAssertTrue(notesDay1.contains(note1)) + } + + func test_notesModifiedOnDate_sameTimestampAsCreation_excluded() { + let day1 = date(year: 2024, month: 1, day: 15) + + // Note created and modified at exact same timestamp (never actually edited) + let note1 = createNote(named: "Note1", created: day1, modified: day1) + + sut.refreshAllFiles() + + let notesDay1 = sut.notesModifiedOnDate(day1) + + // Should NOT show in Modified because modification == creation + XCTAssertTrue(notesDay1.isEmpty) + } + + // MARK: - Combined Results + + func test_notesCreatedAndModifiedOnDate_sameNoteCanAppearInBoth() { + let createdDate = date(year: 2024, month: 1, day: 10) + let modifiedDate = date(year: 2024, month: 1, day: 15) + + let note = createNote(named: "Note1", created: createdDate, modified: modifiedDate) + + sut.refreshAllFiles() + + let createdNotes = sut.notesCreatedOnDate(createdDate) + let modifiedNotes = sut.notesModifiedOnDate(modifiedDate) + + // Same note can appear in both lists + XCTAssertTrue(createdNotes.contains(note)) + XCTAssertTrue(modifiedNotes.contains(note)) + } + + func test_resultsSortedDescendingByDate() { + let day1 = date(year: 2024, month: 1, day: 15, hour: 9) + let day1Later = date(year: 2024, month: 1, day: 15, hour: 14) + let day1EvenLater = date(year: 2024, month: 1, day: 15, hour: 20) + + let note1 = createNote(named: "Note1", created: day1) + let note2 = createNote(named: "Note2", created: day1Later) + let note3 = createNote(named: "Note3", created: day1EvenLater) + + sut.refreshAllFiles() + + let notes = sut.notesCreatedOnDate(day1) + + // Should be sorted descending by time (newest first) + XCTAssertEqual(notes.first, note3) + XCTAssertEqual(notes.last, note1) + } +} diff --git a/macOS/SynapseTests/AppStateDateTabTests.swift b/macOS/SynapseTests/AppStateDateTabTests.swift new file mode 100644 index 0000000..896a4e6 --- /dev/null +++ b/macOS/SynapseTests/AppStateDateTabTests.swift @@ -0,0 +1,249 @@ +import XCTest +@testable import Synapse + +/// Tests for date-based tab functionality: opening dates in new tabs. +/// Mirrors the pattern used for tags (openTagInNewTab). +final class AppStateDateTabTests: XCTestCase { + + var sut: AppState! + var tempDir: URL! + var calendar: Calendar! + var testDate: Date! + + override func setUp() { + super.setUp() + sut = AppState() + calendar = Calendar.current + + // Create a fixed test date: 2024-01-15 + var components = DateComponents() + components.year = 2024 + components.month = 1 + components.day = 15 + testDate = calendar.date(from: components) + + // Create temp directory + tempDir = FileManager.default.temporaryDirectory + .appendingPathComponent(UUID().uuidString, isDirectory: true) + try! FileManager.default.createDirectory(at: tempDir, withIntermediateDirectories: true) + + sut.rootURL = tempDir + } + + override func tearDown() { + try? FileManager.default.removeItem(at: tempDir) + sut = nil + super.tearDown() + } + + // MARK: - Opening Date Tabs + + func test_openDateInNewTab_withNoTabs_addsDateTab() { + sut.openDateInNewTab(testDate) + + XCTAssertEqual(sut.tabs.count, 1) + XCTAssertEqual(sut.tabs[0], .date(testDate)) + } + + func test_openDateInNewTab_setsActiveTabIndex() { + sut.openDateInNewTab(testDate) + + XCTAssertEqual(sut.activeTabIndex, 0) + } + + func test_openDateInNewTab_activeTabIsDate() { + sut.openDateInNewTab(testDate) + + XCTAssertTrue(sut.activeTab?.isDate == true) + XCTAssertEqual(sut.activeTab?.dateValue, testDate) + } + + func test_openDateInNewTab_clearsSelectedFile() { + // Create a file to open first + let fileURL = tempDir.appendingPathComponent("TestNote.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openFile(fileURL) + XCTAssertNotNil(sut.selectedFile) + + sut.openDateInNewTab(testDate) + + XCTAssertNil(sut.selectedFile) + } + + func test_openDateInNewTab_clearsFileContent() { + let fileURL = tempDir.appendingPathComponent("TestNote.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openFile(fileURL) + XCTAssertFalse(sut.fileContent.isEmpty) + + sut.openDateInNewTab(testDate) + + XCTAssertEqual(sut.fileContent, "") + } + + func test_openDateInNewTab_clearsDirtyFlag() { + let fileURL = tempDir.appendingPathComponent("TestNote.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openFile(fileURL) + sut.fileContent = "Unsaved edit" + sut.isDirty = true + + sut.openDateInNewTab(testDate) + + XCTAssertFalse(sut.isDirty) + } + + // MARK: - Deduplication + + func test_openDateInNewTab_whenAlreadyOpen_switchesToExistingTab() { + // Create a file first + let fileURL = tempDir.appendingPathComponent("Test.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openDateInNewTab(testDate) // tab 0 + sut.openFileInNewTab(fileURL) // tab 1 + + sut.switchTab(to: 0) // Go back to date tab + + sut.openDateInNewTab(testDate) // Should reuse, not create new + + XCTAssertEqual(sut.tabs.count, 2, "Should not add a second date tab") + XCTAssertEqual(sut.activeTabIndex, 0, "Should switch to the existing date tab") + XCTAssertEqual(sut.activeTab, .date(testDate)) + } + + func test_openDateInNewTab_differentDates_createSeparateTabs() { + let date1 = testDate! + let date2 = calendar.date(byAdding: .day, value: 1, to: date1)! + + sut.openDateInNewTab(date1) + sut.openDateInNewTab(date2) + + XCTAssertEqual(sut.tabs.count, 2) + XCTAssertEqual(sut.tabs[0], .date(date1)) + XCTAssertEqual(sut.tabs[1], .date(date2)) + } + + func test_openDateInNewTab_calledTwice_sameDate_onlyOneTabExists() { + sut.openDateInNewTab(testDate) + sut.openDateInNewTab(testDate) + + let dateTabCount = sut.tabs.filter { $0 == .date(testDate) }.count + XCTAssertEqual(dateTabCount, 1, "Only one date tab should ever exist for the same date") + } + + // MARK: - Date Tab with Other Tabs + + func test_openDateInNewTab_appendsAfterFileTabs() { + let fileURL = tempDir.appendingPathComponent("TestNote.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openFile(fileURL) + sut.openFileInNewTab(tempDir.appendingPathComponent("TestNote2.md")) + + sut.openDateInNewTab(testDate) + + XCTAssertEqual(sut.tabs.count, 3) + XCTAssertEqual(sut.tabs[2], .date(testDate)) + XCTAssertEqual(sut.activeTabIndex, 2) + } + + func test_openDateInNewTab_afterTagTab_appendsCorrectly() { + sut.openTagInNewTab("work") + + sut.openDateInNewTab(testDate) + + XCTAssertEqual(sut.tabs.count, 2) + XCTAssertEqual(sut.tabs[0], .tag("work")) + XCTAssertEqual(sut.tabs[1], .date(testDate)) + XCTAssertEqual(sut.activeTabIndex, 1) + } + + // MARK: - Closing and Reopening + + func test_closeDateTab_removesItFromTabs() { + let fileURL = tempDir.appendingPathComponent("TestNote.md") + try! "Content".write(to: fileURL, atomically: true, encoding: .utf8) + sut.refreshAllFiles() + + sut.openFile(fileURL) + sut.openDateInNewTab(testDate) // tab 1 + + sut.closeTab(at: 1) + + XCTAssertFalse(sut.tabs.contains(.date(testDate))) + XCTAssertEqual(sut.tabs.count, 1) + XCTAssertEqual(sut.activeTabIndex, 0) + } + + func test_openDateInNewTab_afterClosingPrevious_createsNewDateTab() { + sut.openDateInNewTab(testDate) + sut.closeTab(at: 0) + + sut.openDateInNewTab(testDate) + + XCTAssertTrue(sut.tabs.contains(.date(testDate))) + XCTAssertEqual(sut.activeTab, .date(testDate)) + } + + // MARK: - Tab Type Helpers + + func test_dateTabItem_isDate_returnsTrue() { + sut.openDateInNewTab(testDate) + XCTAssertTrue(sut.activeTab?.isDate == true) + } + + func test_dateTabItem_isFile_returnsFalse() { + sut.openDateInNewTab(testDate) + XCTAssertFalse(sut.activeTab?.isFile == true) + } + + func test_dateTabItem_isTag_returnsFalse() { + sut.openDateInNewTab(testDate) + XCTAssertFalse(sut.activeTab?.isTag == true) + } + + func test_dateTabItem_isGraph_returnsFalse() { + sut.openDateInNewTab(testDate) + XCTAssertFalse(sut.activeTab?.isGraph == true) + } + + func test_dateTabItem_displayName_isISOFormat() { + sut.openDateInNewTab(testDate) + XCTAssertEqual(sut.activeTab?.displayName, "2024-01-15") + } + + // MARK: - TabItem Equality + + func test_dateTabItem_equality_sameDate() { + let tab1 = TabItem.date(testDate) + let tab2 = TabItem.date(testDate) + + XCTAssertEqual(tab1, tab2) + } + + func test_dateTabItem_equality_differentDates() { + let date1 = testDate! + let date2 = calendar.date(byAdding: .day, value: 1, to: date1)! + + let tab1 = TabItem.date(date1) + let tab2 = TabItem.date(date2) + + XCTAssertNotEqual(tab1, tab2) + } + + func test_dateTabItem_hashValue_sameForSameDate() { + let tab1 = TabItem.date(testDate) + let tab2 = TabItem.date(testDate) + + XCTAssertEqual(tab1.hashValue, tab2.hashValue) + } +} diff --git a/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift b/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift new file mode 100644 index 0000000..2ced53a --- /dev/null +++ b/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift @@ -0,0 +1,332 @@ +import XCTest +@testable import Synapse + +/// Tests for the CalendarDayActivityCalculator which computes note activity counts per day +/// and calculates badge sizes for the calendar view. +/// +/// Badge sizing is based on the relative activity level (note count) for each day, +/// with a maximum cap to keep the calendar layout stable. +final class CalendarDayActivityCalculatorTests: XCTestCase { + + var sut: CalendarDayActivityCalculator! + var calendar: Calendar! + + override func setUp() { + super.setUp() + calendar = Calendar.current + sut = CalendarDayActivityCalculator(calendar: calendar) + } + + override func tearDown() { + sut = nil + calendar = nil + super.tearDown() + } + + // MARK: - Empty State + + func test_emptyActivityMap_returnsZeroForAllDays() { + let date = Date() + let count = sut.activityCount(for: date, in: [:]) + XCTAssertEqual(count, 0) + } + + func test_emptyActivityMap_badgeSizeIsZero() { + let date = Date() + let size = sut.badgeSize(for: date, in: [:], maxSize: 20) + XCTAssertEqual(size, 0) + } + + // MARK: - Activity Count + + func test_activityCount_returnsCorrectCountForDate() { + let date = Date(timeIntervalSince1970: 1_700_000_000) // Fixed date + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: date): 5 + ] + + let count = sut.activityCount(for: date, in: activityMap) + XCTAssertEqual(count, 5) + } + + func test_activityCount_differentTimesSameDay_returnSameCount() { + let baseDate = Date(timeIntervalSince1970: 1_700_000_000) + let morning = calendar.date(bySettingHour: 9, minute: 0, second: 0, of: baseDate)! + let evening = calendar.date(bySettingHour: 20, minute: 30, second: 0, of: baseDate)! + + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: baseDate): 3 + ] + + XCTAssertEqual(sut.activityCount(for: morning, in: activityMap), 3) + XCTAssertEqual(sut.activityCount(for: evening, in: activityMap), 3) + } + + func test_activityCount_differentDays_returnDifferentCounts() { + let day1 = Date(timeIntervalSince1970: 1_700_000_000) + let day2 = Date(timeIntervalSince1970: 1_700_086_400) // Next day + + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: day1): 3, + calendar.startOfDay(for: day2): 7 + ] + + XCTAssertEqual(sut.activityCount(for: day1, in: activityMap), 3) + XCTAssertEqual(sut.activityCount(for: day2, in: activityMap), 7) + } + + // MARK: - Badge Size Calculation + + func test_badgeSize_zeroActivity_returnsZero() { + let date = Date() + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: date): 0 + ] + + let size = sut.badgeSize(for: date, in: activityMap, maxSize: 20) + XCTAssertEqual(size, 0) + } + + func test_badgeSize_singleDay_returnsMaxSize() { + let date = Date() + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: date): 5 + ] + + let size = sut.badgeSize(for: date, in: activityMap, maxSize: 20) + XCTAssertEqual(size, 20) + } + + func test_badgeSize_proportionalToMaxActivity() { + let day1 = Date(timeIntervalSince1970: 1_700_000_000) + let day2 = Date(timeIntervalSince1970: 1_700_086_400) + let day3 = Date(timeIntervalSince1970: 1_700_172_800) + + // Day 2 has highest activity (10), so it should get close to max size + // Day 1 has 5, Day 3 has 2 + // With logarithmic scaling, differences are compressed + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: day1): 5, + calendar.startOfDay(for: day2): 10, + calendar.startOfDay(for: day3): 2 + ] + + let maxSize: CGFloat = 20.0 + let minSize: CGFloat = 8.0 + + let day2Size = sut.badgeSize(for: day2, in: activityMap, maxSize: maxSize, minSize: minSize) + let day1Size = sut.badgeSize(for: day1, in: activityMap, maxSize: maxSize, minSize: minSize) + let day3Size = sut.badgeSize(for: day3, in: activityMap, maxSize: maxSize, minSize: minSize) + + // Day 2 (highest) should be close to max + XCTAssertGreaterThan(day2Size, 15) + // Day 1 should be mid-range + XCTAssertGreaterThan(day1Size, day3Size) + XCTAssertLessThan(day1Size, day2Size) + // Day 3 should be at least minSize + XCTAssertGreaterThanOrEqual(day3Size, minSize) + } + + func test_badgeSize_respectsMaxSizeCap() { + let day1 = Date(timeIntervalSince1970: 1_700_000_000) + let day2 = Date(timeIntervalSince1970: 1_700_086_400) + + // Day 1 has 100 notes, Day 2 has 1 note + // With 95th percentile, the outlier shouldn't skew the small counts too much + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: day1): 100, + calendar.startOfDay(for: day2): 1 + ] + + let maxSize: CGFloat = 20.0 + let minSize: CGFloat = 8.0 + + let day1Size = sut.badgeSize(for: day1, in: activityMap, maxSize: maxSize, minSize: minSize) + let day2Size = sut.badgeSize(for: day2, in: activityMap, maxSize: maxSize, minSize: minSize) + + // Day 1 should be capped at maxSize + XCTAssertEqual(day1Size, maxSize, accuracy: 0.01) + // Day 2 should be at least minSize (outlier doesn't crush it) + XCTAssertGreaterThanOrEqual(day2Size, minSize) + } + + func test_badgeSize_logarithmicScalingCompressesOutliers() { + let day1 = Date(timeIntervalSince1970: 1_700_000_000) + let day2 = Date(timeIntervalSince1970: 1_700_086_400) + let day3 = Date(timeIntervalSince1970: 1_700_172_800) + + // One extreme outlier (100) and two normal days (3 and 5) + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: day1): 3, + calendar.startOfDay(for: day2): 5, + calendar.startOfDay(for: day3): 100 + ] + + let maxSize: CGFloat = 20.0 + let minSize: CGFloat = 8.0 + + let day1Size = sut.badgeSize(for: day1, in: activityMap, maxSize: maxSize, minSize: minSize) + let day2Size = sut.badgeSize(for: day2, in: activityMap, maxSize: maxSize, minSize: minSize) + + // With linear scaling, day1 would be 3/100 * 20 = 0.6 (invisible) + // With log scaling and 95th percentile, it should be much larger + XCTAssertGreaterThanOrEqual(day1Size, minSize) + XCTAssertGreaterThan(day2Size, day1Size) + } + + func test_percentileActivity_findsCorrectPercentile() { + let day1 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 1))! + let day2 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 2))! + let day3 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 3))! + let day4 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 4))! + let day5 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 5))! + + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: day1): 1, + calendar.startOfDay(for: day2): 2, + calendar.startOfDay(for: day3): 3, + calendar.startOfDay(for: day4): 4, + calendar.startOfDay(for: day5): 100 // Outlier + ] + + // 95th percentile should ignore the outlier and return 4 + let p95 = sut.percentileActivity(in: activityMap, percentile: 0.95) + XCTAssertEqual(p95, 4) + + // 100th percentile should return the max (100) + let p100 = sut.percentileActivity(in: activityMap, percentile: 1.0) + XCTAssertEqual(p100, 100) + } + + // MARK: - Month Activity Map + + func test_monthActivityMap_filtersToSpecificMonth() { + // January 2024 + let january2024 = DateComponents(year: 2024, month: 1, day: 15) + let januaryDate = calendar.date(from: january2024)! + + let activityMap: [Date: Int] = [ + calendar.date(from: DateComponents(year: 2024, month: 1, day: 5))!: 3, + calendar.date(from: DateComponents(year: 2024, month: 1, day: 15))!: 7, + calendar.date(from: DateComponents(year: 2024, month: 1, day: 28))!: 2, + calendar.date(from: DateComponents(year: 2024, month: 2, day: 1))!: 5, // February + calendar.date(from: DateComponents(year: 2023, month: 12, day: 31))!: 4 // December 2023 + ] + + let monthMap = sut.monthActivityMap(for: januaryDate, from: activityMap) + + XCTAssertEqual(monthMap.count, 3) + XCTAssertEqual(monthMap[calendar.date(from: DateComponents(year: 2024, month: 1, day: 5))!], 3) + XCTAssertEqual(monthMap[calendar.date(from: DateComponents(year: 2024, month: 1, day: 15))!], 7) + XCTAssertEqual(monthMap[calendar.date(from: DateComponents(year: 2024, month: 1, day: 28))!], 2) + } + + func test_monthActivityMap_normalizesDatesToStartOfDay() { + let january2024 = DateComponents(year: 2024, month: 1, day: 15) + let januaryDate = calendar.date(from: january2024)! + + // Activity map with non-normalized dates (has time components) + let morning = calendar.date(bySettingHour: 9, minute: 0, second: 0, of: januaryDate)! + let activityMap: [Date: Int] = [ + morning: 5 + ] + + let monthMap = sut.monthActivityMap(for: januaryDate, from: activityMap) + + // Should be accessible via startOfDay key + XCTAssertEqual(monthMap[calendar.startOfDay(for: januaryDate)], 5) + } + + // MARK: - Maximum Activity Calculation + + func test_maxActivityInMonth_returnsHighestCount() { + let baseDate = Date(timeIntervalSince1970: 1_700_000_000) + + let activityMap: [Date: Int] = [ + calendar.startOfDay(for: baseDate): 3, + calendar.date(byAdding: .day, value: 1, to: baseDate)!: 8, + calendar.date(byAdding: .day, value: 2, to: baseDate)!: 2 + ] + + let maxActivity = sut.maxActivity(in: activityMap) + XCTAssertEqual(maxActivity, 8) + } + + func test_maxActivity_emptyMap_returnsZero() { + let maxActivity = sut.maxActivity(in: [:]) + XCTAssertEqual(maxActivity, 0) + } + + // MARK: - Building Activity Map from Notes + + func test_buildActivityMapFromNotes_countsCreatedAndModified() { + let day1 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 15))! + let day2 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 16))! + + let note1 = NoteActivity( + url: URL(fileURLWithPath: "/test/note1.md"), + created: day1, + modified: day1 + ) + let note2 = NoteActivity( + url: URL(fileURLWithPath: "/test/note2.md"), + created: day1, + modified: day2 + ) + let note3 = NoteActivity( + url: URL(fileURLWithPath: "/test/note3.md"), + created: day2, + modified: day2 + ) + + let notes = [note1, note2, note3] + let activityMap = sut.buildActivityMap(from: notes) + + // Day 1: note1 (created + modified), note2 (created) = 2 notes + XCTAssertEqual(activityMap[calendar.startOfDay(for: day1)], 2) + // Day 2: note2 (modified), note3 (created + modified) = 2 notes + XCTAssertEqual(activityMap[calendar.startOfDay(for: day2)], 2) + } + + func test_buildActivityMapFromNotes_sameNoteMultipleDays() { + let day1 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 15))! + let day2 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 16))! + + // Same note created on day1 and modified on day2 + let note = NoteActivity( + url: URL(fileURLWithPath: "/test/note.md"), + created: day1, + modified: day2 + ) + + let activityMap = sut.buildActivityMap(from: [note]) + + // Should count on both days + XCTAssertEqual(activityMap[calendar.startOfDay(for: day1)], 1) + XCTAssertEqual(activityMap[calendar.startOfDay(for: day2)], 1) + } + + func test_buildActivityMapFromNotes_sameDayCreatedModified_countsOnce() { + let day1 = calendar.date(from: DateComponents(year: 2024, month: 1, day: 15))! + + let note = NoteActivity( + url: URL(fileURLWithPath: "/test/note.md"), + created: day1, + modified: day1 + ) + + let activityMap = sut.buildActivityMap(from: [note]) + + // Created and modified same day = count as 1 note + XCTAssertEqual(activityMap[calendar.startOfDay(for: day1)], 1) + } +} + +// MARK: - Test Helpers + +/// Represents a note's activity information for testing +struct NoteActivity: NoteActivityProviding { + let url: URL + let created: Date + let modified: Date +} diff --git a/macOS/SynapseTests/SettingsManagerMovePaneItemTests.swift b/macOS/SynapseTests/SettingsManagerMovePaneItemTests.swift index bbf0d15..f9aaa35 100644 --- a/macOS/SynapseTests/SettingsManagerMovePaneItemTests.swift +++ b/macOS/SynapseTests/SettingsManagerMovePaneItemTests.swift @@ -73,30 +73,30 @@ final class SettingsManagerMovePaneItemTests: XCTestCase { // MARK: - Same-sidebar moves (reordering) func test_movePaneItem_withinSameSidebar_movingDown_adjustsIndex() { - // left sidebar starts as [files, links]. - // Moving 'files' (index 0) to index 2 (after 'links') should produce [links, files]. - sut.movePaneItem(.builtIn(.files), toSidebar: FixedSidebar.leftID, at: 2) + // left sidebar starts as [calendar, files, links]. + // Moving 'files' (index 1) to index 3 (after 'links') should produce [calendar, links, files]. + sut.movePaneItem(.builtIn(.files), toSidebar: FixedSidebar.leftID, at: 3) let left = sut.sidebars.first { $0.id == FixedSidebar.leftID }! - XCTAssertEqual(left.panes.compactMap(\.builtInPane), [.links, .files], - "Moving down within same sidebar should correctly reorder to [links, files]") + XCTAssertEqual(left.panes.compactMap(\.builtInPane), [.calendar, .links, .files], + "Moving down within same sidebar should correctly reorder to [calendar, links, files]") } func test_movePaneItem_withinSameSidebar_movingUp_correctOrder() { - // left sidebar: [files, links]. - // Moving 'links' (index 1) to index 0 should produce [links, files]. + // left sidebar: [calendar, files, links]. + // Moving 'links' (index 2) to index 0 should produce [links, calendar, files]. sut.movePaneItem(.builtIn(.links), toSidebar: FixedSidebar.leftID, at: 0) let left = sut.sidebars.first { $0.id == FixedSidebar.leftID }! - XCTAssertEqual(left.panes.compactMap(\.builtInPane), [.links, .files], - "Moving up within same sidebar should produce [links, files]") + XCTAssertEqual(left.panes.compactMap(\.builtInPane), [.links, .calendar, .files], + "Moving up within same sidebar should produce [links, calendar, files]") } func test_movePaneItem_withinSameSidebar_sameSamePosition_noChange() { - // Moving 'files' to index 0 when it's already at index 0 should be a no-op. + // Moving 'calendar' to index 0 when it's already at index 0 should be a no-op. let before = sut.sidebars.first { $0.id == FixedSidebar.leftID }!.panes - sut.movePaneItem(.builtIn(.files), toSidebar: FixedSidebar.leftID, at: 0) + sut.movePaneItem(.builtIn(.calendar), toSidebar: FixedSidebar.leftID, at: 0) let after = sut.sidebars.first { $0.id == FixedSidebar.leftID }!.panes XCTAssertEqual(before, after, "Moving an item to its current position should be a no-op") diff --git a/macOS/SynapseTests/SettingsManagerTests.swift b/macOS/SynapseTests/SettingsManagerTests.swift index b298b1a..daaeca2 100644 --- a/macOS/SynapseTests/SettingsManagerTests.swift +++ b/macOS/SynapseTests/SettingsManagerTests.swift @@ -366,7 +366,9 @@ final class SettingsManagerTests: XCTestCase { func test_removePane_removesPaneFromSidebar() { sut.removePane(.links, fromSidebar: FixedSidebar.leftID) let left = sut.sidebars.first { $0.id == FixedSidebar.leftID } - XCTAssertEqual(left?.panes, [.builtIn(.files)]) + // Left sidebar now has [calendar, files, links] by default + // After removing links, should be [calendar, files] + XCTAssertEqual(left?.panes, [.builtIn(.calendar), .builtIn(.files)]) } func test_assignPane_movesPaneToAnotherSidebar() { diff --git a/macOS/SynapseTests/SidebarPaneTitleTests.swift b/macOS/SynapseTests/SidebarPaneTitleTests.swift index 006dee5..d838554 100644 --- a/macOS/SynapseTests/SidebarPaneTitleTests.swift +++ b/macOS/SynapseTests/SidebarPaneTitleTests.swift @@ -68,14 +68,14 @@ final class SidebarPaneTitleTests: XCTestCase { } } - // MARK: - CaseIterable — exactly 6 known cases + // MARK: - CaseIterable — exactly 7 known cases - func test_allCases_containsExactlySixCases() { - XCTAssertEqual(SidebarPane.allCases.count, 6) + func test_allCases_containsExactlySevenCases() { + XCTAssertEqual(SidebarPane.allCases.count, 7) } func test_allCases_containsAllExpectedValues() { - let expected: [SidebarPane] = [.files, .tags, .links, .terminal, .browser, .graph] + let expected: [SidebarPane] = [.files, .calendar, .tags, .links, .terminal, .browser, .graph] for pane in expected { XCTAssertTrue(SidebarPane.allCases.contains(pane), "allCases should contain .\(pane.rawValue)") From c3e7eda06b1d1231b53bcca983935e875ff9c103 Mon Sep 17 00:00:00 2001 From: dep Date: Thu, 2 Apr 2026 06:26:44 -0400 Subject: [PATCH 2/3] feat: marketing site update --- marketing-site/docs/images/calendar.png | Bin 0 -> 338514 bytes marketing-site/docs/index.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 marketing-site/docs/images/calendar.png diff --git a/marketing-site/docs/images/calendar.png b/marketing-site/docs/images/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..142403510d7050523d0826cd1380216f02933115 GIT binary patch literal 338514 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%0A2dd$ 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

-HxZZT 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 z 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�RG-B-KmSGdTqJK`bhd z(`g1^^|T(cFBo6-UEXl`s+|L0*<7lQsU`A*D1leH&Z;F4~zd zq!fuQU4npgcXvu7-6h?igrp!TCEeW(Do8h*2BmY;o90{Idp+meb3O0-{`dW(?)}@Y zHP>8YjydKS&+`nOo=$xKjmVe7{Nw|xVV+j9v(@2bPgeA|$E3(P9A<|_>P0~5Cv@JY zGh_HR=)O~Ak7W~N)$2tJ{2|Z#lYi9WbM+~gZ2?$kt#VVOfVp@0A*u+1mLou`znPM6 zgzJ6XrH~{SoL)uNaI@11J;veIW~emGHS^Sc*qWM*AK_XDAiFyji&r!i7WNl;k&l|) zc(%)&zPfGN*Jw6qFqx%-T{pU4IA#N)2_qyndq;}d%OvRf2XLW@4*Yx5<)vKW|O%v{88d zIDx9A7+o`Fi>_1mJ?amrt5eOKb8w6!3ZLKOueyOQok7Bj35S z7nB`BRlLoFRa`^$csXs~Sd>qdG+m!oF3{2*Kf*NittJqnMCs#~~(tj}!Ihxw6j zV$1>3;N*-8PFNBVg@tr!#W^ykCS_~JNgFz8{Up4k{b`jXQxCtTNzHQ8P%k3x;=iH! zfC&yP{l0dVa)D^*zZ@L-gva>}#Ux`D2z8oeP8INBXI(mvc${YxJD3WX>U_%wAl$>9!a7v__sWmwzFHBPh{5Lahp%v7&$q+l0;JW>eM-(LOA;lBe)H=pexEJ=Ll2iT>mY(|sR9(|*1N0SDR+t< z76D+F763XIjQk7s^OxF|=-Z$6bkl_-BMoqA)e#ak&$d`6Op-N65;hTI;0z2ze0+KE zZtwsJoK6;P8`n0!Q?Gtm>21MnLG!$J8N+{7$_|MF)oe-2kyx%4OLdNJNe127rLRBR zs>IA3Q*-yUeB9DL0Jh4f3eufzZYgX4Gj6l-@Md1GWk|x44goBn@}exw<83_!Mpu5+ z6M`ngK>ajGk-pRv!Q;mw028_a_x57ARGsy`>3q{f4TsP-?%12RXw=Qv20(F>po72Y zX??JaGi7~!JY08#KTZk`PP1Y***2KA*4ruersIZfE~gu5r<0u{5xn*~&0!KrB+cm7 zdv`EpB0T(t1(oj$`MJa)2F@)KI)Q3=1jlT_fHezpBPVO8>wNwG%&U$!)gG>DB!TPC z!u(J(K7GwR-)1W!{qEL8*`mGFd4g!akPbpu9Hd^+XmoVejU9pT5^( ze5rl1tG~B5>#~=ytNLzZ>$Y5Ru~`uJ7HBhfE%+)$jQB<2h>LT=arTNW;^Q6^{g^kl{x4(x{DYq0kOFrbg6hY zZSH@L7U-Lo8sT4M`3Tei$Z zK7+kuV`koU?)9UCO_|$&&2cAiwf$(j^df@YPvOX!;Tb#lnSOPbht+cY_*eAeG)2 zvz8+<@6|;ZaY>-8sZj~VV}gyIM$D|YM(b8Q)VqVPpPPHQ#$MyJ(M>sk~n#-|DKfbP=l4>K|2 zEWyx{(QFv8?>>Kscjk-5bCYy`*rGeVU@9F`UoQ6tby505hM!m$4YQ}3E8Ej$A30z{ zn?_2YKJ2DW=Ki|mYtE}z<#uVGDMJX;Azw&VO?3EIuRG(l5cHMkqMI@Ae0tyfXd34I z*CED9P|FadCUlE8h)1(fd5i&zI{uk%z4j-oVj6nCmyd6_Uv_5@-Cdn1VX4Gzz07~e zh*|6EW3jz6$Wt;Q>N)9x>6#Dm!8Y^HW&Zo=TOD;~8RKp7bgtK_T)Gjel;vW_`HtLV zwZsX2S@2b7t<}VK*(Ycv=S>kljQXh~;%V|WD@H2~eabZIx8%22PTEY!lwM4yUTFEu zhW%K?J}eq0Nu>i9ZwHk=hhD2vt?)N1HOIhf0R*C--~wqeM4Zg@vqsf#fYR2aoRb|= zCWRQo1K=>zL$Sodw1Y!SMA!osbX+Wb$*vL1MXg~thio$xVhhL`;%ZKUorSxD2W_XC z>%5SgEp%M%ms-OO!yp=O)X-^?jlQQ_2EObu;rGNb+Cmou%Jgf?^AjJ|=`+-r!WV=_ z);`H3+n^uI?J*En<)nj-o9_eQ6HB~sUO5^FhF`V!oYy(I(E`M#X`jc`4n(oDaO9ZBv-n-!%@Gxlm& zE;o-q!>Li&4y~Qwk z)1DQzIJ@J&Uaa9bkVWa|^! zo9~&z?Izu$7-wzYp>t^KUKnoJ4+!x*j>kX}?*Z1RYvASszu>J(j;r<#DIfBf`&)NS zxYl5SxfQ-0V$gQG+rCaoF_6>Wh^*l79PIZf{mf_ydwFFk@SX6lSpyA$_d*c1i2h^qBxGNp=&E&EG{2R?hvrS zS_+|ZWn6&Gs4yan1Pd`C=x+M`m^6QD=gImyUup8F+oGTU^|Q-;)RpxDzp+v%IHRau zbIj`H*(0X#bUm_KxeKHWCGeGmkw<3oOu?F92+T^gr-OQDZ)=KK=S4eFjL0>iRY& zbJ!$C`Gh3U>rv(S-MDd<8Hf~rE_0xmO}WuWIz}M36A|(_H0sv3`xLoZs$VlbeV3ff zAgx&*w5WH*X*Axa{u<6|rbvxeqvvuYj#|$0V8JvS4ieUeDJNPxMFn+zxi*`$W(Q|= z;n(~<>m(Xcy?DE@x6t(-`$y+4D464*G1#a~A0P~$u@2}r#R=ol+(^uc&a`e0 z@c0z~g=v}ho)@=h1Bh!LC+dN?P}i5CkK>RO+^?FzY%k0uI}=jQ^p=2R*&VmSZECDeFi5q zR3~%@1zm<+x}6Mh&AN9c?T}P^)aHX1#rUUoZM*<+6*T=|s5BjEa`{!2qzg}L z$AwPCaOiWqi{W6l2ODlJZu^rCG<5L7+w$IVfk0+3%&(TZZL_6E?0+i{qTp8Xj(t}n zqec7W_A-V>`&;CnVC@fe>f+*5@z)APS|en(Na{*W@cZ)xT;EqqI*|Z4U`)P};4Q!Y zkBF50y&;y(m8)9Z4ji%`)~l={42XmKvJ18@&N^Gol}~gMieuG=&!-I+B$>x9Z;UW* zee>Cc3@{q3<|W&FNPC@>1YR1fm?<>aFKY1jsN_g`Mz-yg8kR5Odi*$&nkn1fzX|o} zPZA?a!S5V+^HakOx_WPfPUc?n7?#SeWQ~>7em&vU=BEv#8VEm#KQKw$&3Y{jEahqp z5P)UTB&=W3>+j}O)eZRJj$CgSyP{}gsa+Y^$m7GEM?hD~3vW%m}=o|En zkYp$=e0tw@)T^U z;~5|^Buh|<4|z!L|Ms4YC+j(!41T1o3FGea#bf2}=Lx6J@9XUrB?0hUwWq@9NcW>i z5>`=q{>dMnaN`o_{0yB89=zVh!tKi6y2Ma4IJ9XyztSsHbtQN0f}~xaZS~5~&}dZ{ zhz%sMO!Vz+4Wx-kYKxi(kiLS!?8VtOUI9qV+0^!cV{0S9HKjXU)HQ#0ENH+r&San~ zW}G+BomcpK-zhl4TNn#`d|Sf!-TGR_6s2vzL4y(7By-Udmw`*?Z|>3wSRHu1Dg zDwvtaI%@372|j_=1Iunv(m^UVHrXM`qhqnsxUIJ|x#Q6_@!k=fS#4G(nCX-7+cUgK zBcCw`qZk2*`a7f}tieOyl`qI6Umo3`&p)bz0BoVYIW1f_M3Z;Qv~#J34Y5mj!DRq>RSf}XNDU(5;#hSw^$zpH{eCqs1J?)%yjBa1FDo{?2=1Z< zGS*Vb?T$V~LtA-jEJ~J|VB|(|e^YY~cIJNk~aG-Q@>aV9~+0 zd5U&1Oxt&>o&SE$t!4o6G@lcPb%a~(^Il^gE5GKZp&>R{ol$+I)j3tBowyZrqTn_n zWIm{^D{zt1Bn2zC6_|?IsmxOVA7|dTi{jDTkxGxnCN$mOT@zHr1YX$BJU`2R%+hzz zWD$E7#~m9A=#7lM(|;^|$)J&a8Dsg1@q>OKKK9GU+H@;1lBf%!ci&jXjzUY-j0o}< zI}}sczHZ14r*JVEnk<03O8Ee_0#DI*$@$Xm{Z4nE?*O?mF}cJU!xi3>OK1I{GI&58 zmSEi)XiVOb^|EI3LY2wZGdqWIqFmn_R4znABipus?#AR}*I820Ci&JAI`es21lj@1 zsQ3yRPHL3uv^zQo*o_Se5|$K$EB})2tdJAJU^UhM0g+)^&r8NQ8XhCCfa3iq1svCj zhZXj#IsBXRH*7TDD7eN|HYEga62(aEzZ4D=?cu&@u*d%9$Q6jb6@Bx>iX~ng%sJ$9 zNa9LxH<4fIU)<;7JHBSO2*8xKQff3ITWwm>>n-752(94{6{zdmld^Upvw?=w zW++PtpDHCk7fH`4n|V^H>4R%H{d@=hu5+nuUmLH{;UQ$B=B)j#o9BGYs6~S>wyVj( z?k&!lF=jTiix6w(0~P{pF2%2i>`H|&nMl?RX=@jJyMVYhJeHL(w_U$fJIqrOSHd4W z@aw*%+mr2lX(R9-VAGH{l-Mltb9`KLO`(@{Vrfa^^M_&T8n|2j+fzG^cN<|5uW7} zYg^7H?hOm6)8JX63fU|q76V9P{^^b;v6Y3`2lJ_Gr6iw^soR}T3*7qL^ z$u;ZNwT&NUZf#lCKg=xibC5jZ`7si_7Rs$JUGgQ@KOmG=J{C!{B=+--ZddI?&G4sp zC{!SR#@xIB(~|^C^jiIkMY3-W?l>Qp!eWKzSD7|<8-ui+bx8PjyX%BpXgKtQm3d?s zHrajqOcG`6fZl0CCzEs58(*7PY#v>?XZK$T4w8l~L9F!#M`ff@-p{y4BYxaM6lUtZkMp=&o8w8(YKAnvLdxNfe0 z?MLGKY<1uU>orifUv)c>yC1{e#%7NCsdMD^)^$}Aamry;-uNIOqv`T2SQ&W-E z_Bb`YUf`0?$&h-TwMHtJ1DUtZj2Mvh&VN*|8DZK@JdzHa6{`1&0TIq-tyYf*(J`JO zCd>yKRd|a`vi*m0hd}?nqM7hK*`)j&spvxO2;F*HrzqBBm8uROp6JA9h9V71ZbX>( zPLDJ;1x0q)!j%(P=j>b8pi5m8cJefNoG(Un4fEMSIPOUtGY;@np#+JR%0T~E5t z(ch~VRDYN&;$N8h^z0AL9y}%7*Rio2DK#J)`&*KUH0ycP6t4Lk!#C6@cdR! zLlNn^4%~xP2vJw6RH^VNV`n!pn9R8xmgEz-X?S0?N1%dc2?A>`qWj8cWIO&=ulSkj zI7AARmpCG)r9p7Jg|wd;`Ft*x~@M*NOV(nom;rzlojy zp$;BK3g=T?x$iB=ko%q%Z7!LP^PTYsT1RX=Q@5R@SEJEwD>P{1CHRqi8i;x~v-G80 z$7xWO&1!rZ(dKTU$%XONg--NlyJ_FU3Vqv&{3wazOabp`w}S^u5I{vT zCe<@)mMWhmzXMCe9ZE%ddH8?JTvH@t`3B@FF5IQ1ZoE*LV7Tt;p@ek9RIh==&a=3C zaBqb`rvbdMPVm-93VT7bkn@@}FF*_`rmVTCu^fAq2Zlc;Q|0V)WqIDZU$0vV(4-n` z&BcIWu+-p?|!|yDX6i{42Dwc(XqApU(Fm+WVG~We)HK|-2;jE@`dRiWFJsoj2XtXA#@_ZBidgX-v(=E@XWCI z0H;88U*(5@;+R)H<<(fhEeWJSRvtsK$m8h8PMAO7ZF7sctDssE3X*W@VeUGv^;3N+_?(b ztpN1CybRODRKTeM9B;54z*O2~z+431FuJsMCNzZbzdIid16`tX;=%0Mp5G zvs_=jQTbDV4yxSU;?qbCGG)qcbxQzh)c=a?4Ifi)%j<1fq1zV=s}sTpN#hZ0+An_1}DYLjd2(Xa-p@_LY<@ z)eF1Bc+Svqf5+GIz9Khl6HtyVCVYB#2^?();K~M)6_R;f8Cu#{l-{Bdm@*!}nrwEp ziNQpAfIV;waETb+qQxhlYtwD_m@%WXfOLSYYk|@>B2d=-!ufC{jmKnhg0^xl)E)U5 zkb9jjppT}OOO$_~IEFVW^oD%Y`9m9xr3{7xpjdu5!*>jxkOhqtgm8bn6B=jjhMfHY5m877gOwje$ zNBMxYqR~mO{OBi`oSo;hVS^1M&)@3?sntQ}qp z59H^&g2QN!0QduEeD&ld0MINVV64YyR!tV8;8)BH+7t2^H6briFA^0a^9eg%Q@|h( zJpSoba7aL24lyw?*yY(c9~95LnGi=}8Gb$1f3XSw`%5;mpNplH^*!NbSSRozEoaB` zNH%YEG(gk+ibV!(%@W7Ku_>%BH2Vux!A2=SyABEB=SBfF($W=2gDw^$3`u8&9zPk9 z04H;vUHDPg+qREVaJoGhZt!gPfGAx(5G3sJ>|ABEKx?J_WiWBdAggmxz&bAlh zGp=Fm_0H{jUx*vixjln;-FB=`3gHIk0O`LmCoJzOLRF@Kg#N zpL(smm)ib}y+ljLZAtpjx3tq`f$FkAK2@GQUuopSZK5PP=rKIJ_R(g4g52Avz)jML z61nDD78w)FeP=Zaxg^fM|2yLzD32WasmsXn&A+gfxZ-D^@FinZ;=t`h1ez0-Qa}fR zbU$ezP&p}yMaggmX*~naK&q#1UeYXygiV&dR9i;d#YHSl)T!G8y^mpOm(+xqq z*4_MtvZ8vAT-;9!RcgbILOQGczXfBf3ThGpExXjL4oOr>J)DTy)Y*%NxV(%OTc45A*V-mu} zW&e8tKtC%+fgJCIT$`X%Tak|Omleym?m{u=5(>(qTG`%NN zFIG=U<#13eNcNB%JO-GcK;KHwYTH@1ffC_cWX$BqC|VCnx_i`>q3w!5@>>DO`b<`vxfE-E z3eweCWamWOXLCK zJIONJetvzGfzCcygDWKGrFSeIxh^}`b)cFoxhkj))U*YUoMK6FOVw8JH z8uFBv_Z?Z|y}{M$NQWiRgy_ZTzWeqqZ0VC8k4sU^NB00g1rU%PT|PMDXKNTD6?OG;3bDGw`pjChY>ahm+OtvS&WN>|n1MD(7+D-{7l69+YYwml z5p+yF5>(lZ>F60%d>KK*_Iri){~XDF{xypPKlItO*F6_Ng%Zs7vt$N)!nZk)>mF*- zDK#we1}yq*s%Um~DGsJ`6stuL4ry>y;wU=2Y;=68OVyC8FE49Tjcm!1+<-@|d6yC~Wn=@`EmECtw~V z_>=L(0fG;r>-`C8Uj$LF_UG$soI9BShYB{)i(Q#E8~|L(gAw|d)l~c6Sy_>`H(B(u zfOZNhOuFkIs~wgFgF=65QrFKkBz^3ho~)|!_Ds`N?h5Klye?46+&I;)*UXdw$hB-G za7H6*V;p7rrL}#iu|4^>e8;XY}kld{%usiPM0Y<<%3X`XALO(;|{9e;< z)-FHgxE|9~=r=rF!;FkBFMVYTU1;JnlB>~mAeC0S-z9(Q@Pq+Tg!^LYseD+)1G(Fj zCRL_)$;ou<*&YyPzEA07w;&!Yw#VYlT=Y7%bU>UkoRADpAE|u+KIU)=exY5=Cq^PJ zF0O3sMjCT*tSF+5_Ol3sfous@|3w>(QhwqWZ4F zXX_RYXh>*lo9zb5Cc(1LGaS1*%yu=Hx9C`t)#U2bQS`H`MX3PAV0yw%4K8R-L+E^ajU$Z} zeiThyS@x$w!T-q%1A!wSMb>i64lHl>LGTO8D+DBhH@n$i%Rp0Yiq9HlfyIxZmQ3<)+Okk{bp zBlGfUi<4=Z$I&(voF8*=9btin)}JU;OY|zp+cH!KGE)wAe`4kG>*aKj;2lu)+I>fz$(7rIg6yr)(Cvs*2JuWEq6N-TZ&&35bl0YTv?gJd}u;3gSbCux4|* z90gTh(dk?-?PE`8~3Z2xa^I)BqJLWFN6 z`g*O>N;?$oBLUzE%Xr?$bI^jO{x%?+*4Fy*pgm)#^q9uh!SppN&HO{1!&krmXSxy<2RYA&>OyayU`d z^@X1(Seay6LZ>o6ex!Z7;Xem{%KF~Oe+tSkB@73Ti1R;x1kQo8M#RpV3I)lhHgl`A zDTue++l+IXxb&EoPLK6!S}YF85-rHlqlR0?IKsC4?4)e{ZgV2Q?S_u-Jb51&b6US#rVNa zR{b)HHFLJ+=Jn%SdbWy5>qNk8psOZ`r0|%gv;0P&-bsY*E75GA3Hn5h(40NanaJ;_ zq4I&{&43^Z$A9J`YU<%w!PM+5k7}$T_)Jw*z634kwr*W4A0`V;S>kI8{V+!z8?W|y zjT&4eR&snW;H{U|FI(WR7ds<#*dYjzQJr z*~B?hv3!3OVP88{bH3hi}EeZ;_&@518N%Tejvx&Xu;uxQ0y^WTAKa(q^RhO+GHdn zSwTycK=L+5f_uDm%iX}7^aiVT88`nc$uh3S<%cQqkUi zYML4K+YS1HC_`(dJ8i7v-P?DTS%ylL4$FQr3JM95m`~<1G69w}E@NZA2Sv)_bBVgbN1Z$M0xC-=A+RxAA>OJUW*!q%Im0K{}0KrZkCp%uFdWKK^8O-+g~+ zC}~M#{Y!ommPM?gQjw6 z0$mBbx6z5PCcd|1N_{VGSf6JTWVLRs)6&yxgFbVCP-YZiZI|eQdnd}SP$@(VrEwMg zoxx`vpjkqFo}C+>#Be#(#HU_%gYdNIYpV#NSVQ?j)aK17$+on>n7lNpFGl7*Hv-{1 zr?B|Q-PYBXrIH_}_;iKg$ocq`w`5TpXs*N`GQ2q6DASC2ZWEvhq#80ZXf9UAl~4*C z%iFZ{s#1yayjhRR5JXrogSP!iy5E-zsVlItv9&^lac{8}^mo0^ZGej&6ZuP-zG+rZ ze2T*kx=R1_*(Gbgd>T-YX{j`2JH1$)ej=!)?a2Qz?VSgURBb^z-&?eq;3~-DsD^RR-VA=#al(B3 zZb^TD1#@e2ex%WF7;s;o?B(<_|p5)E-$8= z)nQqduptd=utJ|BSRVmi;fmFTkzJhg4S{TK$=bm-R{2CMUT?ayh*NSGZyHOt$RRKy$ zenD#N#b^^?xT|(b`d%cqV?#)B@^?1!>$_KaS#zMo`^O~Yz1O7%q?!6p^tTxK_-KDv4KOO(aY}$`5Z@6`?{O^$%53mG|LSwU z4KoV5#F8(qhjvzXP#zD$g8h`%lA)+W&E3jmtVdmI6uAGhN&aDYS<|SK(pk&fmi>Od zDuCk))W#o$;}tp8ZavXs{|5*1udPm*Bk-ble|YJ4o8JF?r<@K#yed)q=<@U*w#mQ# z4`m5>(5(idsrzp>_dmw{>s1!31ql1QTDvg+KmC|aII9C-PDTHId;04j0)$=BaJDKG z?S|j}zx?t?Qj?#I{c?+6W7a9MvE9Rrdjkc{**EfxJP|yjDB?prJZgISF~mze>LrP@fkwewjkyR|QWa^*KMXt25zW$q z3VNBlpY(b~CJ)xh*2R~Oe1CF$LdC_UbbNf=x?aUEk|mS~6@>g6q${w54rpnqWq>yE zmuK9=_4Y#?9Tyv$HYE_y#Fd6_7h&6i#4bP5e@)4s#$0FxKP0&$t75J?q)2SRo=9VP zKK=y}*wP>FZ+-X}&&bo%#Jc=BQ@G>$%b)WysT%kO5pPXNvA$!=T3LverMKR8$_iNJ zzlq*}&2k@frzmr0rRA`{m75|TFK8&P}+vK6;sDId`9ta%N9<5 zSSfHBuO=TWG?ri9&sz3UMqi`Ao|P#0kIDVZ5)d9lw=Brtv&GyaN*3jlC6$E*v7K%DybfnfhJmgdX4OXotqe;BWFae$k1wZNU)7vyVn1%v=5 zyuFyO56L5lhBzpH-Plz`xHm_ZtxO9YO`+LuB3?)+6YQ_wSfPjT`-^^H&KeOp^DGo3 zn%c~{N_#?q2 zt7w)GA(R*LD^{#C01FBlJj8owS2DG*(5mAvp!d5e`}v(RF1#;uaog1yPmv%?RNX^w zEfO2|FR?&g`q{$aX*UGAqzxatBs;$nM; z9_jA~@>jDFCdC7f8ur@LCH>Yt{q?fIs%rq=4P^g%VCs*T^UuSXWCb=k*S!$u|G$U) zaQA%O$@MP-#eYCWODhL85XjSl8l1NQB39MbQ`Rpl9X~N?S1JRT5kuzU$w~FczB}~e zbv71Okn*y%O`>mreumlh`1*0*S|5-p&@EqmQz9rMBjY?SLn~d8Azuanja+Wxmi{rg2Kw;=vlUCqnN z%F>Q2aFE{NH7gSwF%BhVfZeZ?SuMBg7eQEE=ZKuIN!{hl&CQGE^*p*fooCJNDYvbx zo;J)j+m-NNZN(pt^=7`&gA#_62S}Grx=EYAT*t6m^rgGszT^aCi(ct# z5WV><_JrnU1CsRZE0G};eLkzC)%w{3hi}Vdo=kgz$Bv5;?<|2-ZZZuBnmJ^V;Ps+ph-nC6ct0R4WX^&8F(W)YM-y80K$|rRjB72Av9i zHrN6K048Ra&&=t311eIa^oG71V!-j(@YQ@tMZ4-9tU*hr4dI-c^Eo=PJa>-mFD-yv z&RF0%xCD0Gzhz5Ah}ltmFCKYIl)=()|6S7xXxjSir132vWb=MP@yWAH->as*2PU6m z9X-B${n|(A@2xz{?ORGkL)FL->H~F|F?Rlf8@wK|Z77>~`I(-Cngk}QYqRXJdgi!lI8_p*RT+**zt%PaJyYIzL*-T6ODf2#4*!PE|`!juV?0!JG=I?h~@^FAd z;;vl31(et;lXmmHUN^VlF$K60SQo^H?b{){!PqQ-v<$%z1CHJcgf4yeMY7h$@ssbz z7wgnS1CA4o-GJ;fD&zZ1El&4Jb|fiCikU9sc4FEVcNGz!E6IsW$_PxoDt=Ov;^ zIOPFVko~-7h~Y4YKzoO&xmmxRf1_Bw(tSTOnS0N+^Ywm%tdE`wpAP2v@?ne3di8++ z?y^F+3OUfGFk}}L-2%V^nr??%+OBF@Q|Nxy2VL}iTlcYqe6sd|NPk(-;iVZ(_qNk8 zj|Gyt@$f?CT1>+-{Sz)iO!lm<3);+!meZ}J#d*aikNHmzDVKcAXuF+QP8SL?{d9y0 zYQOhla@`ti4APSwtp12#js-f?^<4W<(NYie(PmPyw4cg$w*S-Q4m~Ov8Gb0g(Z7Pl z^uCb+bZe}+Sbs=4Mnv5T+RSt>zuD1BlCCiyqUy?(ay0{b+_1Us5ZNdGafAU2uK=y; zF_Zmo!V6l#9py7kE=hXci`LO}$|$?r1?-d?)Jd0B7Uq)YX^a0C$U0)dvj4rw#5Is&dNvu^rJ%HMYg+-N;E zuZLt?UArhaToxxfdc8P~vZ#n6u)n+|H=VDyGazui%J7CJB^h`O>rQ7&oK)Ua;YWLa zO4u2FdRTLmNo0tHdc4cY(s69avyq&$9@Z7QTl%c)x@o=jk7)WYTg#+kV0X9Z$;~sZ z*L3jd(XZ*FlO?a@Nyq~kP`84|5})ZH@(28^FE6-^7#6Ri7%{lqQ1hq$)Zi?(0-=a>G_&wVsiazd6CNB|J2EIed@lS1F{69j+&_JOSXa> zy?k!^3eHb?-*g9K3p~VGb3dB{`u=>Zh0d9@gDtjXTFLLo^{W zGBV(6s(w(=ua)+f)u-Hm_@Xm2KAy6#uMfB5x!0*wS~A`nv6Zh$28n>rlu>;ZXKH5A z_v5SF+P1|Vwa|SlCrRk$qyJ2vvJ}$Y`L`T4?{g9vMH$YQ0r_v`QxZ~B8327xbR6v_ z=L9aHFI=Xv%s$Xt>^+vq$!Pv1PU)#j5d@U}laX7sCC^QPYm{^>fwPDR zmJa~yaNAlJz(F%-$}{(yuOuG*I>rBG1%Q>^5syz!+9H6w1iD-=0W<)G2K5vr;`yJ! zKadM8NaL67iNUs&zxWb=f9Q9ls8GhzClhE@&xx3K2{W;qdBlw<9N!alTY}B&TX|&} zjOd?(D6pdMey5W9!d`W!>Ke973t(72=sB%VX<(g8&8;qZA0(0SN5Bi-mC#KtQxtFBX=6hHU|yXA~8p|4a-i+aN}h`F*&#RB}f~OyCH+Iq=47 zvyqmQgXJ%N*%R@=!SqdN`9+DffRhC}^SlJ=65mLrDvZJG;Jmkx>8$gvMfAFU26x?AB zl9ppU;DGLwLQ^IEH;47_B+L|(HVrPYD@}S8$1v2HN1=wBnbX%N-4PX!AZ2%7<$vqD zjNvg43vzQ2G0q-E4^WSiV@X5@{;|-NOAte_1VqVv4*mEN+e$8qr%Kinm+!lFhbjg* zEXnlZ;t{+rt|7Dqh~?;Y9sb^2`b$@qsTIm*u!F_pUcQ4ka=&D&-Gv-)_a@j?{E#0%pdmQr+f4k^j+XC)DFDVWE`x>3Ff?hiq$PE||%tVc))9zw(uOW5Anb zAsUdzPrT>9FMVyfy!4FWOyH}J8`<^sXHL5gb6Qk)#sgKQL9}1-;a`r4fy8*bYv2NB;J7vJUxqG>fl5U+mGq%!pIVUhd6pf^Vy*nMZzBnNi@Vf97XFjg7*9CW z@9w^dWs7KOO*_nhwG7TWs%^B4DjYDgP?GBH=EL%Bur&Z-O}t7ENO{~f3NUa6)l2|E zfedAyle+BUS1srhSd#Ua7R(Lkz))Rs!*M>*Go3w!B#xt#xw@qtY45FYPTLvFk%m|6vX>hl9oAQs zXa*u^P6F<5b0tDqxK|^qju%|+t4^+B4CG1@pS4{oXO4%gV*EK_!dcVkwWP=BR#Q-UZ_=h~_jm0|d;!dMSJLWG#S8dNKi_Mwlf@SD9||Z+ zB(KI-uOpC4DG`m{Qwd z(bj(DP574>;}7$iRDdVi!|t8J-NFu~==~#KvePJhvQ#j`sCU13Qhl&%A!c9~Z{I5$ zGXYH!c(NgLo1dQRS)oGHlgYwJyR5a^b!QUIqeJGm*O?bIm!%nD=wFQ-zQRyd2%|x;9llzx{KJMGl)Y4Gl=V7+OzJrAoTSWBDS{ zcZMC`|6KcuIL0kcO|)@G>&w=R=OQ@V&T%gz@PjbG5h9C?@yz1gP6q-4B-yPZ_UL1s z42hm^-&(Gum7 z@?_22VFrJ{WM_GiO9&cSb_1t7@6)>)u4o+Yea>_28rbD5V@O;HA3e(yT4hmxk?`hW zucHaHbAX_Dl8NcE_?W9-LkY+gcExU|A#=A9uDcsHcuRUNT#7Tp%Yh`+X6oxCnNQSW zNoITOqEXBrH$MM;fV0b2cBSf2%zn7!d1Z&X+kCIV3)=JFZI%(LtL#NZCx!3VF|mrD zp%tFcz`XZ^N*t^;m=c^Z)wA!Gx$CyUsoT5n&lA^Aulpkyfy%EBPVaUoYf`NWXabMq5x zcE@qm6YD3Gafiv8=cw!wz++AKp|axF$F_&=OA-)SaJiKs%Ubn2$!_V&WT^t|zE@kb z>X37vj(-3(5}!r)?^|f>Ti_Kb_>bT5V-z&LgiYMr55nr1K1wJ9Lx}1R9=`xZ8)YKN z;nYK&>}Su?_p@TUizl$q?ZbdQT^nv=wnm;sR&i&3I1(Qsy}vqZU9UWyYQ8dT5sZ&* zSL1x~f|i9`_dXn%3y%EX_g7(W`2-OnX}p>;yYbTaq3DXhmvqT#3C9I*z-sNdkHUt* zv4a1&Lep{LwFISKmhfw9FuXh;Saof(t5nlyw$s+>>rnNwG0(p<&}S#VUJb0AxNdF^ zL)djKRX65c5|F9;T(V#oHJI~S=6-Xax!VVn6wXt4iO1h-<2KI~uAx=!ZI^`Y`ux2m zxX1nr$i51^l$pZ7 z34q|nDOu>_9TG9%-?el65@$wEalq(hn^o~5c2FYPoRGybcH_(c`!}leVHcE zU&f)mB>l;t!lbz($-;6SDb8MD#L;9mM3c2-g$$X)8hbgLE?9COc2p~+q> znvVI5E^pxEQqMrt?xnmbzO3L(IE0Yzwg-I?`|Do#=?*iGUBb-`%sQJOtlI~*#UE1q zEa)&CCmkLh<`OJ*Pa5TLBdUf?@XcJ&D? z3pWqV5xGmNcF0y{(6AJdEH(Y(hzF=>H2Q_9fgg3Ulzk@M=0^%bL5YhZAJy9V8jNYy zT&ddB)E+szVNrmZ>D)+QehAccbd%V|Q?s!5)%qrh^C?gWi+3fz@#?p=EByR#>E-tH zf1EyKYCM_LvFye;;U9cB@8+>+TQzwZIixSi*2E+^DtOU!PPF5lgsM$~8X1WBv4D4? zQb#72N_dis1`~xZi(`C~I)oKYY5nfZ_K8yqgHll#sNqf#h^~?APd5KqME(3hUj2h! zF29?5c1Et#ff( z{CH5m{F>sxqH^J^>S9m1DwF*{O^lVTb*PvmV7e68p@<7tzHQtUZ?doxdmbxbbXP;8 z&}ppb-h%>D$kYAZfk(_1Qg=Z5k$ER_1@Dze@o>0gS`EOJ5d7Zv9cew%`X#XCan;RzXZ|? zau;pB8PBC5p1qLRH?NED%yb+oTLE#mE5>Y+ryFa%sn{dZYzj*bYzJPj@1_4PL~}6k zfCj+pH`7%=O;$dP+OCaIn@?lkosMv0f1;V7$DSH>iPmuIjY(d;;1j6_|8AlF+Jrw1 z{OH@$pi9yFjO*t|9U+Zj_}V_gdE69XoVYD%a8gG#qI`vJxN7sNva%y5H4p9B#qpmJ z;%CzN%NO!;02BbJzEjAr3u#rz4|bK8tR&gCkL9$?(+|nR5?G5*{_QXSZ82%Ofjiph zBGP~Q`G2_IbPdps>BpSpefH~ezwYaA4^Dob^uvk}=7s2=cba+h^W{se7EIE7%Cw2G zC5r3cYdbL4iO4wRo6a`tx3Yd`#eaN{R{-2*uiMhgpV$3dD1Y;2y;Xj)J?UX5T}V`1 zxzVxBCv-LES^u_8JlgBW=)Kq(|!C4sh>_dN$sohQg3MaF@>M7e*nYoJJc2NF!9j>n6gQ&zG9{;uG zK#sttwN43JIQ>_exlCnQQ~AzDQAq}mDO7(h^gnLnhk5aGfk&?GwDjkz){2Vb`iBkj zxUXVpRP&W9eaEGUf@=bEoZal zdHVR&_`$z+fiecrfj`xQy8A)pexd5(K-DA5dz*J-+D7dCaQ^u#hVpclmqQ z{Bu@-EE)KF>h>>pR+QECb6aly`7F|Jay)5a`D1fS;~jRr_jKMQRp)&g2+>rF<;FzB zynxV^?k`;9G@+XxH+ezNZhBEZAufpzieHHlNUHq$>G^T1mWcBfA63A=(`9`c(fRrO z30EziE{V=|_kyu-605bFm!zbOQeXt{R?%6wT95pqB9qA_(8Y-Xs$pNZu`sg*3k}&_ zD+ye;f;A9(yAI~yXjkTi^MQl5rA(#sC^x+J;Bf<&UBkhgWyEVhnNtOz<)s=7GjoZ> zA*JQ|b5BiDkL$wVxKf%L1LA2y0Q8rRrhKinzU&aR)#VBBy zh%$T%^1N1?&0#}xS))z=y;jJB?{$^cataYQZUGenXY}+eQ~aS=D@u;&gi1(FHG7yE zBABz}Zr>D8@3-GN(HK0+f$U;BeL68UX1T;ar;#O zO8p$lLn zW-=m>d=7QB+*xTKyG^7PYtk0obP)E?FCN(DM<)ikq3OsTD= zL9JJ@6Q)MApC=DukSgovw7Sim6<3XPTOPTu6v@oVbF&W7ryl9zSMGu}9rxcC7`9qhH&gW=|Fb4x%G^c@GMvz~F3=J=ISi%fX;Xx_9ojFt@{Os;k>O*SH7u?^2x| z{}R6*YMU=UrMI4*+P5MOPMfk2LvEdBWW3uoUQlA+l~l46B=^8=TLrSJ`Mj|408Hs@ z*USq3QO#EmxZW;h1MB0M03t-&Gkj9-he^t|cR+?=1^86s7HY=uD)NrgLV~Eb6+7;V z*%}hlx_wF2DMqK)Rw{6-r;2V;*lOJPM$UZQ>SdV7swmJa<~f${h0a?5eqi7bedi{-a~HVE2s6>?)MeJ1(Z(v_(eUN+^rxJ z1fIhmZ$^|Hvav9N2QHq{lrA>Z4nP#IETZ#<;m^3jp87YS!1S+X&g4I(eM@NlU^;8N%H_ef@K_jS!xQ@B}8uSkxIeC z75umI%tll2iM*zzEOwl9dLpz4M)hjqLLR&gU=EgR#Wscj)E9k2J_!FqzHJdlkI0CW z9nn~ni)c3Z5dtq2In`ZD`S1=k01rehYho=UI3fAZYxP!fE!KF^CN3OJ|#>9Tt zDSOT6YQKl^9(!^{oW0QVKZ~nJNXu2^gQ_LF{0f;h597%K(KoqWS*5dTD64?*Jy(G` z{mcXI?z{pQ(V;wAD|GcDI6n-YNE=-i6 z;N}=$EK-TQ>`obFc?;>k(#a+uBh#5>jJ0l7AhzM;Jrx)8S^$$fL#8n6VqXWfPi?Pu zj^ot_k(e@j9jU26wkL;sv^F_`>=0gIPbVURva{R{<_#NsCjErHeD1Jkee&?jfMQ>b zqfAo5w{vd%o&sPt>9$z17$lcz3jN$L6<|}^PTV^c#2J|mv9_BJUrvYVlLxL>Wj|^wGd3r7s@^Nab!VP+=B=?|7Yh1 zzv=YN-4eclTfrEOBv`QFmobi|0v$=>D1T?Svs8y+;&$EgxG`1rj4;4`d?uamUqOGZ z$!4yI-VhE7ISEQ9u+PV0pa0xIzr3E7I61C5TGpuB)@ASDQtxwl*oWs5f5t9(-QyjJ z5;~MPc5~<}#}GWXdZO1&qh%Rc=dpw=Ti1K$gC;L2efN{fmW9>Q_7STgL7pr_eZ|A& zc4=Vrrn+<7$<@TCwV~834n0TGv;4N1mT!(17>Oh9LiLGY)Bw@pN4QzW^lEd(ChJtwN#ZUxOpa~7khcuRjEUoT!EQJ$`GF#I-I0?5ZP$R*kh@d3G*;ZC zK5}gZ)A5vIbD14BGI2`|x_2i{tg0K;sb@wZ_P}-j?RFh6I#a=Tj!#$Ov#+4&SNIoD z)GEg`#@=t%i2T@e4kw%-UIqsGUY@X3W7Tq78T(Q=T5Oq3z2{QiXMLE_1f{v&#P>NN zJVFMqzn|c);4dP+ZA7+}xcg7De-4giZFX#@;%jP3yEL8R$lGsoDdc`qphdIEDRoj=IWuV zpcdINz;@7?RLQV>KP8I6MW@Iyai=b87S71TL6cI!7eweu`L?HuT*;XK8bo#oz)~Cd zp{hqg;>+A3-35Uipq$%`GuDXJ(UiH*trpMF&5DIA!qCemQF6kE#Z(ZNk@tgjU_|!`oqObug9>gB^^CnD=H# zf=Br{493Ysl$}oa;g!+WuevEONJ`%n?vua8T0Li*8*CrY+Ys-t+vDrpu2c5t`SGug z9A?6bb~eZBOd)d_(>WOtC94uM_4(Hf&W=<-ETLPA{w?v%B*5*64Rxm~dUk+0;iE4& zAR}d>370~y>kS31)Bk#%KX-LMPv8R0n$!)_Lyf1u@E%73=SNs!YZHwX4lHH9ogZFeEl6J*CK7fsn6U>JS+B|*tTk=`Z*7~&5Ji*oY$xQZ!7JCdjEpE+N8rTkFrNj};P+Ijqgqsz`FN)9V#(@jYZc3@-o z3);|kae_v?X1?ps*;GUnYs3n>j}+2tRIm0xsVCJzv&6tNejeI$RlA=L>$1>@E52nQ3)j4%agSf+6g_S~JS$$sac-OXej>zX}?`bc;A{qU(z zCT%5sPwZI^D#v|PK|`Jk=*!38xgDR?A53FBv9xx^-^@IV=Ec=4nIURvioxH&gy5XU za4|J6{IKnEH^az{iC$G9(eQv?r^&N0#wc(C@n)vSK`qmnW1G%&ntv;CtFr!kz?R1_ z#b=|PPlwBM1}U%i~2o!vH= zZOyEbc!MyXZpoM+a6QnEHp@|gLcm9D*%}^xRwNwBM>z5*t}8JYiKKoh^yXZ&fIQhc z%MQJ0M1tc%S^~MsV%=)j`&E_znZ>12t}p#}R@Z<=lp<6g@g0daTt6JAi%s6p2e>D#wh<$N7ph;=uUCl;H3etE(JX5v|!fT!9k53aV6bfwiA zdxSGVi2}VT#FckwFqS|mn)ZF2gl);8@fQajL_KgX6VH z-ISao`^Yj>=IDyKM@_OAzr^U64rJ(i2;tlge7CHxxvl@BPKPU#T(x@JR$;0hNEy!K zgy%^QC9ML)x_Z)Q`}Sw*$#5w({2T&C<+zHTG6Er8;i2)?DAuR$@NhByH*Er5UQobD ze^_p}|7=QE!U~uA;Za<=Zgk^)EaFi;KXC^|eh_34|L;yyVEn1Onwr~%!|cxn14{7U z2ThwnL!>xRpDAG5Bj?jII*KA&6x(Qq8MFh;lO14F40(cLS71M$|5JZZogBWCTw4lNqpiEM0NFG=XhaUp%`ixRYma zvF!cJ<8%m!NZM+MjYIs6N9mpdBaT21Q;u=@HM}rfJy~Ql$X}^!ZV0zh`YqzyI1rj~ zARDcL+<>c+;r4o)DH2Ca`z9B!(k8}y3lr{&Vlwq=wDIrWzv1gOhm=E+Jd zcil=qR9!YIGmgbuIgH)F;3!9#1@5P_{X1FHY9SX1$d`Ewa+P>duN9v$#1;j`bMC7~ z=6yW~>liFvrn}q-O&!m38SD^L%P@sGgfE2C@d}gTBkVnYov|c(}{F+k_F58IsAOq ziCa18;ip12&fJw33z&dJ%I?`oxjhv`eI4R-sa=0zr|^2>yIEE^3r=`KND^t&i4yAu z7?x8{vxw;Q;qzsM%JutpdhxIdr}6KiM~}|BS5Gcp6Ga5nFC-|j?s@kGloOWhu9~o3 zozprA@s(3`#!8pE7$oqtIcA3o`rwx==#ye%z{F*Xi(|GAP;i+YQT1`)$sfvT)^*P2 zT@3Ws!?x8gVg;37DSK?cd)F;TH8K(Sn|Jq20ld2#r!#P8)#<4Z1JGue&p!6OeoKCD zQj>TnX72Z-?=O$m>Wdw$l`LUP%F+>W)qZh;$90a| zPFO(1W&zK5xt*pR`iY)S5P}0KCi(8#B;V+$F?8NRo^Y_)mDe$^vXnv6{hk{H!>N=k zJtY3S#@#C{kL??u?s8QKK?1X0qSK1-N7#W}+}F;7`4v%}MsR{9t#Djml^aJw8kBAd zk0=bEp&buC_Q?@wQIkN_w~#|1@0zGjWE-A*UfwFQUFZNeS7$*Y&=~;8qZd_T@>uo zGc;u8>BO>|X|TdsKpQt1n2^s3m{``<31tzPdyGyp%ic<71-+ZO>pl#fp3DMV_p~UqrbBbbDBsMHI*0ED4I7ixkT+uSK2l2<_al)ROdU$ zjT_fU+`4g-PHNTuBer(#n`5=6PZX^ttMCZru6wDa8aGrG`=W(`dK{@Re+WfxB>alVe)U5H1EL6z>CK%TTDdZhdN&I!)3hx>)hBp{4IU`oFcy-T{nclvmhV(-Oa6Q8EZ;& z)w?2CSatr+U}5>2xH_S+?5L?1om|5rSAMh^#Dcn_W1?5-Mc6Zv2O<$-)A30W(0rvUCovO}H z8-;ayVB|B$NYm)n#^CtMh(gsx>jL|$X*>(6d8t|A=!X0(BXsd+P$lOpo$a{BdE-o5 z00~+Cs}xOv1D+Z8;c>tH{3OaAD(3b~AV>bFZOe;Acd&oYA!ENYSqd$=co20#!Ob)2 zV}nLKtSr0S84hO@NDQ^%?7r5yl_DZ>)qmGtM~~^MUUV##k8N<<*|e5{w1eu&7AVh- zJB_<~JDi#IfJ;aSm6htr({GDP5!f5Pdu@JhG%4(;ZHjl+oYv9SR-Wb$NCQ)mXMtG( z^mGpNY|{D>lDS^SJ{V21sYdG`!0QH6R9@4`cRmXr@$V*4GJ0-yB$zCN(wVGp4Od-W zJ{{nmyrn2dwla3VS`ec4KD7mOuiJKK&CD0J%j@Jupk@U>YWkX`?K`ot(+vX|W!s>A zp+MbP66HjQt(p5CIvr}?=afZO2g4vdw^>Z)yyHMCDcO|uei)lfv&hNT>*3e9y;22S zg08C1&FUb9%EGSF-dR9vmJd_mN(&U+e$yQebfspPqmQ%ViV$`lyRpyVieHkrZrwH; zbK};o$MB8K`#*Xf)1y^SjqEL-n$F5zuwSN(XFF7siRATqsVz>N%h2o~tF^Kpto`Uq zJd7+E70+_~C{_Hcjkrd=)AwZ`y0R};96j=c&_pjsGe--*x#`DURdCaWR&8HrYc|om z7(Ya-*Ap=H^^```Y3$G-xotrDc_+F1imG;Noa5G{+GdV4**jpeOP~AjP3j>jR1IS{H zSQ{7^{21Riszg6xB=h!_7|RYQK9fbfw;ytM@`gPMXE|thGYs0&l-YV))l6|*os&*| zwUG8YZqxnytIL$D7ZZmkK-Gn(xVH8Gujeb69~!#nt&Kl|eYK zhop3XSbvYw(Rps+&-3+aCkT>Vhx6G1VP{!<(I8UyqQD@g(u1U6h|eqgBN zT@hceM+yvwVNCH#qU$rI3ctMVpM9)cUWWSY==%lAG%M`vspfE>i3XCBsSHA?NhxZC z;GS<6TT#P8w4*p`^f#4rmp#qy)jU`pVDEb4s2!uRx5n9LnN!ZZ=zjl|0#Kp)g3BGb zvd7RD14baln@UP>H9r{GYHd}x|h`*(T*%-5sL);}8~T$EaWH^=jE~N%J0jYXB=O;+2;WGm{ihgMUXS$nw^2Yd{Yo zWWL;Zj@_j>L7cTfzy21$dwwEsN5ugGT;C}~)hseA4Gk$nS0S@YjZ$1FsW#PZQveZfO)vxyjaxK60e5wCC0nbaEg zF75Bfs%jP@v*#sgb6qfoOCJJP>1B5sKCH-%Q|^hn=DpWEG|`8y!)&!z9AnA!YT_xW z4XbZ?rH`2to`T53R3qUT-*u9A+WmX;JD*ZMS-U zdG`Z-OxavhM{D%uV1XeyfaLmgf8gVn`=+vz zT(&%*69lMrzw%|3<`f!<#ih+Da8ogp5i&|5FAEiQkg|l&a#NV?adG;j(N+MeH+VrO z@d=;Xvn7`lT(VjxelLZH3Y9cUr(qG%YEFe#;O3vim&rsW>IQ9s@xIXj!2W;@dY}xy z6AQCl{^BtZ6W4BFn|#4OymyHgN*^TX%&ZkS4|Wk26cm(Pqed1%c;R1DCx||hjeMOh=&9IJgvOpJv*U#xx_ITJBVFt=ZlR^5 z`^9S1D*K+;oV&!Qok5n$MT?8eo~ss(Hyv@G^HEIUoIF+o0^chS_bVad;I?@g|tuu=_F7;p@O;cIaHdz*rDQTpx6lYmUn?3Jmt{fn7bLy_KqAp^N@c| z0$1f@N+hUvVkHorSU&540W-P36VlV10`0sW7@k7KQsd$dt6%OI`mH_bl9(O3roCmA z*sP-yyg-(d8#}@_$1b{X+k2uODi9<~F7LQzLw{pqa>=44M$<-T?=xT_8$5Tq67p(AH^`!Js5{F|t$ndvrK@$rW~BYu+t zgTbGO+mV;8{B@@&#+vRACd9&W3nAe%jKaRGtfr&fT9iDr~)Rmfq;Ae8Lvc~bI z(H`}|&0XNU6Hzug=Sl)9dQLIWCviTX3@dK6gs{u`*A{F^t=3vzmnq1%){}St9lYow z&kr)H^29GjrZ9}CX_Q%C8YL5ie8R_RUb6G(+CCP0nqdkJE%oV43^3VGOd-s^d*abh z5-L=a20(_;l`2zz>Z~rouW%`cJu{fZ##f8SEz6bOp*TYTmb;Lr$CN4sKxhEv3{P*8 zsd_wOpF#HYz^7g)3&tZCPjf^Nlb5m|o8;n(_@$6>?_yfr4!m|lMFU64G73OQ*;_C4*7`gt$#8~&T&;!FB*KFf7r z8sRld4bCC6K>AN)^s@Xdk!QIwTEa^02|=E9`*3bB~wsunMvr9i2Ef61FmvgTcQ>mIuH*52rHM?Y+{3Hcq2HkX2zGnYa=ms)J zFR6=O);FqtIQ`>ZOS0&=6>F72Vbz91^?a;Ro%~IZt~$wJDt_kl@}0+*MiJ<|XIV#5 zZTvM8gl!`#!>CW3xAg~8qkiOrT)lgfzoQTZ$mbtBeMiLdK8H%7QH!hJVnL-%1{UEUIpzlm1*cHfivYs|nAQua%S8HM{eD z$TyB~F=5h3y+Zkn$8J7`<{s+)m^rg&HnO9znz{IlDIOr z`Rl{QPqIa1%y-u>N0SW-=@)h5<25x^OWO~dE-hhGd5BNu&v*dZa_4k>MsO0ecPMKc zz5YbX14O>|R3D_CRt632236dvQ*u#8F4X538z4{S-q&G1_^o2$semLaOQQyJ% zKWb$0UIg{ji-sr0DnP;DF{r_-s;Gp}Zou~DvrT!4M^h>^&iO13LbwV!<>XLC6^>|U z7sJbCC!X7AT`8bpmAqYuSb=3`!(06AM{A}rHSX@w+5mnBikj;)nA-p)%B<&+4BC0E z0vqE%ifUSY@$(lZ6Nano4oa*S?b3)p$o0&&VWQy-l0%&*PoA9ma7wdC$fT&%O2TWo zoO)wq@zm`_`9E^tD<%!8Twml0pmW=Kj3z6l9wfwH=%By%ZaV=?5pJ`lmFb&K;F61w8YTQ>9zt_C$-r|VKjWGtkaAPD-NY%l?uQL9RR#G4XDd3iV zH{DBKCXNr%TopX7cJpT7)a-2Vjayp+y!rJykGOwpV+`^f4iq>8`}ezM`7z!1TJ&{t z8W)#A+dhm{T;t7~HyvIp&w+{od+T?_P=_L=V!wrUA*Aj}HI6%>{ugSu$8RS{ZXGuO zqX(9TOYbP9`jm`$EDCT%#R?kC2nZiaXF8$!{gU#C(8=Ts@dOF|(;PA#gn9sA)C{pq+Z%W%Hi8#w_9*KqCVG))e_x0m?*A z4Z0B;?9jydVWQI7w|~{zZ*XWmXpS2j`>tftLy|?z3<-_M)%p{u_}2{uRM}pT<9O_s zp6@CG{TT)J8!|uSs;4`IQPK=kLQw$yaAFGHxc@$TWw;cf7X*kx_Xxfyzl~`gkm?QJIn#{kgu%Qu%kFbwjxoBkPvkmgUFInVWD4{4YrJ}7j zGqCad%Xc^0=nMgMwt8hGZ@L;r)DhhMq9|&L2*WU&o;NJB`<7`p`1}VwJ?!kGca`IE z#qNt@!xfOEN;{C^wyhQ-AAq(eC*T{$sj5v7(a8GGM(onXZo}7y%N^q?cVdm4%M3`y zo&p(=QF8*%<;XVxSKcr%+&rvQQRvbfO!XRr!h-ERnk2-ABfq%aL_Kz z2IuB`S=;+UPF$3LkW^}eT5nE)ze@DmKBVWCA@bn+O(Z=5HtF!LnA6y$t%b~&U2*qU z2%B{qLm81?ABnI>>(A5S8*hQY+gA3k!Q zd|356Hsuc!O*=-qS1U4jEReubI|(^Io|eQ!PfKxg*7>iLZC8PH%EH#^uQ zq|8xJ1j@a8UcbJ0*teojSXO`wtxT`5uM&VyYb$PHo1_@%>+4fAE3~qHfG!U>xm%6QW865WsO)1h2S0W z;=aU0B3^0*A1jC7iGB>awqRtoB_e@-PqjHi+Bh z)Q@KjCe_oBUUo-hDv@?UK}IeJ6T(`HlyxUcj_Si08Uo0X{6P94#F&Uk0!Z7@(fd$b zD(st()u$wv);F1|Tv+tcTW}aqba=d<8JdK%jRTT1Q#j^Srlt_Y=E8-V7~2sAW$1aIj@`9H3ypEng>d3 z4>ixo)<^Kb>!!fOX|spevNEOK91G6TvkllyQ<$Amr88GTf&q!;D1vNmZ@doL%H8+U z9E`(qF5WI&1b8tXpa2sCG9hUD;i=ZFJAS~$aY;xhi^Q*V!NCZ#kJ0?bRd){>_xK8{ zbemJelwy+__JZgS)d4SbPVU`D7f0{eW$KFT`a&;&)U|%v%AsZ0vk90Hjg(vEDTE1s z`~A5M;1g8Ao9Xb@w%SS*t!TVuFk1RY2_{XSqshvYT9AwqUl}^nk-}Q5((7wrrjj4F z_7qfDl-2G=`OP3x2}Cx5sVoLgX8MbHKt_inP*JkGE?om65L4vpduq^$iBSGZmc2U{k9C!*Id81y?S|j44Ue@ zH9!NxZ_EmY{xxE?rs?>`Vm;Q6H9nJL$IHhbBBIsv#{N28z6qi*9Z~#;7nc_})ve@l zk@~w~{$R<1j>$h+MH{dRyPnNnUiQKV=Rwb_pvL43e5v9&`>XmZubFnhB&1B8mI(Z9 zpgOd%7DPYvo&vu*Dl~snMs~L2ur+Ho(zoEoAHsF=CTFf(DN;_jEj;;~>g^vJ6;KOY zQFkz#z53TDT3z`ukV4UPQkdw+9W$@>%z!7CxVU4EZou%nr>hq#(d14oH2(@mXU@1P zv|R#nkXO!+{*F7(5g>p5#J@gR^0C2m4UG>jF7#D6!;Pu{|3GQ{j?Q(*!E@kf_WtpZ zMX)j|1+yH%7Yl#;MK!h!4EF*)Mp1$H+`&tye=(^631ru%gXeq*_l0YX_=U(XW>%_b zi+>P5>vtzv?u4W6{96hS5UmGSZlGBo1qvY(FYNVdzZ1OOaxd#&L6kw3gm!6mdiIq~ zq_T?2+oh#djawB=9?!)!aOb@K6 z!w*r1ezw4|F=-wVB1moDe7-&6GMFNDNBwuFV-Nv&N%y36Q$rUv@A+x4gaXVT|G0Z0 z^S^!Q!ZZ0F!rC)aBMmf0a`D z^CH)T7~sjtZ$f&vMpF)0rckY~=55pdOWtvr6tu$MBqwt|r{ErPF)Yoxls%LN^S@a? zCrP`*#F*HVOIJI#weWu^VFp%J-GCpHTsCEy(CpTG_*8wsCFSwR5hQ*paw|fEe6KE& z=G4zM$uFPjHghN~DdiH9!&W${U;UU@7L2r?GPLQ@f~~{5t)1Ic{$aav=fY0o-!E6Ex=7ym;zLiEkkUw#(|_jubA4%a07+PP@ZE^Y z`BK~;FY-74JY#rCUmT|R^ZtLr)qZ=zVaOx}pzmH*h4O!|D{YTr0RVv)l-mvU7Buqz z$sWNmgA}OTat5?r_-TP2$3S)xW4Nxh_(n%t1(R~-pBHdjC7}O5=yLzp8gI)3KS{17 zap|A3<-h*%>ysSa>^ue$KP4^yc@4mgk&_?A-8mAY@Q+lyzdW+PG5r2|)&IWA|G(rv zpU(fspYrDy@}SD`xkb-quFeO=$h!SH@0SGXe{A)?ur~QStfQWoc<+H&5iuq7)Dib+Ksv zZAJ7yKgSMF`k(OF+=Lk{J*E#<8UT%2Kn|5c{sCC&RN$RlRaZWuo zE?DKwqyJjkZ~wb?YRyX;|C&H|XYSKxj4kDkx)S4`kN^MpYJq!V%O^8Gzk>#kFc$22 zd_{YXjrr&ohqJ%LT>jY~9tpJJ*1C7kg7QGY-H3cofvfeGg3h0t;qPDRa!zdS-j3X$ zSG?HGeoV3X|G2=fg{K9QzoQkQ?-NN6kjf3J%8IA zl>Eo*=~4`kCsyYqUq(Me7^y@SBcsJIg~w~YrynM9@hxuy_~U}sKdI*a=^91UNg`HU z5|OHR9}IZU!Sq`cYt*=cDR`e=$)^| z4nsedxGz?erc@YJ7G8%As%^f1E~J+qMaAa3lMm12{GYbUpcZicuu(TrIXUnCerbKQ ztKNqy!{))gQ$3QVBU|S##A&8*zFtP8ZuyG3A1wE2Cf@X4?h_Pykm9pZoLGZ~j;>i; zW{-dQ@?}(GP+`GCR$T`RBNGnPrx<7 z)xJ9?PeH#%oHroZqP>6A^Vz75#3w%W?O!StNOln1SKCsiOLN7Zr75v<&-v{qojirb z4)tI&x;Pi;cFgAo-&!TCw}?L#6`im76597=`LQYjUknJNhCI?fWy~>rUf=b-V0KT@p!oKeE!y3x!GM%WZ<`06TWGFo zj5BkB$S1Z>i<=>n{U6CKl_KAwv0gg0rf|$ks{Q#>oM7HuiKk11!Fe_|L6e$GUmJsh zr*_tJFEigbM^~NW2c5kATY#=0JCQso*r=D)w(TWBIR?>QZF(wW>{`1N2$K z{uy@NhS8`UEN7(j1$fdxCFYVGaoD6+_*&0`AQc_k z+j2*A>j6b*hYKR`-^bYh&dL5X4iVPCkviAf;W3ZCsuLJ{!Z>ub)xz>lbrv89w9WNo zaPjl!+w&I%>V1Pb5kc`_suYEcl940W!7p-g?GzKxG_@l%8;&i|)dUBBk*{zbNy(8h zcld6s0OxdPg0NNZXKIq0{*X|}=mTd~&phV0$nPNwfCnS0kxF>BYyRTQ6nb$|%KZ)6 z)LXeZJEAW=xv<_RfO!fXVj(_mj^18Mu!Daa2_)mXRve76u?FHw4*@wdpZ*wNrL{Yp z^owZ>MG-G>e1(VCl$xP$EEb@x=ejR=z^?!EE&uE0yM4i?6yI<$FgA9g+;_iRktN$K zxL$1862dm@e}N0LEBkq<*d;S8EYoIiZ}3x*MT``oz<hC<;a<# ze7fMY|H2lH;UHRA-~P^^#%4ch-V(9xX|H^qe4Ll1+tv2lLcxK!g3kndq>$mgR1jileRi9dqf1r5=17mO-5rz$V?Sb1wQJdCg9X@0$Bs{+ceuSFdP+kgQq75eR)I?rx3 zh6Juzjn*00ug4D}EXjtjK|rue8|NND7!H!*DGJF!zCGQ{7p7YIrn$`J+MbaP!u zGd8gpKX~q;^NB0&E|3~uehhRFr+QZ~%Nqweep@%6cCD{_96muIulP6w#ynu&zPi2a znV(KGhedTo{|1xxA30s%%!LUjw#pvqmGpx36t6?Oja^@Def=S6=Or4?_w=GTHMKJ6 z?&^1R8xF^{k@pcPGP=Kw(3bR!h^vD>St1Y;LPCxiSTFg@$!sl;wiK$UqKbkJ9%Pzs z&sl1=b&Au*fq_^CmCkhor`HNDlbmKsJ({!s_=^gUkWi)PaAjB+jUBwO$Z2?18>jyo zIOPNrH$CK;vTbZ99Dzsb*N-jrWuvS~nzj%dZAYXaOX$^Oh{*br@41B#oc}XS-f;P` zAz!ER3JPif4j+erVcFH71Jzjm;>Zn`i>mpR)*miK(w;R6+5?iyWs4_I3KnlB_7I*B zaI*oDc~PmULLjg_=sEDXajtp(XbfW7lUQ^)4a0kyiK+dQVyga^H0h*PQ>80NL}hhM>`^MQf+b=udDC#J1hsyJPcL?E)f0Nl1Zk` zDNOX->6OSAHUFo;z6j(;9!QGR1RXf*@1I|JM9B%rm;gESe)0zoh^pNj2l3Z3NVy$A z-0*g)V>5xX$Mv1*PI)J-^y$+l(gg=zJF`3b)9mi4Xd|6%meE@GDzTvkc9fC1-eMP& zc51r{r#(Mdo@cTO`wV-w&T$vgo7I_Qy*ab$@Pyj$e`ULAuRwZ)d<{zjsR+nO&cwBI znZh+0vjt)yMwMb4xh&3mKjNQ9adCO#)q0)F%vaNpzMJZ6lUthXYLU~}ddpy3_0m-F zc6KU*`IaZb4Uo;KBIh_6Uj0y!p#@ z^QV-XhjJRWRnptRw$q!|%o{+-n$lR4gLH+%2#zd|Zp+>6vR-_(&?wrY^TM7}j5_8Fw zu9wZd&*#1VeD;#$o>h^V8M`adZ~Lp=B*_sz6SsR%KBHA^D5HQFfkroebIzW^Bus}* zBqlDd{reYtoAJHi6g4d^E%P(eJ$KmO04DtKG?KlO`2XU|TZTEFTX@Py9rNzBS|-`Wr?XEJOUc|Yy``)F}#BxmElT`#VFyp_K%QoZ>3xv9XT7_SyCc`&_N z`&5(pmEg7Or+rpc`?eu`k@cE7!V8Hc?7Rj&5i4;=q~ z@{hevxInAnUB&)A{_+>|wKMm>Ja3~7Dv_pE)W+?vc^Xr;bmGVP<_7P}*P8#>YISZ; zCHJ3paW)Uf)!Zu92-TNC;OHWH0e zA0VeaDNl#yKYG)Fb+x}on8N~ll^);X36u8N^6uIoTxowLYu}lzua`L8*Ux9U^#AL{ zJq^k)n|Zf@t}OJAPcnPC@!RX``39d~U#m-&uianubymXkS*5^bYm+m-+bPVKIR0>Y zC6j#91%~}>=a2i(&;i!z{1VR0&t{d(&Ayhxwk47^JFYe%acyCI*d^0x)8@{3{W|z@ zMDD-)^XoUptf|~mclFg(;7W9^|9WNjvS---J97Ecli>YR<-fh*tPpT~et%c#>_1=g z|4(4A|GQzzv}w1lPb63swuxW3zU#GLU2kF3`Y-EVYaN;ttUmj8k9qFBpz9lV?Ca!= zDft=k((cnrw#cdHIhyio>u1TFz8SIlC-9sLT|W02Po9VGE8n+_@r%CW_PkhC;6+tj z+}v;1y-i9!nrXvW3~WSRysk7y(-k;E6m#cjTKwPBQzmcrH))8AeRX4D^Ur`o6P4YY z$}X0E1-3(H{NJ!~+nokGVDTa(E2{gOUuH!ipX}n`m^qcX=l0byCSM7;@ITnYW5*Gm zSFiuDe9ykLh!+@lDksRes+0`|$nRB(_cZat5ACw@U@xE4nA#-*7!zPrYcfYWmgNTY;BU zCjDvtn!eeB_tE=XQ)8EA=f%ZM-8D`PAbBSp@Meyaw5{;tPTfY>EpC(^8H=F4a3u1jQ`qgO5OOP9dRlamJxbr zb9@6+Rm}c6r@1l<udE);Y&-to*Sr9qPAv*@S_5C?m0XRDNB{(cB?7jJi Z|6dnuR+c}yUX=j|JYD@<);T3K0RSp>WEubf literal 0 HcmV?d00001 diff --git a/marketing-site/docs/index.md b/marketing-site/docs/index.md index 3d852a1..8b723c5 100644 --- a/marketing-site/docs/index.md +++ b/marketing-site/docs/index.md @@ -26,6 +26,8 @@ Once your vault is opened, consider configuring the following: ## Features +![](images/calendar.png) + Synapse packs a robust set of features to boost your productivity. ### Markdown Editor From a0265adfd721b589e3100abbcbf79dd32a3b8901 Mon Sep 17 00:00:00 2001 From: dep Date: Thu, 2 Apr 2026 07:00:45 -0400 Subject: [PATCH 3/3] test: fix badge size proportional test for 95th percentile logic The test used only 3 data points which caused the 95th percentile to return a value that made multiple days hit the max size. Fixed by adding more data points so the 95th percentile is a middle value, allowing proper differentiation between high, medium, and low activity. Fixes CI failure in test_badgeSize_proportionalToMaxActivity. --- .../CalendarDayActivityCalculatorTests.swift | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift b/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift index 2ced53a..f3afd6f 100644 --- a/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift +++ b/macOS/SynapseTests/CalendarDayActivityCalculatorTests.swift @@ -101,30 +101,38 @@ final class CalendarDayActivityCalculatorTests: XCTestCase { let day1 = Date(timeIntervalSince1970: 1_700_000_000) let day2 = Date(timeIntervalSince1970: 1_700_086_400) let day3 = Date(timeIntervalSince1970: 1_700_172_800) + let day4 = Date(timeIntervalSince1970: 1_700_259_200) + let day5 = Date(timeIntervalSince1970: 1_700_345_600) - // Day 2 has highest activity (10), so it should get close to max size - // Day 1 has 5, Day 3 has 2 - // With logarithmic scaling, differences are compressed + // More data points so 95th percentile isn't the absolute max + // 95th percentile of [1, 2, 5, 10, 50] will be around 10 (index 3) + // With referenceMax=10: day5(50) and day4(10) get maxSize, day3(5) gets mid let activityMap: [Date: Int] = [ - calendar.startOfDay(for: day1): 5, - calendar.startOfDay(for: day2): 10, - calendar.startOfDay(for: day3): 2 + calendar.startOfDay(for: day1): 1, + calendar.startOfDay(for: day2): 2, + calendar.startOfDay(for: day3): 5, + calendar.startOfDay(for: day4): 10, + calendar.startOfDay(for: day5): 50 ] let maxSize: CGFloat = 20.0 let minSize: CGFloat = 8.0 + let day5Size = sut.badgeSize(for: day5, in: activityMap, maxSize: maxSize, minSize: minSize) + let day4Size = sut.badgeSize(for: day4, in: activityMap, maxSize: maxSize, minSize: minSize) + let day3Size = sut.badgeSize(for: day3, in: activityMap, maxSize: maxSize, minSize: minSize) let day2Size = sut.badgeSize(for: day2, in: activityMap, maxSize: maxSize, minSize: minSize) let day1Size = sut.badgeSize(for: day1, in: activityMap, maxSize: maxSize, minSize: minSize) - let day3Size = sut.badgeSize(for: day3, in: activityMap, maxSize: maxSize, minSize: minSize) - // Day 2 (highest) should be close to max - XCTAssertGreaterThan(day2Size, 15) - // Day 1 should be mid-range - XCTAssertGreaterThan(day1Size, day3Size) - XCTAssertLessThan(day1Size, day2Size) - // Day 3 should be at least minSize - XCTAssertGreaterThanOrEqual(day3Size, minSize) + // Day 5 (outlier 50) and Day 4 (at 95th percentile) should be at max + XCTAssertEqual(day5Size, maxSize, accuracy: 0.01) + XCTAssertEqual(day4Size, maxSize, accuracy: 0.01) + // Day 3 (5 notes) should be mid-range: smaller than max, larger than day2 + XCTAssertLessThan(day3Size, maxSize) + XCTAssertGreaterThan(day3Size, day2Size) + // Day 2 should be larger than day1 (minimum) + XCTAssertGreaterThan(day2Size, minSize) + XCTAssertGreaterThanOrEqual(day1Size, minSize) } func test_badgeSize_respectsMaxSizeCap() {