봤던 목록들과 추천 무시하기를 수행한 목록들을 제외하고 추천목록에서 보여주게 만들었다.
// 1. 사용자 정보 조회
  const { data: userId } = await supabase.from('users').select('id').eq('username', username);
  const { data: ignoreList } = await supabase
    .from('ignored_movies')
    .select('ignored_movies')
    .eq('userid', userId![0]?.id);
  const { data: watched } = await supabase.from('users').select('watched_movies').eq('id', userId![0]?.id);
  // 2. ignoreList와 watched 목록에서 영화 ID 추출
  const ignoredMovieIds = ignoreList![0]?.ignored_movies || [];
  const watchedMovieIds = watched![0]?.watched_movies || [];
  // 3. 필터링하여 제외된 영화들 반환
  const ignoredList = Array.from(new Set([...ignoredMovieIds, ...watchedMovieIds])).map((id) => id.toString());
ignoredList를 props로 내려서 특정 영화 id를 제외하고 필터링하게 만들어줬다!
const results = data[0].results;
      const filteredResults = results.filter((movie) => !ignoredList.includes(movie.id.toString()));
      setDataToProject([...dataToProject, ...filteredResults]);
무한 스크롤에서 매개변수로 ignoredList가 필요한데, js의 꼭 모든 매개변수를 넣을 필요가 없게 만들거나, 컴포넌트를 더 독립적으로 리팩토링 할 필요가 있을 것 같다.
supabase에서 policy를 설정해줬어야 하는데 깜빡하고 안해줘서 불러오기가 되지 않았다.

정책을 로그인한 사람만 가능하도록 설정했는데, 상태 코드가 204로 계속 떠서 생각해봤더니 기존에 사용하던 supabase코드는 createClient를 사용했다.
다른 분의 코드를 살펴보니 createServerComponentClient에 cookie를 가져와서 사용하셨다.
하지만, 해당 버튼은 clientcomponent였다.
const supabase = createClientComponentClient<Database>(); 로 지정해주니, 동작이 잘 되었다. clientcomponent에서는 자동으로 불러와서 로그인 id를 판별하는 것 같았다. 
하루종일 문서를 여러번 읽어보고 시도해보면서 나름 동작이 이해가 되는 것 같았다. 작업속도를 높여서 이번주 내에 모든 기능을 완성해보자!