Spec
ADDED Requirements¶
Requirement: サイトタイトルを環境変数で設定できる¶
システムは、ビルド時の環境変数 VITE_APP_TITLE によってサイトタイトル(ブラウザタブの <title> タグおよびヘッダーのブランド名表示)を設定できるものとする(SHALL)。環境変数が未設定の場合、デフォルト値として「Teams Board」を使用しなければならない(MUST)。
Scenario: 環境変数でカスタムタイトルを設定した場合¶
- WHEN 環境変数
VITE_APP_TITLEに「カスタムタイトル」を設定してビルドする - THEN ブラウザタブのタイトルが「カスタムタイトル」と表示される
- THEN ヘッダーのブランド名が「カスタムタイトル」と表示される
Scenario: 環境変数が未設定の場合¶
- WHEN 環境変数
VITE_APP_TITLEを設定せずにビルドする - THEN ブラウザタブのタイトルが「Teams Board」と表示される
- THEN ヘッダーのブランド名が「Teams Board」と表示される
Requirement: デフォルト環境変数ファイルにサイトタイトルが定義されている¶
プロジェクトルートの .env ファイルに VITE_APP_TITLE=Teams Board がデフォルト値として定義されていなければならない(MUST)。これにより、環境変数を明示的に設定しなくても開発時・ビルド時に適切なタイトルが適用される。
Scenario: .envファイルによるデフォルト値の適用¶
- WHEN
.envファイルが存在しVITE_APP_TITLE=Teams Boardが定義されている - WHEN 追加の環境変数設定なしで
pnpm run devを実行する - THEN ヘッダーのブランド名が「Teams Board」と表示される
Scenario: .env.localで上書きする場合¶
- WHEN
.env.localファイルにVITE_APP_TITLE=MyDashboardを定義する - WHEN
pnpm run devを実行する - THEN ヘッダーのブランド名が「MyDashboard」と表示される
Requirement: ヘッダーのブランド名表示が動的に解決される¶
App.jsx のヘッダーコンポーネントは、ハードコードされた文字列ではなく import.meta.env.VITE_APP_TITLE を参照してブランド名を表示しなければならない(MUST)。フォールバック値として「Teams Board」を使用する(SHALL)。
Scenario: ヘッダーがimport.meta.envからタイトルを取得する¶
- WHEN アプリケーションが読み込まれる
- THEN ヘッダーのブランド名は
import.meta.env.VITE_APP_TITLEの値を表示する - THEN 値が空またはundefinedの場合は「Teams Board」を表示する