<commit_before>// Copyright (c) ppy Pty Ltd <<EMAIL>>. Licensed under the GNU Affero General Public License v3.0.
// See the LICENCE file in the repository root for full licence text.

import UserPreferences from 'core/user/user-preferences';
import { autorun } from 'mobx';
import Slider from './slider';
import { format, TimeFormat } from './time-format';

type PlayState = 'loading' | 'playing' | 'paused';

const createMainPlayer = () => {
  const player = document.createElement('div');
  player.className = 'audio-player audio-player--main';
  player.innerHTML = `
    <button
      type="button"
      class="audio-player__button audio-player__button--prev js-audio--nav"
      data-audio-nav="prev"
    ><span class="fas fa-fw fa-step-backward"></span></button>

    <button
      type="button"
      class="audio-player__button audio-player__button--play js-audio--main-play"
    ><span class="fa-fw play-button"></span></button>

    <button
      type="button"
      class="audio-player__button audio-player__button--next js-audio--nav"
      data-audio-nav="next"
    ><span class="fas fa-fw fa-step-forward"></span></button>

    <div class="audio-player__bar audio-player__bar--progress js-audio--seek">
      <div class="audio-player__bar-current"></div>
    </div>

    <div class="audio-player__timestamps">
      <div class="audio-player__timestamp audio-player__timestamp--current"></div>
      <div class="audio-player__timestamp-separator">/</div>
      <div class="audio-player__timestamp audio-player__timestamp--total"></div>
    </div>

    <div class="audio-player__volume-control">
      <button type="button" class="audio-player__volume-button js-audio--toggle-mute"></button>
      <div class="audio-player__bar audio-player__bar--volume js-audio--volume">
        <div class="audio-player__bar-current"></div>
      </div>
    </div>

    <div class="audio-player__autoplay-control">
      <button type="button" class="audio-player__autoplay-button js-audio--toggle-autoplay" title="${osu.trans('layout.audio.autoplay')}"></button>
    </div>
  `;

  return player;
};

const createPagePlayer = () => {
  const player = document.createElement('div');
  player.className = 'audio-player js-audio--player';
  player.innerHTML = `
    <button
    type="button"
    class="audio-player__button audio-player__button--play js-audio--play"
    ></button>

    <div class="audio-player__bar audio-player__bar--progress js-audio--seek">
      <div class="audio-player__bar-current"></div>
    </div>

    <div class="audio-player__timestamps">
      <div class="audio-player__timestamp audio-player__timestamp--current"></div>
      <div class="audio-player__timestamp-separator">/</div>
      <div class="audio-player__timestamp audio-player__timestamp--total"></div><commit_msg>Add missing play button<commit_after>// Copyright (c) ppy Pty Ltd <<EMAIL>>. Licensed under the GNU Affero General Public License v3.0.
// See the LICENCE file in the repository root for full licence text.

import UserPreferences from 'core/user/user-preferences';
import { autorun } from 'mobx';
import Slider from './slider';
import { format, TimeFormat } from './time-format';

type PlayState = 'loading' | 'playing' | 'paused';

const createMainPlayer = () => {
  const player = document.createElement('div');
  player.className = 'audio-player audio-player--main';
  player.innerHTML = `
    <button
      type="button"
      class="audio-player__button audio-player__button--prev js-audio--nav"
      data-audio-nav="prev"
    ><span class="fas fa-fw fa-step-backward"></span></button>

    <button
      type="button"
      class="audio-player__button audio-player__button--play js-audio--main-play"
    ><span class="fa-fw play-button"></span></button>

    <button
      type="button"
      class="audio-player__button audio-player__button--next js-audio--nav"
      data-audio-nav="next"
    ><span class="fas fa-fw fa-step-forward"></span></button>

    <div class="audio-player__bar audio-player__bar--progress js-audio--seek">
      <div class="audio-player__bar-current"></div>
    </div>

    <div class="audio-player__timestamps">
      <div class="audio-player__timestamp audio-player__timestamp--current"></div>
      <div class="audio-player__timestamp-separator">/</div>
      <div class="audio-player__timestamp audio-player__timestamp--total"></div>
    </div>

    <div class="audio-player__volume-control">
      <button type="button" class="audio-player__volume-button js-audio--toggle-mute"></button>
      <div class="audio-player__bar audio-player__bar--volume js-audio--volume">
        <div class="audio-player__bar-current"></div>
      </div>
    </div>

    <div class="audio-player__autoplay-control">
      <button type="button" class="audio-player__autoplay-button js-audio--toggle-autoplay" title="${osu.trans('layout.audio.autoplay')}"></button>
    </div>
  `;

  return player;
};

const createPagePlayer = () => {
  const player = document.createElement('div');
  player.className = 'audio-player js-audio--player';
  player.innerHTML = `
    <button
    type="button"
    class="audio-player__button audio-player__button--play js-audio--play"
    ><span class="fa-fw play-button"></span></button>

    <div class="audio-player__bar audio-player__bar--progress js-audio--seek">
      <div class="audio-player__bar-current"></div>
    </div>

    <div class="audio-player__timestamps">
      <div class="audio-player__timestamp audio-player__timestamp--current"></div>
      <div class="audio-player__timestamp-separator">/</div>
      <div class="audio-player__timestamp audio-player__timestamp--total"></div>
{'fraction_non_alphanumeric': 0.1606795257476553, 'fraction_numerical': 0.0007078393204742523, 'mean_word_length': 3.737636211232188, 'pattern_counts': {'":': 0, '<': 107, '<?xml version=': 0, '>': 111, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6877894', 'n_tokens_mistral': 1725, 'n_tokens_neox': 1692, 'n_words': 326}