Skip to content

feat(mobile): add Notes tab and structured meeting-notes screen#7

Open
toukanno wants to merge 1 commit intomainfrom
codex/finish-app-development
Open

feat(mobile): add Notes tab and structured meeting-notes screen#7
toukanno wants to merge 1 commit intomainfrom
codex/finish-app-development

Conversation

@toukanno
Copy link
Copy Markdown
Owner

Motivation

  • Provide on-device meeting-notes capability to match desktop features and let users generate structured minutes from raw memo input.
  • Offer an offline/local fallback for generating a summarized, actionable notes format without relying on external AI services.

Description

  • Added a new Notes tab to the mobile bottom navigator by importing NotesScreen and registering the screen in packages/mobile/App.tsx.
  • Implemented NotesScreen at packages/mobile/src/screens/NotesScreen.tsx which accepts raw memo and optional participant input and produces a structured output (## サマリー / ## 参加メンバー / ## アクションアイテム / ## 決定事項 / ## 次のステップ).
  • Built a simple parser/generator (buildNotes) to extract action candidates, decisions, and next steps from lines and format them as checklist items, and added a native share action via Share.share for the generated notes.
  • Kept styling consistent with existing mobile theme and component patterns and added basic UI states for input, generation, and sharing.

Testing

  • Attempted npm install, but dependency installation failed due to registry access (403 Forbidden while fetching @anthropic-ai/sdk), so full dependency resolution could not be completed.
  • Attempted npm run typecheck, but it failed because turbo is not available in the environment (sh: 1: turbo: not found), so workspace type checks were not executed.

Codex Task

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an on-device “Notes” workflow to the mobile app by introducing a new bottom-tab screen that turns raw meeting memos into a structured, shareable minutes format.

Changes:

  • Added a new Notes tab to the bottom navigator in packages/mobile/App.tsx.
  • Implemented NotesScreen with memo/member inputs, local note structuring (buildNotes), and native share support.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
packages/mobile/App.tsx Registers the new Notes tab in the bottom-tab navigator.
packages/mobile/src/screens/NotesScreen.tsx New screen for generating and sharing structured meeting notes from raw text input.
Comments suppressed due to low confidence (1)

packages/mobile/App.tsx:13

  • App.tsx defines its own theme object while the screens (including the newly added NotesScreen) import theme from src/styles/theme. This creates two sources of truth and can lead to subtle UI drift when colors/tokens change. Consider importing and reusing the shared theme here as well (or renaming the local theme to make the split explicit).
import NotesScreen from './src/screens/NotesScreen'

const Tab = createBottomTabNavigator()

const theme = {

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +67 to +70
const handleShare = async () => {
if (!generated) return
await Share.share({ message: generated })
}
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Share.share can reject (e.g., user cancels or OS share sheet fails). Right now an exception would propagate as an unhandled promise rejection and there’s no user feedback. Wrap the call in try/catch (and optionally ignore the common “dismissed/cancelled” case) and show a lightweight error UI (e.g., Alert) on real failures.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants