Conversation
… issues for better mobile stability
- Implemented 'fountain pen' WritingEffect for AI responses. - Added Shimmer loading effects for stories and characters. - Refactored ResponsiveLayout to eliminate nested Scaffolds, fixing black screen on resize. - Added Manuscript and Focus modes to StoryScreen. - Integrated haptic feedback across major interactive elements. - Optimized desktop experience with dedicated side panels. - Updated characters and models schemas in backend. - Cleanup of old dev logs and added latest analysis documentation.
feat: overhaul UI/UX with premium effects and responsive layout fix
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 Pull Request는 캐릭터 관리 기능을 대폭 확장하고, 사용자 인터페이스를 모바일 및 데스크톱 환경에 맞춰 반응형으로 개선하는 데 중점을 두었습니다. 특히, 스토리 읽기 경험을 향상시키기 위한 새로운 모드와 시각적 효과가 추가되었으며, 배포 파이프라인의 안정성을 확보하고 내부 LLM 전략 문서를 업데이트했습니다. 전반적으로 사용자 경험과 개발 효율성을 동시에 끌어올리는 변경사항들을 포함합니다. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
이 PR은 캐릭터 보관함 시스템 도입, 애플리케이션 전반의 대대적인 UI/UX 개선, 그리고 반응성 및 코드 구조 개선을 위한 상당한 리팩토링을 포함하는 주요 기능 릴리스입니다. ResponsiveLayout의 유연성 증대, Shimmer 로딩 효과, WritingEffect와 같은 고급 UI 컴포넌트 추가 등 핵심적인 개선 사항들이 눈에 띕니다. 리뷰 결과, 백엔드에서 도달할 수 없는 코드가 포함된 사소한 버그 1건과, 프론트엔드에서 기능이 백엔드 API 호출 없이 시뮬레이션 상태로 남아있는 심각한 문제 1건이 발견되었습니다. 전반적으로 애플리케이션을 크게 향상시키는 매우 인상적인 변경 사항들입니다.
| Future<void> _toggleVault() async { | ||
| if (_isUpdating) return; | ||
|
|
||
| setState(() => _isUpdating = true); | ||
|
|
||
| try { | ||
| final apiService = ApiService(); | ||
| final charId = widget.character['id']; | ||
|
|
||
| // Assume endpoint PATCH /characters/{id} exists or implement it | ||
| // For now, using updateStory or similar pattern if generic update is available | ||
| // Ideally: await apiService.updateCharacter(charId, {'is_in_vault': !_isInVault}); | ||
|
|
||
| // Let's implement a generic patch in ApiService if needed, but for this simulation: | ||
| setState(() { | ||
| _isInVault = !_isInVault; | ||
| _isUpdating = false; | ||
| }); | ||
|
|
||
| CustomToast.show( | ||
| context, | ||
| _isInVault ? "캐릭터 보관함에 저장되었습니다." : "보관함에서 제거되었습니다.", | ||
| type: _isInVault ? ToastType.success : ToastType.info | ||
| ); | ||
|
|
||
| // Refresh character list provider | ||
| ref.invalidate(charactersProvider); | ||
|
|
||
| } catch (e) { | ||
| setState(() => _isUpdating = false); | ||
| CustomToast.show(context, "보관함 업데이트 실패: $e", type: ToastType.error); | ||
| } | ||
| } |
There was a problem hiding this comment.
현재 _toggleVault 함수는 시뮬레이션 코드로 구현되어 있어 실제 백엔드 API를 호출하지 않고 UI 상태만 변경하고 있습니다. 이로 인해 보관함 기능이 서버에 영구적으로 저장되지 않습니다. 주석으로 언급된 apiService.updateCharacter를 사용하여 실제 API를 호출하도록 수정해야 합니다. 또한, 로딩 상태(_isUpdating)는 try-catch-finally 구문을 사용하여 API 호출의 성공 여부와 관계없이 항상 해제되도록 하는 것이 더 안정적입니다.
Future<void> _toggleVault() async {
if (_isUpdating) return;
setState(() => _isUpdating = true);
try {
final apiService = ApiService();
final charId = widget.character['id'];
// 백엔드에 캐릭터의 'is_in_vault' 상태 업데이트를 요청합니다.
await apiService.updateCharacter(charId, {'is_in_vault': !_isInVault});
if (!mounted) return;
// API 호출 성공 후 UI 상태를 업데이트합니다.
setState(() {
_isInVault = !_isInVault;
});
CustomToast.show(
context,
_isInVault ? "캐릭터 보관함에 저장되었습니다." : "보관함에서 제거되었습니다.",
type: _isInVault ? ToastType.success : ToastType.info
);
// 캐릭터 목록 프로바이더를 무효화하여 목록을 새로고침합니다.
ref.invalidate(charactersProvider);
} catch (e) {
// 에러 발생 시 사용자에게 알림
if (mounted) CustomToast.show(context, "보관함 업데이트 실패: $e", type: ToastType.error);
} finally {
// API 호출 성공/실패 여부와 관계없이 로딩 상태를 해제합니다.
if (mounted) {
setState(() => _isUpdating = false);
}
}
}| ) | ||
| except Exception as e: | ||
| return ApiResponse.fail(str(e)) | ||
| return ApiResponse.fail(str(e)) |
fix: correct HapticFeedback method name to resolve build error
- backend: removed unreachable duplicate return statement in characters API. - frontend: implemented actual API call for character vault toggle with proper error handling and mounted checks.
- Added sections explaining Summary Buffer Memory, RAG-based Selective Memory, and Prompt Compression. - Highlighted the usage of English-centric prompting and structural keyword division for efficiency. - Explained the role of Drift (WASM) local database for zero-latency and persistence. - Refined ResponsiveLayout to fix minor padding issues on desktop.
…imizations Docs/update readme efficiency optimizations
…imizations Docs/update readme efficiency optimizations
… profile - Renamed redundant profile_screen.dart to settings_screen.dart and fixed its Curves animation. - Synchronized navigation indices between SideMenu and CrispBottomNavBar. - Added missing imports across HomeScreen, CrispBottomNavBar, and ProfileScreen. - Implemented vaultCharactersProvider to sync 'My Characters' with vaulted data. - Refactored CharacterVaultScreen to use ResponsiveLayout for desktop compatibility. - Updated main README with language selector and synced Korean version as default.
fix: resolve navigation mapping, missing imports, and sync vault with…
…ild errors - Renamed profile_screen.dart to settings_screen.dart and corrected Curves animation. - Synchronized navigation indices between SideMenu and CrispBottomNavBar. - Implemented vaultCharactersProvider to sync 'My Characters' with vaulted characters. - Refactored CharacterVaultScreen to use ResponsiveLayout for seamless desktop sidebar integration. - Fixed missing imports in HomeScreen and CrispBottomNavBar. - Updated main README with language selector and set Korean as default.
- Added supabase/.temp/ to .gitignore to prevent committing sensitive Supabase CLI temporary files. - Removed already committed supabase/.temp/ files from tracking. - Verified and ensured ProfileScreen and SettingsScreen use correct navigation indices (4 and 3 respectively).
fix: finalize navigation mapping, sync vault with profile, and fix bu…
No description provided.