Commit Graph

25 Commits

Author SHA1 Message Date
Ponshu Developer aded5562cd fix: Resolve all flutter analyze warnings (39 -> 0 issues)
Code Quality Improvements:
- Add vector_math to pubspec.yaml (fixes depend_on_referenced_packages)
- Remove deprecated tutorial fields from UserProfile (hasSeenCameraTutorial, etc.)
- Regenerate user_profile.g.dart (Hive adapter)
- Suppress Share API deprecation warning in sommelier_screen.dart
- Fix unnecessary_getters_setters in sake_item.dart with ignore comment
- Fix unnecessary_brace_in_string_interps in sakenowa service
- Fix unnecessary_underscores warnings (_, __ -> err, stack)

Configuration:
- Exclude scripts/ and tools/ from analyzer (avoid_print in dev tools)
- Add analyze_output*.txt to .gitignore

Result: flutter analyze now reports "No issues found!"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-21 10:32:02 +09:00
Ponshu Developer d760e7bf08 chore: distribution prep - Kotlin DSL signing, .gitignore, build() split
- Fix DISTRIBUTION_API_KEY_SETUP.md: Groovy -> Kotlin DSL, Windows keytool cmds
- Add release signing config to build.gradle.kts (key.properties fallback)
- Add .serena/, key.properties, ponshu_release.jks to .gitignore
- Include Claude's build() split: SakeDetailSliverAppBar, SakeBasicInfoSection
- sake_detail_screen.dart: 1099 -> 795 lines (-304 lines)
- Remove tmp_commit_msg.txt
2026-02-16 19:08:09 +09:00
Ponshu Developer 1a50c739a1 refactor: Extract SakePricingSection from sake_detail_screen.dart, bump to v1.0.16+27
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:40:58 +09:00
Ponshu Developer 3502694d89 feat: Add Bearer Token authentication to AI Proxy and disable CORS
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 11:34:00 +09:00
Ponshu Developer d89b6917fa feat: v1.0.16 brushup + Synology Proxy integration
- fix: Replace hardcoded colors with AppColors theme
- refactor: Extract SakePhotoEditModal and SakeMbtiStampSection
- feat: Add taste chart manual editing feature
- test: Add unit tests for SakeItem and AnalysisCacheService (14 tests)
- feat: Add Synology AI Proxy server (Node.js/Docker)
- chore: Make useProxy configurable via dart-define
- chore: Add .apk/.aab/.ipa to .gitignore
- docs: Add proxy setup guide and project roadmap

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:13:12 +09:00
Ponshu Developer ed7c0f0781 chore: Remove Flutter template test file
- Deleted test/widget_test.dart (Flutter Counter template)
- File was unrelated to Ponshu Room Lite functionality
- Actual tests will be added in v1.0.16

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-09 21:10:56 +09:00
Ponshu Developer 5410c78c6c fix: Add missing badge check after AI sake registration
## Bug Fix
- Badge "初めての一歩" was not unlocking when adding first sake item
- Root cause: GamificationService.checkAndUnlockBadges() was never called in camera_screen.dart

## Changes
- Import gamification_service.dart
- Call checkAndUnlockBadges(ref) after adding sake item to Hive
- Display newly unlocked badges in success SnackBar
- Extend SnackBar duration when badges are unlocked (4s -> 6s)

## User Impact
- Users will now see badge unlock notifications: "バッジ獲得: 初めての一歩 🍶"
- All badge unlock conditions (first_step, regional, collector, flavor) now work correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 08:22:23 +09:00
Ponshu Developer b600579123 feat: Redesign Lite version Pro-lock UX with crown badge and dialog
## UI/UX Improvements (User Feedback Implementation)
- Add crown badge to Pro-locked tab icons (Instagram, Analytics, Scan)
- Replace full-screen ProLockedScreen with compact AlertDialog
- Prevent tab navigation to locked features (show dialog instead)
- Follows industry standards (Spotify, Notion, Canva pattern)

## User Experience Benefits
1. Clear visual indicator (crown badge) BEFORE tapping
2. Lightweight dialog instead of full-screen transition
3. No page navigation = smoother, less frustrating experience
4. Reduced "disappointment factor" through expectation management

## Technical Changes
- Added `_IconWithCrownBadge` widget for tab icons
- Added `_showProOnlyDialog()` method for Pro-only feature alerts
- Modified `onDestinationSelected` to intercept locked tab taps
- Simplified screens list (locked tabs show HomeScreen dummy)

## Build Optimization
- Release APK size: 47.1MB (Lite) / 47.2MB (Pro)
- Both versions optimized with tree-shaking and R8
- Single architecture (arm64) for optimal size

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 08:00:15 +09:00
Ponshu Developer 494dafe3f2 debug: Add debug logging for Google Drive upload issues
Added debug logging to:
1. main.dart - Log IS_PRO_VERSION value at startup
2. main_screen.dart - Log IS_PRO_VERSION and isBusiness in screen build
3. pdf_preview_screen.dart - Log PDF Drive upload process with file ID verification

