これはフロントエンドカンファレンス北海道2024のラインディングページ用リポジトリです
リポジトリをクローンする
git clone https://github.com/frontend-conference-hokkaido-2024/landing-page-2024.git
Node.jsのバージョンを20台にする
依存関係をインストールする
pnpm install
環境変数を設定する
.env.local.sample
をコピーして.env.local
を作成し、環境変数を設定する
開発サーバーを起動する
pnpm dev
sponsorSection.tsx: スポンサータイプに応じたレイアウトをグリッドで表示する スポンサー一覧表示時のエントリポイントとなるファイル スポンサータイプに応じてグリッドのカラム数を決定し、SponsorAvatarに画像と表示サイズを受け渡す
sponsorAvatar.tsx: スポンサーアイコンを表示するためのコンポーネント。画像と表示サイズはSponsorListが決定する
sponsorType.tsx: スポンサータイプに応じた情報(ロゴリスト、画像サイズ、レイアウト)を管理
グリッドのレイアウトを決定する スポンサーの layout プロパティでグリッドのレイアウトを決定している レイアウトのタイプは2つ:
layout: "grid gap-8"
= 1列のグリッド (シルバー以外)layout: "grid grid-cols-2 gap-8"
= 2列のグリッド (シルバー)グリッドの横幅を決定する スポンサーの gridViewSize プロパティで任意のスポンサータイプが表示されるグリッドのサイズを決定している グリッドの横幅を指定することで、間接的にロゴ画像サイズを制御している サイズは3種:
sponsorGridWidth: "w-11/12 mx-auto"
= プラチナsponsorGridWidth: "w-8/12 mx-auto"
= 道内ゴールド, ゴールド, ローカル, デザインsponsorGridWidth: "w-11/12 mx-auto"
= シルバースポンサーロゴの画像を渡す スポンサーの logos プロパティで、スポンサー種別に応じたロゴの画像パス一覧を保持する 画像は、配列のインデックス順に表示される
スポンサーのロゴ画像を変更する手順は以下の通り
スポンサー種別のグリッドレイアウトを変更する手順は以下の通り
スポンサー種別のロゴ画像表示サイズを変更する手順は以下の通り
ジョブボードページは/job-board
に存在する。
スポンサーの求人の表示関わる部分は@jobBoardSection
で実装している。
特に、1求人あたりの表示の実装はJob.tsx
(ジョブボードの単位コンポーネント)で実装している。
スポンサーの求人に直接関係ない説明文などは、直接job-board/page.tsx
にて実装している。
@jobBoardSection
について@jobBoardSection
以下のファイルなどについての説明。
/components
Job.tsx
/data
types.ts
Job.tsx
とconstants.ts
で使用される。constants.ts
comment
: 求人についてのコメントimageUrl
: 求人に表示するスポンサーのロゴhref
: スポンサーの求人ページへのリンク/page.tsx
ここでスポンサーの求人をまとめて表示させる処理を記述している。 以下がコア部分
<div className="grid grid-cols-1 gap-16 place-items-center">
{JOB_BOARD_SECTION_DATA.map((jobData, index) => <Job {...jobData} key={index} />)}
</div>
グリッドレイアウトで表示しており、現状縦1列で表示されるようになっている。
JOB_BOARD_SECTION_DATA: JobProps[]
をmapメソッド
を使って、各要素をJobコンポーネント
に渡している。
landing-page-2024\src\app\job-board\@jobBoardSection\data\constants.ts
のJOB_BOARD_SECTION_DATA
配列に新しいJob
オブジェクトを追記すればよい。上から順番に表示される。