Skip to content

Feature/#48 fix journal UI - #49

Merged
273Do merged 9 commits into
developfrom
feature/#48-fix-journal-ui
Aug 23, 2026
Merged

Feature/#48 fix journal UI#49
273Do merged 9 commits into
developfrom
feature/#48-fix-journal-ui

Conversation

@273Do

@273Do 273Do commented Aug 23, 2026

Copy link
Copy Markdown
Owner

概要

実施した内容

ui の刷新と修正

  • days 画面のちらつき修正
  • モデルの固定
  • ui のアニメーション実装

チェックリスト

  • コードがプロジェクトのスタイルガイドラインに従っている
  • セルフレビューを完了
  • 複雑なコードにコメントを追加
  • ドキュメントを更新(該当する場合)
  • 破壊的変更なし(またはやむを得ない場合は文書化済み)
  • ci / cd を通過

備考

関連 Issue

Closes #48

Summary by CodeRabbit

  • 新機能
    • 日付画面で前後の日へスワイプして移動できるようになりました。
    • 1日のエントリーをジャーナルごとのタイムラインで確認し、詳細を開けるようになりました。
    • AIリフレクション用モデルを自動準備するようになりました。
  • 改善
    • ブックマークと新規ジャーナル作成ボタンを見つけやすい位置に移動しました。
    • AIモデル設定を簡素化し、画面切り替えや一覧表示のアニメーションを改善しました。

@273Do 273Do self-assigned this Aug 23, 2026
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5009e36c-5b15-4bb0-983e-1f0a9073ebf7

📥 Commits

Reviewing files that changed from the base of the PR and between 83eeef3 and b97154b.

📒 Files selected for processing (25)
  • src/app/(journal)/entry/[id].tsx
  • src/app/(journal)/index.tsx
  • src/app/_layout.tsx
  • src/app/days/_layout.tsx
  • src/app/days/entry/[id].tsx
  • src/app/days/index.tsx
  • src/components/days/days-card.tsx
  • src/components/days/days-header-slot.tsx
  • src/components/days/days-page-slot.tsx
  • src/components/days/days-view.tsx
  • src/components/days/slot-diff.ts
  • src/components/entry/entry-list-view.tsx
  • src/components/entry/entry-row.tsx
  • src/components/journal/field-bottom-sheet.tsx
  • src/components/journal/journal-chip.tsx
  • src/components/journal/journal-create-view.tsx
  • src/components/settings/application.tsx
  • src/constants/ai-models.ts
  • src/db/queries/entries.ts
  • src/hooks/days/use-days-entries.ts
  • src/hooks/settings/use-ai-reflection-settings.ts
  • src/hooks/settings/use-auto-reflection.ts
  • src/i18n/locales/en.json
  • src/i18n/locales/ja.json
  • src/utils/days/reflection/get-reflection.ts

Walkthrough

日付画面を3スロットのスワイプ表示へ変更しました。日付範囲のライブ取得とジャーナル別一覧を追加しました。AIモデルをGemma 3 4Bに固定し、起動時ダウンロードへ変更しました。UI操作と状態変更のアニメーションも更新しました。

Changes

日付タイムライン

Layer / File(s) Summary
日付範囲データ取得
src/db/queries/entries.ts, src/hooks/days/use-days-entries.ts
日付範囲のエントリーを取得するクエリを追加しました。ライブクエリの結果を日付別に整理します。
3スロットのスワイプ表示
src/app/days/index.tsx, src/components/days/days-header-slot.tsx, src/components/days/days-page-slot.tsx, src/components/days/slot-diff.ts
前後日付を含む3スロットを描画します。スワイプ完了時にスロットを再利用します。カレンダー選択時はスロット状態を初期化します。
ジャーナル別エントリー一覧
src/components/days/days-view.tsx, src/components/days/days-card.tsx, src/app/days/_layout.tsx, src/app/days/entry/[id].tsx
エントリーをジャーナル単位で表示します。各行からエントリー詳細画面へ遷移します。日付画面に詳細ルートを登録します。

AIモデル管理

Layer / File(s) Summary
固定モデル契約
src/constants/ai-models.ts
複数モデル定義を削除し、Gemma 3 4Bの単一モデル定義へ変更しました。
振り返り処理の固定化
src/hooks/settings/use-ai-reflection-settings.ts, src/hooks/settings/use-auto-reflection.ts, src/utils/days/reflection/get-reflection.ts, src/components/settings/application.tsx, src/i18n/locales/*.json
AIモデル設定の読み書きを削除しました。getReflectionAI_MODEL.ggufを使用します。モデル関連の翻訳キーと設定UIを削除しました。
起動時モデルダウンロード
src/app/_layout.tsx
AppContentの初回マウント時にモデルのダウンロードを開始します。失敗時は警告を出力します。

UI操作とアニメーション

Layer / File(s) Summary
ヘッダーとコンテキスト操作
src/app/(journal)/entry/[id].tsx, src/app/(journal)/index.tsx, src/components/entry/entry-row.tsx
ブックマーク操作とジャーナル作成操作をヘッダー内で再配置しました。ジャーナル名をオプションメニューのタイトルに設定しました。
一覧とジャーナル状態のアニメーション
src/components/entry/entry-list-view.tsx, src/components/journal/journal-chip.tsx, src/components/journal/journal-create-view.tsx
エントリー一覧の切り替え時にフェードを適用します。ジャーナルチップとフィールド一覧にイージングを追加します。
フィールド追加ボタン
src/components/journal/field-bottom-sheet.tsx
フィールド追加ボタンをLabel構成へ変更しました。アイコンサイズを17に設定しました。

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant 利用者
  participant DaysScreen
  participant useDaysEntries
  participant getEntriesByRangeQuery
  participant DaysPageSlot
  participant DaysView
  利用者->>DaysScreen: 日付をスワイプ
  DaysScreen->>useDaysEntries: 選択日と日付範囲を更新
  useDaysEntries->>getEntriesByRangeQuery: 範囲クエリを購読
  getEntriesByRangeQuery-->>useDaysEntries: ジャーナル付きエントリー
  DaysScreen->>DaysPageSlot: スロット位置と横移動量を設定
  DaysPageSlot->>DaysView: 日付別エントリーを渡す
  DaysView-->>利用者: ジャーナル別タイムラインを表示
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/#48-fix-journal-ui

Comment @coderabbitai help to get the list of available commands.

@273Do
273Do merged commit 06b739f into develop Aug 23, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UI 修正-260819

1 participant