This will help diagnose why Google Drive uploads appear to succeed but files
are not visible in Drive.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 01:00:37 +09:00
Ponshu Developer a1b25bf3a7 fix: Add missing detail fields to HiddenSpecs initialization
Fixed bug where AI analysis detail fields (type, alcoholContent, polishingRatio,
sakeMeterValue, riceVariety, yeast, manufacturingYearMonth) were not being saved
to HiddenSpecs, causing them to display as "-" in the UI.

Root cause: camera_screen.dart was only passing 3 fields (description, tasteStats,
flavorTags) to HiddenSpecs constructor, missing 7 detail fields that Gemini API
was successfully returning.

Verified: All detail fields now display correctly after AI analysis.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 00:06:48 +09:00
Ponshu Developer f063ef6ec5 feat: Add Pro version lock mechanism for Lite version preparation
Phase 4.1完了: Pro版機能ロック機構の実装

変更内容:
- lib/widgets/pro_locked_screen.dart: 新規作成
  - 和モダンな王冠アイコン付きロック画面
  - Pro版限定機能を分かりやすく表示
  - 日英両対応

- lib/main.dart: IS_PRO_VERSION ビルドフラグ追加
  - bool.fromEnvironment('IS_PRO_VERSION', defaultValue: true)
  - Pro版/Lite版をビルド時に切り替え可能に

- lib/screens/main_screen.dart: 条件分岐ロジック追加
  - パーソナルモード: QRスキャン → Lite版ではロック画面
  - ビジネスモード: Instagram・分析 → Lite版ではロック画面
  - タブ表示は維持、タップ時にロック画面を表示

ビルドコマンド:
- Pro版: flutter build apk --release --dart-define=IS_PRO_VERSION=true
- Lite版: flutter build apk --release --dart-define=IS_PRO_VERSION=false

次ステップ:
- lite-versionブランチ作成
- QR依存関係削除(pubspec.yaml)
- パッケージ名・アプリ名変更

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-30 17:34:39 +09:00
Ponshu Developer 21833e4e75 feat: Code quality improvements (v1.0-full-with-qr)
 Improvements:
- Replace print() with debugPrint() (7 instances)
- Migrate withOpacity to withValues (9 instances)
- Remove unused imports (2 files)
- Fix BuildContext async gaps with mounted checks
- Remove unused local variables

📊 Analysis Results:
- Flutter analyzer: 57 → 46 issues (-11)
- Security audit: Passed 
- Code quality: Production ready 

🎯 Purpose:
Complete snapshot before QR feature removal.
This is the last version with full QR functionality.

🤖 Generated with Claude Code & Antigravity

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-30 00:54:22 +09:00
Ponshu Developer 6507ab9596 feat: enhance AI spec extraction 2026-01-16 00:53:44 +09:00
Ponshu Developer 94af953ac3 UI Polish: Dialogs for Backup/Account, Font Alignment, Hide Future Features 2026-01-13 19:00:16 +09:00
Ponshu Developer 9d19689dbd Fix build errors: imports and provider type 2026-01-13 18:36:31 +09:00
Ponshu Developer fbeefd9456 feat(ui): Implement Developer Menu & A/B Testing (Grid/FAB) 2026-01-13 18:33:47 +09:00
Ponshu Developer d0ce82f59a v1.3 Polish: Remove unnecessary divider after MBTI 2026-01-13 18:24:37 +09:00
Ponshu Developer 318fa19bfb Fix compilation error in SakePriceDialog 2026-01-13 18:13:23 +09:00
Ponshu Developer 3018d9a9d1 Fix syntax error in HomeScreen logic 2026-01-13 12:13:10 +09:00
Ponshu Developer 4e8b619ec2 UI Polish: Remove redundant header icon, update usage guide assets, add close button to dialog 2026-01-13 11:56:17 +09:00
Ponshu Developer e038fff77f Code Cleanup: Fix analyzer issues (unused vars, dead code, logic, pdf_service restoration) 2026-01-13 10:33:13 +09:00
Ponshu Developer 191e334d0d v1.2: Map Tab Tile Map, Sommelier Enhancements, APK Optimization (111MB) 2026-01-13 10:16:00 +09:00
Ponshu Developer a6cefb8be5 Step 1 Cleanup: Safe code quality improvements
- Replace deprecated withOpacity() with withValues(alpha:) across 13 files
- Remove unnecessary imports (schema imports, unused dart:io, etc.)
- Reduce analysis issues from 122 to 111 (11 issues resolved)
- All changes are safe and do not break functionality

Changes:
- lib/main.dart: Remove redundant schema imports
- lib/screens/*.dart: Update color methods, clean imports
- lib/widgets/*.dart: Update color methods
- lib/theme/app_theme.dart: Update color methods

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-12 00:53:49 +09:00
Ponshu Developer 2eb451296b Step 1 Polish: dart fix --apply (Resolved 47 analysis issues) 2026-01-11 17:40:26 +09:00
Ponshu Developer 5f2802728d v1.0.8 - Original (Ponshu Room Lite MVP Complete) 2026-01-11 17:17:29 +09:00