| .. | .. |
|---|
| 59 | 59 | final prefs = await SharedPreferences.getInstance(); |
|---|
| 60 | 60 | _isPro = prefs.getBool(_kProCacheKey) ?? false; |
|---|
| 61 | 61 | |
|---|
| 62 | + // Owner override: personal / sideloaded builds unlock Pro without a purchase. |
|---|
| 63 | + // Build with: flutter run --dart-define=PAILOT_PRO=true |
|---|
| 64 | + // Defaults to false via bool.fromEnvironment, so App Store builds (which do |
|---|
| 65 | + // not pass this define) are unaffected — real users still see the paywall. |
|---|
| 66 | + const proOverride = bool.fromEnvironment('PAILOT_PRO'); |
|---|
| 67 | + if (proOverride) { |
|---|
| 68 | + _isPro = true; |
|---|
| 69 | + await prefs.setBool(_kProCacheKey, true); |
|---|
| 70 | + notifyListeners(); |
|---|
| 71 | + return; |
|---|
| 72 | + } |
|---|
| 73 | + |
|---|
| 62 | 74 | // Screenshot / demo override: force free-tier rendering for store-listing |
|---|
| 63 | 75 | // captures. Build with: flutter run --dart-define=PAILOT_FORCE_FREE=true |
|---|
| 64 | 76 | const forceFree = bool.fromEnvironment('PAILOT_FORCE_FREE'); |
|---|