Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
6a1d4c8
Feat: Add settings page with integration and relationship configurati…
jhodapp Dec 20, 2025
1746499
feat: Add AI meeting integration frontend components (Phase 6)
jhodapp Dec 21, 2025
0ee30ca
Fix: Improve AI meeting integration reliability and UX
jhodapp Dec 22, 2025
6a41436
Move session selector to site header and add AI suggestions polling
jhodapp Dec 22, 2025
782a04c
Improve header session selector styling
jhodapp Dec 22, 2025
aa94b95
Feat: Add manual extraction UI, dual privacy levels, and session summary
jhodapp Dec 24, 2025
65c0a97
Fix: Handle null due_by gracefully in actions list display
jhodapp Dec 24, 2025
815b303
Refactor: Move transcript tab to main coaching notes area
jhodapp Dec 24, 2025
3338c34
Refactor: Use dropdown selector for relationship settings
jhodapp Dec 24, 2025
ca3ad89
Feat: Add Google Meet creation button to relationship settings
jhodapp Dec 24, 2025
e0dfb09
Feat: Handle Google OAuth success callback in settings page
jhodapp Dec 24, 2025
790ea1c
Feat: Sort coachee dropdown alphabetically by last name, then first name
jhodapp Dec 24, 2025
7bf4080
Feat: Show other party's AI privacy choice with mutual consent explan…
jhodapp Dec 24, 2025
7cbb613
Fix: Use coachee's first name in Google Meet helper text
jhodapp Dec 24, 2025
974f1fb
Fix: Use coach's first name in coachee privacy settings helper text
jhodapp Dec 24, 2025
c210825
Feat: Update action extraction types for async processing
jhodapp Dec 27, 2025
d9e1e08
Feat: Add AI transcription tab UI prototype
jhodapp Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions prototype/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
25 changes: 25 additions & 0 deletions prototype/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# AI Transcription Tab Prototype

A standalone UI prototype for the AI transcription/insights feature.

## Setup

```bash
cd prototype
npm install
```

## Running

```bash
npm run dev
```

Then open http://localhost:5173 in your browser.

## Notes

- This is a self-contained Vite + React app with Tailwind CSS
- The prototype is in `src/ai-transcription-tab.jsx`
- All data is mocked - no backend required
- Node.js 20.19+ or 22.12+ is recommended (though it works with 21.x with warnings)
29 changes: 29 additions & 0 deletions prototype/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{js,jsx}'],
extends: [
js.configs.recommended,
reactHooks.configs.flat.recommended,
reactRefresh.configs.vite,
],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
sourceType: 'module',
},
},
rules: {
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
},
},
])
13 changes: 13 additions & 0 deletions prototype/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>prototype</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
Loading