mirror of
https://github.com/unraid/api.git
synced 2025-12-21 08:39:38 -06:00
This gets the original 3 component tests refactored to better follow the Vue Testing Library philosophy and test behavior. This also adds a new test file for the server store. Additional batches of tests will be added in proceeding PR's. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Streamlined internal code organization and improved maintenance through refined import structures and cleanup of redundant files. - **Tests** - Expanded and restructured automated tests across core components, including new test files for `Auth`, `DownloadApiLogs`, and `KeyActions` to ensure robust behavior. - Enhanced test configuration and mock implementations for a more reliable, consistent testing environment. - Introduced best practices for testing Vue components and Pinia stores. These updates optimize performance and stability behind the scenes without altering the end-user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net>
80 lines
2.7 KiB
Vue
80 lines
2.7 KiB
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue';
|
|
import { useI18n } from 'vue-i18n';
|
|
|
|
import { ArrowDownTrayIcon, ArrowTopRightOnSquareIcon } from '@heroicons/vue/24/solid';
|
|
import { BrandButton } from '@unraid/ui';
|
|
import { CONNECT_FORUMS, CONTACT, DISCORD, WEBGUI_GRAPHQL } from '~/helpers/urls';
|
|
|
|
const { t } = useI18n();
|
|
|
|
const downloadUrl = computed(() => {
|
|
const url = new URL(`/graphql/api/logs`, WEBGUI_GRAPHQL);
|
|
url.searchParams.append('csrf_token', globalThis.csrf_token);
|
|
return url;
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<div class="whitespace-normal flex flex-col gap-y-16px max-w-3xl">
|
|
<span>
|
|
{{ t('The primary method of support for Unraid Connect is through our forums and Discord.') }}
|
|
{{
|
|
t(
|
|
'If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.'
|
|
)
|
|
}}
|
|
{{ t('The logs may contain sensitive information so do not post them publicly.') }}
|
|
</span>
|
|
<span class="flex flex-col gap-y-16px">
|
|
<div class="flex">
|
|
<BrandButton
|
|
class="grow-0 shrink-0"
|
|
download
|
|
:external="true"
|
|
:href="downloadUrl.toString()"
|
|
:icon="ArrowDownTrayIcon"
|
|
size="12px"
|
|
:text="t('Download unraid-api Logs')"
|
|
/>
|
|
</div>
|
|
|
|
<div class="flex flex-row items-baseline gap-8px">
|
|
<a
|
|
:href="CONNECT_FORUMS.toString()"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"
|
|
>
|
|
{{ t('Unraid Connect Forums') }}
|
|
<ArrowTopRightOnSquareIcon class="w-16px" />
|
|
</a>
|
|
<a
|
|
:href="DISCORD.toString()"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"
|
|
>
|
|
{{ t('Unraid Discord') }}
|
|
<ArrowTopRightOnSquareIcon class="w-16px" />
|
|
</a>
|
|
<a
|
|
:href="CONTACT.toString()"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"
|
|
>
|
|
{{ t('Unraid Contact Page') }}
|
|
<ArrowTopRightOnSquareIcon class="w-16px" />
|
|
</a>
|
|
</div>
|
|
</span>
|
|
</div>
|
|
</template>
|
|
|
|
<style lang="postcss">
|
|
/* Import unraid-ui globals first */
|
|
@import '@unraid/ui/styles';
|
|
@import '~/assets/main.css';
|
|
</style>
|