diff --git a/apps/nextjs/public/locales/ja/common.json b/apps/nextjs/public/locales/ja/common.json index c5dda279..a085a21c 100644 --- a/apps/nextjs/public/locales/ja/common.json +++ b/apps/nextjs/public/locales/ja/common.json @@ -10,6 +10,7 @@ "works_description": "メイン時間にフロントエンド (Node.js/React) のサービス開発、それに付随するアクセシビリティ改善提案、開発環境刷新など行っています。余暇時間を使ってオープンソースへのコントリビュート活動も積極的に行っています。", "tech_blog": "2018年10月より運営の当ブログを始め、Vue.jsやNuxtを使ったフロントエンドを中心に設計・開発しています。", "eventin": "2021年06月よりジョインさせていただいているプロジェクトで、NestJS (Express) や WebSocket を利用したサービスの機能開発を中心にコントリビュートしています。", + "pos": "2019年07月よりジョインさせていただいているプロジェクトで、CakePHP (PHP) を利用したサービスの機能開発を中心にコントリビュートしています。", "portrait": "ポートレート", "portrait_description": "技術カンファレンスなどのオフラインイベントでは、イベント T シャツをよく着ています。これまで私は Vue Fes、JSConf、及びフロントエンドカンファレンスに参加していました。基本的にオンラインにおける見た目の公開は NG ですが、ご気軽にお問い合わせください。" } diff --git a/apps/nextjs/src/data/works.ts b/apps/nextjs/src/data/works.ts index 1fd6fad6..0abd7aff 100644 --- a/apps/nextjs/src/data/works.ts +++ b/apps/nextjs/src/data/works.ts @@ -1,21 +1,34 @@ +type Status = 'enabled' | 'archived' +type Image = 'webneko-blog' | 'eventin' | 'pos' | 'agentbank' | 'battlecats' + export interface WorkItem { title: string description: string + status: Status url: string - image: string + image: Image } export const works: WorkItem[] = [ { title: 'Tech Blog', description: 'tech_blog', + status: 'enabled', url: 'https://webneko.dev/', image: 'webneko-blog', }, { title: 'EventIn', description: 'eventin', + status: 'enabled', url: 'https://jp.vcube.com/eventdx/eventin', image: 'eventin', }, + { + title: 'Smaregi POS', + description: 'pos', + status: 'enabled', + url: 'https://jp.vcube.com/eventdx/eventin', + image: 'pos', + }, ] diff --git a/apps/nextjs/src/sections/WorksSection.tsx b/apps/nextjs/src/sections/WorksSection.tsx index 13bc4005..33b1a5fb 100644 --- a/apps/nextjs/src/sections/WorksSection.tsx +++ b/apps/nextjs/src/sections/WorksSection.tsx @@ -4,12 +4,15 @@ import styles from 'css/link-preview.module.scss' import { works } from '../data/works' const WorksSection = () => { + const showWorks = React.useMemo(() => { + return works.filter((work) => work.status === 'enabled') + }, []) return (

{i18next.t('works')}

{i18next.t('works_description')}

- {works.map((work, index) => { + {showWorks.map((work, index) => { return (

{work.title}

diff --git a/libs/og-gen/main.ts b/libs/og-gen/main.ts index fd238bcc..42f2c093 100644 --- a/libs/og-gen/main.ts +++ b/libs/og-gen/main.ts @@ -81,6 +81,24 @@ async function captureOgImage( title: "", description: "", }, + { + slug: 'pos', + url: 'https://smaregi.jp/', + title: "", + description: "", + }, + { + slug: 'agentbank', + url: 'https://agent-bank.com/', + title: "", + description: "", + }, + { + slug: 'battlecats', + url: 'https://battlecats.club/en/series/battlecats/', + title: "", + description: "", + }, ]; const browser = await puppeteer.launch();