Skip to content

スロット提出/検収フローの完成 + UI/UX全面刷新 + ビルド修復 - #6

Open
aonao44 wants to merge 3 commits into
mainfrom
feature/smart-inbox-ui
Open

スロット提出/検収フローの完成 + UI/UX全面刷新 + ビルド修復#6
aonao44 wants to merge 3 commits into
mainfrom
feature/smart-inbox-ui

Conversation

@aonao44

@aonao44 aonao44 commented Jul 8, 2026

Copy link
Copy Markdown
Owner

概要

3系統の調査(コード/要件/市場)から SaaS 化の方針を固め、その上でアプリを実装まで進めた大型の変更です。プロダクトの背骨「クライアントはログイン不要 / OK・NG 検収 / 日本語ネイティブ」を軸に、Web Interface Guidelines + Jobs 視点で全画面を審査し修正しました。

主な変更

UI/UX(4画面を監査 → 実装)

  • LP: ヒーローを日本語ファースト「素材回収、もう催促しない。」に刷新し3本柱を明記。本文が JS 実行まで不可視だった問題を解消、prefers-reduced-motion 対応、next/font 配線バグと OG メタデータ修正
  • 提出フロー: ライトボックスのモーダル化(ESC/フォーカス)、alert() 6箇所をインラインエラー化、Enter 送信・autoComplete、キーボードでの割当、Blob URL リーク修正、英語システム用語の日本語化
  • 検収フロー: リロードで検収状態が消えるバグ修正、alert()→toast、クリック可能 div→button、NG コメント必須化、削除を AlertDialog に統一
  • ダッシュボード/作成: テンプレ選択時にスロット編集が破棄されるバグ修正、実際に動く並べ替え、作成失敗のインラインエラー化

正しさ(実害バグ)

  • 提出 API: スロット提出がファイル上限のカウント外だった穴を封鎖+保存前検証
  • ツーペイン: 同名ファイルの取り違えを一意 ID 突合で防止
  • プラン上限を lib/plan-limits.ts に一元化

ビルド/インフラ

  • NODE_ENV=production を build スクリプトに固定(dev-env 混入でプリレンダーが壊れていた)
  • next 16.2.10 / @clerk/nextjs 6.39.5、未使用の clerk-sdk-node 撤去、next lint 廃止に伴う ESLint CLI 移行
  • global-error / not-found ページ追加

バックエンド

  • migration 008 でコードと一致するスキーマを再構築(client_name/client_email/user_id)。旧 Supabase が90日超停止で消失したため新プロジェクト dropzone-v2 に適用済み

ドキュメント

  • agent_docs/saas-strategy.md(競合・料金・差別化、出典付き)、roadmap を現状に同期

検証

  • npm run build 成功 / tsc --noEmit エラー0 / npm run lint エラー0(警告は既存の shadcn ベンダー分のみ)
  • LP・sign-in を実ブラウザで描画確認(コンソールエラー0)

未対応・要フォロー

  • 要ユーザー作業: .env.local を新 Supabase の3キーに差し替え(Service Role キーはダッシュボードから取得)
  • 提出→検収→再提出の実 DB E2E は未実施(新 DB 接続後に検証予定)
  • 新 DB 5テーブルは RLS 無効(Service Role 方式と整合するが本番前にポリシー検討)
  • 料金プラン・決済基盤の確定は未(saas-strategy.md の推奨は Free+Pro / Clerk Billing)

🤖 Generated with Claude Code

aonao44 and others added 2 commits December 19, 2025 11:11
…ild repair

Product/UX (Web Interface Guidelines + Jobs-level audit across all screens):
- Rework landing hero to Japanese-first "素材回収、もう催促しない。" stating the
  three pillars (login-free client, OK/NG review, completion); make copy readable
  without JS; honor prefers-reduced-motion; fix next/font wiring and OG metadata
- Two-pane submission: modal lightbox (ESC/focus), inline errors replacing alert(),
  Enter submit + autoComplete, keyboard drag, Blob URL leak fix, JP terminology
- Review flow: fix review-status persistence bug on reload, alert()->toast,
  clickable divs->buttons, required NG comments, AlertDialog for deletes
- Dashboard/new: stop discarding slot edits on submit, real drag-sort, inline
  create errors, AlertDialog delete confirm; drop no-op trial badges

Correctness:
- submissions API: count slot files toward per-project limit, validate before save
- two-pane upload: match results by unique id to avoid same-name file swap
- centralize plan limits (lib/plan-limits.ts) and gate via lib/billing.ts

Build/infra:
- pin NODE_ENV=production in build script (dev-env leakage broke prerender)
- next 16.2.10 / @clerk/nextjs 6.39.5, drop unused clerk-sdk-node
- turbopack.root, custom global-error/not-found pages
- migrate to ESLint CLI (next lint removed in Next 16)

Backend:
- migration 008 rebuilds schema to match code (client_name/client_email/user_id)

Docs: SaaS strategy (agent_docs/saas-strategy.md), refreshed roadmap

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drop-zone Ready Ready Preview, Comment Jul 8, 2026 7:58am
drop-zone-251117 Error Error Jul 8, 2026 7:58am

Add Clerk forceRedirectUrl="/dashboard" to the SignIn and SignUp components
so users land on the dashboard immediately after authenticating, instead of
staying on the auth page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant