kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
				
				
				
			chore(front): lint/format
							rodzic
							
								
									6f55aa3718
								
							
						
					
					
						commit
						171625ac85
					
				| 
						 | 
				
			
			@ -36,7 +36,7 @@ const props = defineProps<Props>()
 | 
			
		|||
              v-lazy="store.getters['instance/absoluteUrl'](ac.artist.cover.urls.small_square_crop)"
 | 
			
		||||
              :alt="ac.artist.name"
 | 
			
		||||
              @error="(e) => { e.target && ac.artist.cover ? (e.target as HTMLImageElement).src = store.getters['instance/absoluteUrl'](ac.artist.cover.urls.medium_square_crop) : null }"
 | 
			
		||||
            />
 | 
			
		||||
            >
 | 
			
		||||
            <i
 | 
			
		||||
              v-else
 | 
			
		||||
              class="bi bi-person-circle"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -213,7 +213,7 @@ defineExpose({
 | 
			
		|||
              type="radio"
 | 
			
		||||
              name="channel-category"
 | 
			
		||||
              :value="choice.value"
 | 
			
		||||
            />
 | 
			
		||||
            >
 | 
			
		||||
            <label :for="`category-${choice.value}`">
 | 
			
		||||
              <span :class="['right floated', 'placeholder', 'image', 'shifted', {circular: choice.value === 'music'}]" />
 | 
			
		||||
              <strong>{{ choice.label }}</strong>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,7 +71,7 @@ const confirm = () => {
 | 
			
		|||
  </component>
 | 
			
		||||
  <template v-if="props.popoverItem && showModal">
 | 
			
		||||
    <Layout>
 | 
			
		||||
      <hr />
 | 
			
		||||
      <hr>
 | 
			
		||||
      <div
 | 
			
		||||
        v-if="$slots.content"
 | 
			
		||||
        style="font-size: 1rem;"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -163,18 +163,19 @@ const remove = async () => {
 | 
			
		|||
          v-lazy="store.getters['instance/absoluteUrl'](object.cover.urls.large_square_crop)"
 | 
			
		||||
          :alt="object.title"
 | 
			
		||||
          class="channel-image"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
        <img
 | 
			
		||||
          v-else
 | 
			
		||||
          alt=""
 | 
			
		||||
          class="channel-image"
 | 
			
		||||
          src="../../assets/audio/default-cover.png"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
      </template>
 | 
			
		||||
      <artist-credit-label
 | 
			
		||||
        v-if="artistCredit"
 | 
			
		||||
        :artist-credit="artistCredit"
 | 
			
		||||
        default raised
 | 
			
		||||
        default
 | 
			
		||||
        raised
 | 
			
		||||
      />
 | 
			
		||||
      <!-- Metadata: -->
 | 
			
		||||
      <Layout
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -187,23 +187,24 @@ watch(showDeleteModal, (newValue) => {
 | 
			
		|||
          v-lazy="store.getters['instance/absoluteUrl'](track.cover.urls.large_square_crop)"
 | 
			
		||||
          alt=""
 | 
			
		||||
          class="channel-image"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
        <img
 | 
			
		||||
          v-if="track.album && track.album.cover"
 | 
			
		||||
          v-lazy="store.getters['instance/absoluteUrl'](track.album.cover.urls.large_square_crop)"
 | 
			
		||||
          alt=""
 | 
			
		||||
          class="channel-image"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
        <img
 | 
			
		||||
          v-else
 | 
			
		||||
          alt=""
 | 
			
		||||
          class="channel-image"
 | 
			
		||||
          src="../../assets/audio/default-cover.png"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
      </template>
 | 
			
		||||
      <artist-credit-label
 | 
			
		||||
        :artist-credit="track.artist_credit"
 | 
			
		||||
        default raised
 | 
			
		||||
        default
 | 
			
		||||
        raised
 | 
			
		||||
      />
 | 
			
		||||
      <div class="meta">
 | 
			
		||||
        <span>{{ t('components.library.TrackBase.title') }}</span>
 | 
			
		||||
| 
						 | 
				
			
			@ -306,7 +307,7 @@ watch(showDeleteModal, (newValue) => {
 | 
			
		|||
              {{ t('components.library.TrackBase.button.delete') }}
 | 
			
		||||
            </PopoverItem>
 | 
			
		||||
 | 
			
		||||
            <hr />
 | 
			
		||||
            <hr>
 | 
			
		||||
 | 
			
		||||
            <PopoverItem
 | 
			
		||||
              v-for="obj in getReportableObjects({ track })"
 | 
			
		||||
| 
						 | 
				
			
			@ -317,7 +318,7 @@ watch(showDeleteModal, (newValue) => {
 | 
			
		|||
              {{ obj.label }}
 | 
			
		||||
            </PopoverItem>
 | 
			
		||||
 | 
			
		||||
            <hr />
 | 
			
		||||
            <hr>
 | 
			
		||||
 | 
			
		||||
            <PopoverItem
 | 
			
		||||
              v-if="store.state.auth.availablePermissions['library']"
 | 
			
		||||
| 
						 | 
				
			
			@ -343,7 +344,7 @@ watch(showDeleteModal, (newValue) => {
 | 
			
		|||
        </Popover>
 | 
			
		||||
      </Layout>
 | 
			
		||||
    </Header>
 | 
			
		||||
    <hr />
 | 
			
		||||
    <hr>
 | 
			
		||||
    <Layout
 | 
			
		||||
      flex
 | 
			
		||||
      gap-8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ const headingProps = computed(() =>
 | 
			
		|||
      `"
 | 
			
		||||
      v-bind="columnsPerItem
 | 
			
		||||
        ? { grid: 'auto / repeat(auto-fit, 46px)' }
 | 
			
		||||
  : { stack: true }
 | 
			
		||||
        : { stack: true }
 | 
			
		||||
      "
 | 
			
		||||
    >
 | 
			
		||||
      <slot />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -190,7 +190,7 @@ const renderedDescription = computed(() => {
 | 
			
		|||
          alt=""
 | 
			
		||||
          :class="['huge', object.artist?.content_category === 'podcast' ? 'podcast-image' : 'channel-image']"
 | 
			
		||||
          :src="store.getters['instance/absoluteUrl'](object.artist.cover.urls.large_square_crop)"
 | 
			
		||||
        />
 | 
			
		||||
        >
 | 
			
		||||
        <i
 | 
			
		||||
          v-else
 | 
			
		||||
          class="bi bi-person-circle"
 | 
			
		||||
| 
						 | 
				
			
			@ -331,7 +331,7 @@ const renderedDescription = computed(() => {
 | 
			
		|||
            >
 | 
			
		||||
              {{ t('views.channels.DetailBase.link.domainView', { domain: object.actor.domain }) }}
 | 
			
		||||
            </PopoverItem>
 | 
			
		||||
            <hr />
 | 
			
		||||
            <hr>
 | 
			
		||||
            <PopoverItem
 | 
			
		||||
              v-for="obj in getReportableObjects({ account: object.attributed_to, channel: object })"
 | 
			
		||||
              :key="obj.target.type + obj.target.id"
 | 
			
		||||
| 
						 | 
				
			
			@ -342,7 +342,7 @@ const renderedDescription = computed(() => {
 | 
			
		|||
            </PopoverItem>
 | 
			
		||||
 | 
			
		||||
            <template v-if="isOwner">
 | 
			
		||||
              <hr />
 | 
			
		||||
              <hr>
 | 
			
		||||
              <PopoverItem
 | 
			
		||||
                icon="bi-pencil"
 | 
			
		||||
                @click.stop.prevent="showEditModal = true"
 | 
			
		||||
| 
						 | 
				
			
			@ -369,7 +369,7 @@ const renderedDescription = computed(() => {
 | 
			
		|||
              </DangerousButton>
 | 
			
		||||
            </template>
 | 
			
		||||
            <template v-if="store.state.auth.availablePermissions['library']">
 | 
			
		||||
              <hr />
 | 
			
		||||
              <hr>
 | 
			
		||||
              <PopoverItem
 | 
			
		||||
                :to="{ name: 'manage.channels.detail', params: { id: object.uuid } }"
 | 
			
		||||
                icon="bi-wrench"
 | 
			
		||||
| 
						 | 
				
			
			@ -487,7 +487,7 @@ const renderedDescription = computed(() => {
 | 
			
		|||
        </Modal>
 | 
			
		||||
      </Layout>
 | 
			
		||||
    </Header>
 | 
			
		||||
    <hr />
 | 
			
		||||
    <hr>
 | 
			
		||||
    <TagsList
 | 
			
		||||
      v-if="object?.artist?.tags && object?.artist?.tags.length > 0"
 | 
			
		||||
      :tags="object?.artist.tags"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,11 +54,6 @@ syncRef(q, query, { direction: 'ltr' })
 | 
			
		|||
 | 
			
		||||
const result = ref<PaginatedChannelList>()
 | 
			
		||||
 | 
			
		||||
const orderingOptions: [OrderingField, keyof typeof sharedLabels.filters][] = [
 | 
			
		||||
  ['creation_date', 'creation_date'],
 | 
			
		||||
  ['modification_date', 'modification_date']
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
const widgetKey = ref(new Date().toLocaleString())
 | 
			
		||||
 | 
			
		||||
const { t } = useI18n()
 | 
			
		||||
| 
						 | 
				
			
			@ -275,10 +270,10 @@ const showCreateModal = ref(false)
 | 
			
		|||
          v-if="typeof tags === 'object'"
 | 
			
		||||
          :get="model => { tags = model.currents.map(({ label }) => label) }"
 | 
			
		||||
          :set="model => ({
 | 
			
		||||
          ...model,
 | 
			
		||||
          others: [],
 | 
			
		||||
          currents: tags.map(tag => ({ type: 'custom' as const, label: tag })),
 | 
			
		||||
        })"
 | 
			
		||||
            ...model,
 | 
			
		||||
            others: [],
 | 
			
		||||
            currents: tags.map(tag => ({ type: 'custom' as const, label: tag })),
 | 
			
		||||
          })"
 | 
			
		||||
          :label="t('components.library.Podcasts.label.tags')"
 | 
			
		||||
          style="max-width: 350px;"
 | 
			
		||||
        />
 | 
			
		||||
| 
						 | 
				
			
			@ -301,12 +296,12 @@ const showCreateModal = ref(false)
 | 
			
		|||
      <Modal
 | 
			
		||||
        v-model="showCreateModal"
 | 
			
		||||
        :title="
 | 
			
		||||
        step === 1
 | 
			
		||||
          ? t('views.auth.ProfileOverview.modal.createChannel.header')
 | 
			
		||||
          : category === 'podcast'
 | 
			
		||||
            ? t('views.auth.ProfileOverview.modal.createChannel.podcast.header')
 | 
			
		||||
            : t('views.auth.ProfileOverview.modal.createChannel.artist.header')
 | 
			
		||||
      "
 | 
			
		||||
          step === 1
 | 
			
		||||
            ? t('views.auth.ProfileOverview.modal.createChannel.header')
 | 
			
		||||
            : category === 'podcast'
 | 
			
		||||
              ? t('views.auth.ProfileOverview.modal.createChannel.podcast.header')
 | 
			
		||||
              : t('views.auth.ProfileOverview.modal.createChannel.artist.header')
 | 
			
		||||
        "
 | 
			
		||||
      >
 | 
			
		||||
        <channel-form
 | 
			
		||||
          ref="createForm"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -264,9 +264,7 @@ const isOpen = ref(false)
 | 
			
		|||
    </div>
 | 
			
		||||
    <Spacer :size="8" />
 | 
			
		||||
    <div class="extra content">
 | 
			
		||||
      <actor-link
 | 
			
		||||
        :actor="library.actor"
 | 
			
		||||
      />
 | 
			
		||||
      <actor-link :actor="library.actor" />
 | 
			
		||||
    </div>
 | 
			
		||||
    <Spacer :size="8" />
 | 
			
		||||
    <div
 | 
			
		||||
| 
						 | 
				
			
			@ -314,9 +312,7 @@ const isOpen = ref(false)
 | 
			
		|||
            {{ t('views.content.remote.Card.button.follow') }}
 | 
			
		||||
          </button>
 | 
			
		||||
          <template v-else-if="!library.follow.approved">
 | 
			
		||||
            <button
 | 
			
		||||
              class="ui disabled button"
 | 
			
		||||
            >
 | 
			
		||||
            <button class="ui disabled button">
 | 
			
		||||
              <i class="hourglass icon" />
 | 
			
		||||
              {{ t('views.content.remote.Card.button.pending') }}
 | 
			
		||||
            </button>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue