Files
ArtPlayer/packages/artplayer/src/icons/index.js
T
Harvey Zhao 699bf09577 feat: update changelog with Parcel to Vite refactor
feat: add danmuku plugin documentation and i18n setup guide

- Created a new documentation file for the danmuku plugin with code examples.
- Added a comprehensive guide for language settings (i18n) including default languages, importing languages, adding new languages, and modifying existing languages.
- Included code snippets for initializing the Artplayer with different language settings.

Add internationalization support for multiple languages in Artplayer

- Introduced Arabic (ar), Czech (cs), Spanish (es), Persian (fa), French (fr), Indonesian (id), Polish (pl), Russian (ru), Turkish (tr), Vietnamese (vi), and Traditional Chinese (zh-tw) translations.
- Created corresponding JavaScript and ES module files for each language containing translated strings for player controls and settings.
- Added a new documentation file for language settings in the project.

feat: add initial implementation of start option page with interactive code execution buttons

feat: add danmuku plugin documentation and i18n setup guide

- Created a new documentation file for the danmuku plugin, providing code examples for usage.
- Added a comprehensive guide for language settings, including default languages, importing languages, adding new languages, and modifying existing languages.
- Included code snippets for initializing the Artplayer with different language settings and importing language files.

refactor: update danmuku worker implementation and remove unused i18n files

- Changed the way the Danmuku class creates a Web Worker by using a worker loader instead of creating a blob.
- Removed Arabic, Czech, Spanish, Persian, French, Indonesian, Polish, Russian, Turkish, Vietnamese, and Traditional Chinese i18n files as they are no longer needed.
- Updated the Vite build configuration to disable banners for inline workers and added a plugin to remove worker banners from generated code.

feat: add danmuku plugin and i18n setup documentation

- Created a new documentation file for the danmuku plugin, providing code examples for usage.
- Added a new documentation file for language settings (i18n), detailing how to set default languages, import languages, and add new languages.
- Included code snippets for initializing the Artplayer with different language settings and examples for modifying existing languages.

feat: add danmuku plugin and i18n setup documentation

- Created a new documentation file for the danmuku plugin with code examples.
- Added a new documentation file for language settings (i18n) including import instructions and examples for setting default and custom languages.
- Updated the i18n documentation to include details on adding and modifying languages.

feat: add danmuku plugin and i18n setup documentation

- Created a new JavaScript file for the danmuku plugin documentation with multiple code execution buttons.
- Added a new JavaScript file for i18n (internationalization) setup documentation, including instructions for language settings, importing languages, and modifying language options.
- Included examples for setting default languages and adding new languages in the i18n documentation.

Refactor code structure for improved readability and maintainability
2026-03-07 15:21:34 +08:00

70 lines
1.8 KiB
JavaScript

import { def, getIcon } from '../utils'
import airplay from './airplay.svg?raw'
import arrowLeft from './arrow-left.svg?raw'
import arrowRight from './arrow-right.svg?raw'
import aspectRatio from './aspect-ratio.svg?raw'
import check from './check.svg?raw'
import close from './close.svg?raw'
import config from './config.svg?raw'
import error from './error.svg?raw'
import flip from './flip.svg?raw'
import fullscreenOff from './fullscreen-off.svg?raw'
import fullscreenOn from './fullscreen-on.svg?raw'
import fullscreenWebOff from './fullscreen-web-off.svg?raw'
import fullscreenWebOn from './fullscreen-web-on.svg?raw'
import loading from './loading.svg?raw'
import lock from './lock.svg?raw'
import pause from './pause.svg?raw'
import pip from './pip.svg?raw'
import play from './play.svg?raw'
import playbackRate from './playback-rate.svg?raw'
import screenshot from './screenshot.svg?raw'
import setting from './setting.svg?raw'
import state from './state.svg?raw'
import switchOff from './switch-off.svg?raw'
import switchOn from './switch-on.svg?raw'
import unlock from './unlock.svg?raw'
import volumeClose from './volume-close.svg?raw'
import volume from './volume.svg?raw'
export default class Icons {
constructor(art) {
const icons = {
loading,
state,
play,
pause,
check,
volume,
volumeClose,
screenshot,
setting,
pip,
arrowLeft,
arrowRight,
playbackRate,
aspectRatio,
config,
lock,
flip,
unlock,
fullscreenOff,
fullscreenOn,
fullscreenWebOff,
fullscreenWebOn,
switchOn,
switchOff,
error,
close,
airplay,
...art.option.icons,
}
for (const key in icons) {
def(this, key, {
get: () => getIcon(key, icons[key]),
})
}
}
}