check-attendance-docker's People
check-attendance-docker's Issues
add-button
一言で
- ボタン大とボタン小のreact componentを作成してほしい
詳細
- ボタンに求める機能
- props
- onClick<() => void> : クリック時に走る関数
- disabled : 押せる状態かどうか
- trueの場合ボタンは押せず、disabledなカラーにする
- buttonのdefaultのpropsにある
- ableColor<"primary" | "secondary">: 押せる状態の時の色の指定
- children : ボタンに表示する文字
- props
- 見た目
- tailwind.config.jsでprimary, secondary, disabledのカラーを指定してください
- カラーパレットは前回指定した通りです
- hoverで色を濃くするようにしてください
- disabledの場合は「クリックできない感」を出してください
- その他創意工夫大歓迎です
- tailwind.config.jsでprimary, secondary, disabledのカラーを指定してください
- 大と小
- 大と小をデザイン例を参考に作ってください
- SmallButton.tsxとLargeButton.tsxを/src/app/components下に作成してください
- あるいは、proposでsize <"small" | "large">を受け取って大きさを変えられるようにしてください
- どっちかというとこっちのほうが望ましい
- テスト
- /src/app/pages/test-button/page.tsxを作成し、ボタンの各機能がテストできるようにボタンを配置してください
- onClickにはconsole.log("hello world")とでも入れておいてください
デザイン例
`/src/app/attend/[id].tsx`の作成
attend-uiのPOST後のリフレッシュ改善
const queryClient = useQueryClient(); // new QueryClient(); ではなく
const { mutate } = useMutation({
mutationFn: async (data: { id: string }) => {
const { data: res } = await axios.post("/api/attend", data);
console.log(res);
},
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ["attendInfo", userId] });
queryClient.invalidateQueries({ queryKey: ["userInfo", userId] });
},
});
とすることで自然なリフレッシュが可能?
`/src/app/api/user/route.tsx`作成
GET(id)で{name, promisedTime, abseces}を取ってくる
現状タスクの整理
add-admin-page
一言で
- 現在のユーザ一覧の取得とユーザを追加できるページの作成
詳細
- 現在ルート"/"にとりあえず置かれている内容をadminに移して運用できるようにする
- ヘッダーのアイコン:
import { FaUserCog } from "react-icons/fa";
- とりあえずユーザ一覧を取得して表として見せる
- 「ユーザー一覧」の文字はh2とかh3で
- これ使ってみて:https://www.material-react-table.com
- idは途中で省略して横スクロールできるように
- 10件を上限に、ボタンで次の表に遷移できるような実装ができるはず
- ユーザを追加できるフォームを作成
- 「ユーザー追加フォーム」の文字はh2とかh3で
- 時刻選択はドラムロール(年月日は2000年1月1日で固定してください)
- 名前と日付入れない限りボタンはdisabledに
- 余裕があればめっちゃ簡単なパスワード保護ができると良いかも(
useState
とかで) - ゆくゆくは表から各人のページに飛べるようなルーティングも設定したい
UIイメージ
タスク
- admin/page.tsxの追加
- ユーザ一覧の表の作成
- ユーザー追加フォームの作成
- (more)パスワード保護
- (more)ルーティングの設定
ハンバーガーメニューの作成
一言で
/attend/[id].tsx
などで利用するハンバーガーをsrc/components/hamburgerMenu.tsx
に作成してほしい
詳細
- ヘッダーの右上にあるハンバーガーアイコンをクリックしたらフワっと画面全体を覆う感じで出てくる
- 各項目に触れたらUI2枚目みたいなエフェクトを出してほしい
- 載せてほしい項目は以下の通り(
src/components/hamburgerButton.tsx
で一回雛形を作ってから再利用する)- 「公欠の登録」
/absence/[id].tsx
に遷移- アイコンは
import { FaBed } from "react-icons/fa";
- 「登校目標時刻の変更」
/change-time/[id].tsx
に遷移- アイコンは
import { FaRegCalendarAlt } from "react-icons/fa";
- 「開発に参加しよう」
https://github.com/oXyut/check-attendance-docker
に遷移- アイコンは
import { FaGithub } from "react-icons/fa";
- 「ホームに戻る」:できれば画面右下にフッターみたいな感じで配置
/user/[id].tsx
に遷移- アイコンは
import { FaHome } from "react-icons/fa";
- 「公欠の登録」
UIのデザイン例
`/src/app/absence/[id].tsx`の作成
一言で
- 各ユーザーが公欠を登録・確認できるフォームを
/src/app/absence/[id].tsx
に作成してほしい
詳細
- 日付選択はカレンダー
/src/components/Calender.tsx
で別途作成するか、既存のライブラリを利用してください(後者推奨)- 複数選択できるようにしてください(同一の理由で一定期間休む際に全部いちいち登録したくない)
- 公欠の日付と公欠理由は必須で、入力しないとdisabled
- 予約一覧
- 理由は途中で省略
- 削除ボタンを押したら「本当に削除しますか?」をいうポップアップを出す
- 日付が過ぎたら削除ボタンをチェックボックスに変え、行ごと薄くする
UIデザイン例
![image](https://private-user-images.githubusercontent.com/79395449/292824093-3df90592-3e99-497a-9efc-354fd992642a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY3NzYwMzAsIm5iZiI6MTcxNjc3NTczMCwicGF0aCI6Ii83OTM5NTQ0OS8yOTI4MjQwOTMtM2RmOTA1OTItM2U5OS00OTdhLTllZmMtMzU0ZmQ5OTI2NDJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTI3VDAyMDg1MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU4ZmZkZWIxMDgyNzVmMmRiYjJlYjYxMjU3YTJjNTE2NzA2M2IyZTQ3YmY1OGM4Mzc1MjkzYzY0MzA2ZDE1YmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LaPuWeCLtFKFb0yZKeZAbJ04YwTTady2X0oeT1JcChg)
admin-uiのリフレッシュ改善/LoadingBarの追加
react-tableをtanstack-tableに移行/バグ修正
- https://tanstack.com/table/v8に移行
- tableをcomponent化
adminのフォームの枠統一
`/src/app/api/absence/route.tsx`作成
POSTで公欠の登録
add-drumroll-component
概要
- ドラムロールで時刻(hours, minutes)が入力可能なreact-componentを作成する
perse-datetime
一言で
- datetime型は
2000-01-01T10:30:00+09:00
のような形式しか許さないようにzodでvalidation/perseしたい
詳細
- check-attendance-docker/next_app/src/schema/index.tsにzodによるperseが登録されており、現在
userSchema
がuser情報をpostする際のperseが登録されている。例えばこのperseのpromisedTime
で2000-01-01T10:30:00+09:00
のような形式しか許さないようにしたい
備考
- date型には様々な形式があるので特定の形式しか許さないようにしたい
+09:00
の部分はタイムゾーンで、これをつけると日本時刻として了承される- この形式でpostしたらデータベースに正常に登録されるのは確認済み
初回のuseQueryがいつまでも終わらないことがある
Unhandled Runtime Error
ChunkLoadError: Loading chunk app/layout failed.
(timeout: http://127.0.0.1:3000/_next/static/chunks/app/layout.js)
`/api/attend`の変更
すみません、PMのissueの書き方とreviewが杜撰なせいで、/api/attend
が想定と違うものになってしまったので修正をお願いしたいです。
POST
- 現状、db中のattendanceにPOSTするとidとuserIdが等しいレコードが作成または更新されると思います。これだと、過去誰が何時に投稿したかの記録を貯めることができないので、逐一新しいidでエンティティを作成してください。蓄積された記録は、例えば、後のアップデートで統計要約を行い各ユーザーのページに表示する可能性があります。
- 同じユーザーの同じ日のレコードがあるのにも関わらずPOSTが飛んできた場合は弾き、dbに登録させないでください。
GET
- GETのresponseには
{attendanceTime: string, isAttend: boolean}
が入ると思いますが、attendanceTime
は08:30
のような形式ではなくて、dbのレコードに登録されているそのままのDate型を返してください。これを表示する形式に変更などの処理はフロントエンド側でやります。 isAttend
がfalse
のときのattendanceTime
は1990-01-01T00:00:00.000Z
としてください(null
とか入れるとtypeの分岐がめんどくさくなるのでダミーの日付を入れたいです)
`/src/app/api/change-time/route.tsx`作成
POSTで目標時間の変更
change-time-uiのDrumTimePikerの太字解除/LoadingBarの追加
loadingbarの見た目変更
absence-tableをcomponent化
absenceのDatePickerの修正
概要
DatePickerで日付を複数選択するときに、明日の日付を含めるとDatePicker以外の所をクリックしたときに明日の日付以外が消される
ヘッダーを太字にしたい
build後のprismaエラー
prisma:error
Invalid `prisma.user.findUnique()` invocation:
Inconsistent column data: Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `m` at 3
⨯ PrismaClientKnownRequestError:
Invalid `prisma.user.findUnique()` invocation:
Inconsistent column data: Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `m` at 3
at si.handleRequestError (C:\Users\yutos\check-attendance-docker\next_app\node_modules\@prisma\client\runtime\library.js:125:6817)
at si.handleAndLogRequestError (C:\Users\yutos\check-attendance-docker\next_app\node_modules\@prisma\client\runtime\library.js:125:6151)
at si.request (C:\Users\yutos\check-attendance-docker\next_app\node_modules\@prisma\client\runtime\library.js:125:5859)
at async l (C:\Users\yutos\check-attendance-docker\next_app\node_modules\@prisma\client\runtime\library.js:130:10025)
at async d (C:\Users\yutos\check-attendance-docker\next_app\.next\server\app\api\user\route.js:1:604)
at async C:\Users\yutos\check-attendance-docker\next_app\node_modules\next\dist\compiled\next-server\app-route.runtime.prod.js:6:41322 {
code: 'P2023',
clientVersion: '5.7.1',
meta: {
modelName: 'User',
message: 'Error creating UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `m` at 3'
}
}
`/src/app/api/attend/route.tsx`作成
POSTで現在時刻で登校、GETで登校しているかどうかと登校時刻
change-time-uiのPOST後のリフレッシュ改善
absenceのPOSTで既存のreasonを上書きしてほしい
change-timeの時間変更時に変更した感が欲しい
- 案:ボタンの横にチェックマークを表示させる?
ボタンの色が消えちゃった…
absenceのconfirmに枠つけてほしい
absenceで本当に削除しますか?の確認ボックスが半透明で出ているのが現状ですが、これ不透明で枠つけてほしいかもです
build時のエラー対処
出たエラー
node ➜ /workspace/next_app (main) $ yarn next build
yarn run v1.22.19
$ /workspace/next_app/node_modules/.bin/next build
⚠ You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env
▲ Next.js 14.0.3
- Environments: .env
✓ Creating an optimized production build
✓ Compiled successfully
✓ Linting and checking validity of types
✓ Collecting page data
Generating static pages (6/14) [= ]
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/admin". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/test/drum-time-picker". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
Generating static pages (8/14) [== ]
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/test/button". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
Generating static pages (9/14) [=== ]
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
⨯ TypeError: Cannot read properties of null (reading 'useContext')
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error occurred prerendering page "/test/hamburger-menu". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of null (reading 'useContext')
at t.useContext (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js:12:106189)
at y (/workspace/next_app/.next/server/chunks/879.js:1:21892)
at d (/workspace/next_app/.next/server/chunks/879.js:1:12206)
at as (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:6505)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:11284
at aw (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13038)
at e (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:46298)
at ak (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:48276)
at av (/workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:7923)
at /workspace/next_app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:35:13014
Error: <Html> should not be imported outside of pages/_document.
Read more: https://nextjs.org/docs/messages/no-document-import-in-page
at eu (/workspace/next_app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:16:5482)
at y (/workspace/next_app/.next/server/chunks/687.js:6:1299)
at renderWithHooks (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
at renderNodeDestructiveImpl (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
at renderNodeDestructive (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
at finishClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5688:3)
at renderClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5696:3)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5943:7)
Error occurred prerendering page "/404". Read more: https://nextjs.org/docs/messages/prerender-error
Error: <Html> should not be imported outside of pages/_document.
Read more: https://nextjs.org/docs/messages/no-document-import-in-page
at eu (/workspace/next_app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:16:5482)
at y (/workspace/next_app/.next/server/chunks/687.js:6:1299)
at renderWithHooks (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
at renderNodeDestructiveImpl (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
at renderNodeDestructive (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
at finishClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5688:3)
at renderClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5696:3)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5943:7)
Error: <Html> should not be imported outside of pages/_document.
Read more: https://nextjs.org/docs/messages/no-document-import-in-page
at eu (/workspace/next_app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:16:5482)
at y (/workspace/next_app/.next/server/chunks/687.js:6:1299)
at renderWithHooks (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
at renderNodeDestructiveImpl (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
at renderNodeDestructive (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
at finishClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5688:3)
at renderClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5696:3)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5943:7)
Error occurred prerendering page "/500". Read more: https://nextjs.org/docs/messages/prerender-error
Error: <Html> should not be imported outside of pages/_document.
Read more: https://nextjs.org/docs/messages/no-document-import-in-page
at eu (/workspace/next_app/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js:16:5482)
at y (/workspace/next_app/.next/server/chunks/687.js:6:1299)
at renderWithHooks (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
at renderElement (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7)
at renderNodeDestructiveImpl (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
at renderNodeDestructive (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
at finishClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5688:3)
at renderClassComponent (/workspace/next_app/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5696:3)
✓ Generating static pages (14/14)
> Export encountered errors on following paths:
/_error: /404
/_error: /500
/_not-found
/admin/page: /admin
/page: /
/test/button/page: /test/button
/test/drum-time-picker/page: /test/drum-time-picker
/test/hamburger-menu/page: /test/hamburger-menu
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
`/src/app/change-time/[id].tsx`の作成
attend-uiに遅刻回数などの統計の表示(UI考案から)
`/src/app/page.tsx`の作成
一言で
- 各ユーザの登校ページに遷移するwelcomeページを作成する
詳細
- api/users/route.tsxにGETしてとってきたユーザー一覧をマルチセレクトとしてユーザー名を選択させる
-- マルチセレクトの初期値は空で、このままだと決定ボタンを押せないようにしてください - 決定ボタンを押すとユーザーに対応したページ
src/app/attend/[id].tsx
にページ遷移(ルーティング)させるsrc/app/attend/[id].tsx
は適当に、受け取ったidを表示させるだけのページを作っておいてください- このようなダイナミックルーティングはこことかを参考にしてください
UI
build時のエラー(absence)
yarn next build
を実行したところ、以下のようなエラーが出た
./src/app/absence/[userId]/page.tsx:72:53
Type error: This expression is not callable.
Each member of the union type '{ <S extends string>(predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } | { ...; } | { ...; } | { ...; }' has signatures, but none of those signatures are compatible with each other.
70 | setIsButtonClicked(true);
71 |
> 72 | if (!Array.isArray(absenceDate) || !absenceDate.every((date) => date instanceof DateObject)) {
| ^
73 | console.error("Invalid date format");
74 | return;
75 | }
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.