[javascript] Universal Viewer를 활용한 다크 모드 및 테마 설정 기능

이번 글에서는 Universal Viewer를 활용하여 웹 애플리케이션에 다크 모드 및 테마 설정 기능을 추가하는 방법을 알아보겠습니다.

Universal Viewer란?

Universal Viewer는 여러 종류의 미디어 파일(이미지, 동영상, 문서 등)을 웹 환경에서 볼 수 있도록 지원하는 뷰어입니다. 다양한 포맷의 파일을 처리하고, 확대/축소, 회전, 주석 작성 등 다양한 기능을 제공합니다.

다크 모드 기능 추가하기

Universal Viewer에 다크 모드 기능을 추가하려면 다음 단계를 따르면 됩니다.

  1. HTML 파일에 Universal Viewer 스크립트를 로드합니다.
    <script src="universalviewer.min.js"></script>
    
  2. 스타일시트에 다크 모드 스타일을 추가합니다.
    /* 다크 모드 스타일 */
    body.dark {
        background-color: #000;
        color: #fff;
    }
    
  3. 다크 모드를 토글하는 버튼을 만들고 이벤트를 연결합니다.
    <button onclick="toggleDarkMode()">다크 모드</button>
    
  4. JavaScript 함수를 작성하여 다크 모드를 토글하는 로직을 구현합니다.
    function toggleDarkMode() {
        var body = document.querySelector('body');
        body.classList.toggle('dark');
    }
    

이제 웹 페이지에서 “다크 모드” 버튼을 클릭하면 페이지의 배경색과 글자색이 변경되는 것을 확인할 수 있습니다.

테마 설정 기능 추가하기

Universal Viewer에 테마 설정 기능을 추가하려면 다음 단계를 따르면 됩니다.

  1. HTML 파일에 Universal Viewer 스크립트를 로드합니다. (이미 로드했다면 생략 가능)
    <script src="universalviewer.min.js"></script>
    
  2. CSS 파일에 각 테마를 위한 스타일을 추가합니다.
    /* 테마1 스타일 */
    .theme1 {
        /* 스타일 설정 */
    }
       
    /* 테마2 스타일 */
    .theme2 {
        /* 스타일 설정 */
    }
    
  3. 테마를 선택하는 드롭다운 메뉴를 만들고 이벤트를 연결합니다.
    <select onchange="changeTheme(this.value)">
        <option value="theme1">테마 1</option>
        <option value="theme2">테마 2</option>
    </select>
    
  4. JavaScript 함수를 작성하여 선택된 테마에 해당하는 클래스를 추가하는 로직을 구현합니다.
    function changeTheme(theme) {
        var viewer = document.querySelector('.uv');
        viewer.classList.remove('theme1', 'theme2');
        viewer.classList.add(theme);
    }
    

이제 웹 페이지에서 테마를 선택하는 드롭다운 메뉴를 변경하면 Universal Viewer의 스타일이 선택한 테마에 맞게 변경되는 것을 확인할 수 있습니다.

마무리

이처럼 Universal Viewer를 활용하여 웹 애플리케이션에 다크 모드 및 테마 설정 기능을 쉽게 추가할 수 있습니다. 웹 페이지의 사용자 경험을 개선하고 시각적인 요소를 커스터마이징할 수 있습니다.

Universal Viewer 공식 문서에서 더 많은 정보와 사용 예제를 확인할 수 있으니 참고하시기 바랍니다.