그룹용 커스텀 홈페이지

이전에는 왜 기본 및 익명 홈페이지 지원을 삭제했는지 여전히 확신이 서지 않습니다. 해당 부분을 복원했습니다.

이제 custom_default_homepage가 있으면 그룹 매칭이 없는 한 이를 사용합니다. anon_page가 있고 사용자가 익명인 경우 이를 사용합니다.

모바일 페이지를 언제, 어떻게 설정해야 하는지(익명 사용자에게만? 모든 사용자에게? 기본 페이지를 덮어쓰는가? 그룹 맵을 덮어쓰는가?)를 파악할 수 없었기 때문에 이를 삭제했습니다. 해당 모바일 페이지를 사용하고 있다면, 무엇을 덮어써야 하는지 의견을 알려주세요. (모바일 환경에서 기본 페이지로 설정하되, 그룹 페이지가 있으면 그걸 사용해야 하는 것 같습니다. 여전히 익명 사용자와 로그인 사용자에 대해 어떻게 해야 할지 명확하지 않네요. 아마 모든 페이지에 모바일 버전이 필요할지도 모릅니다.)

다음은 코드입니다:

      let url = null;

      if (settings.custom_default_homepage) {
        url = settings.custom_default_homepage.replace(/^\/+/g, "");
      }

      if (user) {
        if (user.primary_group_name && settings.group_page_map) {
          let groupMap = settings.group_page_map.replace(",", ":").split("|");
          const mapEntry = groupMap.find((value) =>
            RegExp(user.primary_group_name).test(value)
          );
          if (mapEntry) {
            url = mapEntry.split(":")[1].replace(/^\/+/g, "");
          }
        }
      } else if (settings.anon_page) {
        url = settings.anon_page.replace(/^\/+/g, "");
      }

그리고 url에 값이 있을 때만 홈페이지를 변경합니다.

8개의 좋아요