Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
054c29e
fix(ios): preserve tab state and respect reduced motion
Honahec Jul 24, 2026
c549dea
refactor(ui): separate window size from platform
Honahec Jul 24, 2026
7fe4432
fix(ui): remove inactive deadline action
Honahec Jul 24, 2026
d3dc9e0
fix(ios): unify platform view page transitions
Honahec Jul 24, 2026
b45ae48
refactor(ui): derive content insets from app shell
Honahec Jul 24, 2026
5523d9a
fix(ios): remove ineffective appearance actions
Honahec Jul 24, 2026
830c6d5
fix(ios): keep Cupertino alert fallback
Honahec Jul 24, 2026
ce83d3d
fix(ios): enforce minimum interactive targets
Honahec Jul 24, 2026
edeb538
fix(ios): route remaining platform views consistently
Honahec Jul 24, 2026
5cf2f97
fix(ios): use native chrome for debug logs
Honahec Jul 24, 2026
ff8b3d0
fix(ios): adapt text input dialogs
Honahec Jul 24, 2026
39fe6c5
build(android): align native development kit version
Honahec Jul 24, 2026
129288a
fix(ios): align platform view transitions with UIKit
Honahec Jul 24, 2026
d89cc8f
fix(ios): use native actions for cloud sync
Honahec Jul 24, 2026
c91691b
fix(ui): make account prerequisites actionable
Honahec Jul 24, 2026
a7b0ce3
fix(ui): honor reduced motion in dashboard flows
Honahec Jul 24, 2026
c5c7a2e
fix(ios): use native deadline selection chrome
Honahec Jul 24, 2026
6e83ad3
fix(ui): make hidden deadlines directly restorable
Honahec Jul 24, 2026
8d0bf03
fix(ios): adapt deadline swipe motion
Honahec Jul 24, 2026
c1624d4
fix(ios): use native gym prerequisite action
Honahec Jul 24, 2026
8424e56
fix(ios): use native actions in auth flows
Honahec Jul 24, 2026
82bdde3
fix(ios): use native account actions in settings
Honahec Jul 24, 2026
55da886
fix(ios): use native gym date pickers
Honahec Jul 24, 2026
71df347
fix(ios): use native gym action buttons
Honahec Jul 24, 2026
d5af383
fix(ios): use native gym tab control
Honahec Jul 24, 2026
a1e4c1e
fix(ios): finish native binding actions
Honahec Jul 24, 2026
85386dd
fix(ios): align button metrics with UIKit
Honahec Jul 24, 2026
3f94532
fix(ios): demote destructive account actions
Honahec Jul 24, 2026
cc0880e
fix(ios): clarify cloud sync action hierarchy
Honahec Jul 24, 2026
544e518
fix(ios): soften snapshot transition shadow
Honahec Jul 24, 2026
d5e3de7
fix(ios): restore contextual back navigation
Honahec Jul 24, 2026
f897099
fix(ios): use platform motion curves
Honahec Jul 24, 2026
4d678f8
refactor(ios): remove snapshot page transitions
Honahec Jul 26, 2026
0d44b43
refactor(ios): composite navigation bars in Flutter
Honahec Jul 31, 2026
09f3d40
refactor(ios): composite action buttons in Flutter
Honahec Jul 31, 2026
f52b0bb
refactor(ios): use Cupertino selection controls
Honahec Jul 31, 2026
ae6a848
refactor(ios): use Cupertino action menus
Honahec Jul 31, 2026
97ab75d
refactor(ios): use composited Cupertino tab bar
Honahec Jul 31, 2026
b3410ab
refactor(ios): keep navigation chrome native
Honahec Jul 31, 2026
7ccfe55
refactor(ios): use Cupertino text inputs
Honahec Jul 31, 2026
a0c063f
chore: format
Honahec Jul 31, 2026
4ff3110
refactor(ios): remove unused platform views
Honahec Jul 31, 2026
102769e
refactor: remove unused iOS dropdown widget
Honahec Jul 31, 2026
dfd8ff8
refactor(ui): separate adaptive and native widgets
Honahec Jul 31, 2026
7075597
Merge remote-tracking branch 'upstream/master' into refactor/multi-pl…
Honahec Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ plugins {
android {
namespace = "com.example.techpie"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
ndkVersion = "28.2.13676358"

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
Expand Down
32 changes: 0 additions & 32 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,9 @@
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
5A0010032F1A000100000001 /* NativeGlassRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010022F1A000100000001 /* NativeGlassRegistry.swift */; };
5A0010052F1A000100000001 /* NativeGlassTabBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010042F1A000100000001 /* NativeGlassTabBarView.swift */; };
5A0010072F1A000100000001 /* NativeGlassButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010062F1A000100000001 /* NativeGlassButton.swift */; };
5A00100C2F1A000100000001 /* NativeGlassDropdownMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A00100B2F1A000100000001 /* NativeGlassDropdownMenu.swift */; };
5A00100E2F1A000100000001 /* NativeGlassSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A00100D2F1A000100000001 /* NativeGlassSelect.swift */; };
5A0010102F1A000100000001 /* NativeGlassSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A00100F2F1A000100000001 /* NativeGlassSwitch.swift */; };
5A0010122F1A000100000001 /* NativeGlassConfirmationButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010112F1A000100000001 /* NativeGlassConfirmationButton.swift */; };
5A0010142F1A000100000001 /* NativeGlassPresenterPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010132F1A000100000001 /* NativeGlassPresenterPlugin.swift */; };
5A0010152F1A000100000001 /* IcsFilePresenterPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010162F1A000100000001 /* IcsFilePresenterPlugin.swift */; };
5A0010182F1A000100000001 /* NativeNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010172F1A000100000001 /* NativeNavigationBar.swift */; };
5A00101A2F1A000100000001 /* NativeTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0010192F1A000100000001 /* NativeTextView.swift */; };
5A00101C2F1A000100000001 /* NativeSegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A00101B2F1A000100000001 /* NativeSegmentedControl.swift */; };
5A00101E2F1A000100000001 /* NativeTextFieldGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A00101D2F1A000100000001 /* NativeTextFieldGroup.swift */; };
6BFBE954DB868241E9E9810B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 052EF181B45C1F8AB028A91F /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
Expand Down Expand Up @@ -65,17 +57,9 @@
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
5A0010022F1A000100000001 /* NativeGlassRegistry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassRegistry.swift; sourceTree = "<group>"; };
5A0010042F1A000100000001 /* NativeGlassTabBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassTabBarView.swift; sourceTree = "<group>"; };
5A0010062F1A000100000001 /* NativeGlassButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassButton.swift; sourceTree = "<group>"; };
5A00100B2F1A000100000001 /* NativeGlassDropdownMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassDropdownMenu.swift; sourceTree = "<group>"; };
5A00100D2F1A000100000001 /* NativeGlassSelect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassSelect.swift; sourceTree = "<group>"; };
5A00100F2F1A000100000001 /* NativeGlassSwitch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassSwitch.swift; sourceTree = "<group>"; };
5A0010112F1A000100000001 /* NativeGlassConfirmationButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassConfirmationButton.swift; sourceTree = "<group>"; };
5A0010132F1A000100000001 /* NativeGlassPresenterPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeGlassPresenterPlugin.swift; sourceTree = "<group>"; };
5A0010162F1A000100000001 /* IcsFilePresenterPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IcsFilePresenterPlugin.swift; sourceTree = "<group>"; };
5A0010172F1A000100000001 /* NativeNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeNavigationBar.swift; sourceTree = "<group>"; };
5A0010192F1A000100000001 /* NativeTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeTextView.swift; sourceTree = "<group>"; };
5A00101B2F1A000100000001 /* NativeSegmentedControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeSegmentedControl.swift; sourceTree = "<group>"; };
5A00101D2F1A000100000001 /* NativeTextFieldGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeTextFieldGroup.swift; sourceTree = "<group>"; };
6B0AD00AB3D979A68E9ABE84 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -151,17 +135,9 @@
children = (
5A0010022F1A000100000001 /* NativeGlassRegistry.swift */,
5A0010042F1A000100000001 /* NativeGlassTabBarView.swift */,
5A0010062F1A000100000001 /* NativeGlassButton.swift */,
5A00100B2F1A000100000001 /* NativeGlassDropdownMenu.swift */,
5A00100D2F1A000100000001 /* NativeGlassSelect.swift */,
5A00100F2F1A000100000001 /* NativeGlassSwitch.swift */,
5A0010112F1A000100000001 /* NativeGlassConfirmationButton.swift */,
5A0010132F1A000100000001 /* NativeGlassPresenterPlugin.swift */,
5A0010162F1A000100000001 /* IcsFilePresenterPlugin.swift */,
5A0010172F1A000100000001 /* NativeNavigationBar.swift */,
5A0010192F1A000100000001 /* NativeTextView.swift */,
5A00101B2F1A000100000001 /* NativeSegmentedControl.swift */,
5A00101D2F1A000100000001 /* NativeTextFieldGroup.swift */,
);
path = NativeGlass;
sourceTree = "<group>";
Expand Down Expand Up @@ -433,17 +409,9 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5A0010102F1A000100000001 /* NativeGlassSwitch.swift in Sources */,
5A0010142F1A000100000001 /* NativeGlassPresenterPlugin.swift in Sources */,
5A0010152F1A000100000001 /* IcsFilePresenterPlugin.swift in Sources */,
5A00100E2F1A000100000001 /* NativeGlassSelect.swift in Sources */,
5A00100C2F1A000100000001 /* NativeGlassDropdownMenu.swift in Sources */,
5A0010122F1A000100000001 /* NativeGlassConfirmationButton.swift in Sources */,
5A0010182F1A000100000001 /* NativeNavigationBar.swift in Sources */,
5A00101A2F1A000100000001 /* NativeTextView.swift in Sources */,
5A00101C2F1A000100000001 /* NativeSegmentedControl.swift in Sources */,
5A00101E2F1A000100000001 /* NativeTextFieldGroup.swift in Sources */,
5A0010072F1A000100000001 /* NativeGlassButton.swift in Sources */,
5A0010052F1A000100000001 /* NativeGlassTabBarView.swift in Sources */,
5A0010032F1A000100000001 /* NativeGlassRegistry.swift in Sources */,
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
Expand Down
26 changes: 13 additions & 13 deletions ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,27 @@
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.geekpie.techpie</string>
<key>CFBundleURLSchemes</key>
<array>
<string>techpie</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCalendarsUsageDescription</key>
<string>TechPie 需要访问日历以将课表导入到你指定的系统日历中。</string>
<key>NSCalendarsFullAccessUsageDescription</key>
<string>TechPie 需要完整日历权限,以查找或创建你指定名称的日历并导入课表。</string>
<key>NSCalendarsUsageDescription</key>
<string>TechPie 需要访问日历以将课表导入到你指定的系统日历中。</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
Expand All @@ -51,16 +62,5 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.geekpie.techpie</string>
<key>CFBundleURLSchemes</key>
<array>
<string>techpie</string>
</array>
</dict>
</array>
</dict>
</plist>
172 changes: 0 additions & 172 deletions ios/Runner/NativeGlass/NativeGlassButton.swift

This file was deleted.

Loading
Loading