719032b19f
Update Schema / Update configuration json schema (push) Has been cancelled
Memory Benchmark / Memory Test (Full Analysis) (push) Has been cancelled
CI Quality / Lint GitHub Actions (actionlint) (push) Has been cancelled
CI Quality / Lint GitHub Actions (zizmor) (push) Has been cancelled
CI Quality / Check typos (push) Has been cancelled
CI / Test coverage (push) Has been cancelled
CI / Test (22.x, windows-latest) (push) Has been cancelled
CI / Test (24.x, macos-latest) (push) Has been cancelled
CI / Test (24.x, ubuntu-latest) (push) Has been cancelled
CI / Test (24.x, windows-latest) (push) Has been cancelled
CI / Test (26.x, macos-latest) (push) Has been cancelled
CI / Test (26.x, ubuntu-latest) (push) Has been cancelled
CI / Test (26.x, windows-latest) (push) Has been cancelled
CI / Test with Bun (latest, macos-latest) (push) Has been cancelled
CI / Test with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Test with Bun (latest, windows-latest) (push) Has been cancelled
CI / Build and run (22.x, macos-latest) (push) Has been cancelled
CI / Build and run (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (22.x, windows-latest) (push) Has been cancelled
autofix.ci / autofix (push) Has been cancelled
CI Browser Extension / Lint Browser Extension (push) Has been cancelled
CI Browser Extension / Test Browser Extension (push) Has been cancelled
Memory Benchmark / Memory Test (push) Has been cancelled
CI Website / Lint Website Client (push) Has been cancelled
CI Website / Lint Website Server (push) Has been cancelled
CI Website / Test Website Server (push) Has been cancelled
CI Website / Bundle Website Server (push) Has been cancelled
CI / Lint Biome (push) Has been cancelled
CI / Lint oxlint (push) Has been cancelled
CI / Lint TypeScript (push) Has been cancelled
CI / Lint Secretlint (push) Has been cancelled
CI / Test (22.x, macos-latest) (push) Has been cancelled
CI / Test (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, macos-latest) (push) Has been cancelled
CI / Build and run (24.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, windows-latest) (push) Has been cancelled
CI / Build and run (26.x, macos-latest) (push) Has been cancelled
CI / Build and run (26.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (26.x, windows-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, macos-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Docker / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker / build (linux/arm/v7, ubuntu-24.04-arm) (push) Has been cancelled
Docker / build (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker / merge (push) Has been cancelled
Pack repository with Repomix / pack-repo (push) Has been cancelled
Performance Benchmark History / Benchmark (macos-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (ubuntu-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (windows-latest) (push) Has been cancelled
Performance Benchmark History / Store Results (push) Has been cancelled
Test Repomix Action / Test Node.js 22 (push) Has been cancelled
Test Repomix Action / Test Node.js 24 (push) Has been cancelled
Test Repomix Action / Test Node.js 26 (push) Has been cancelled
127 lines
2.8 KiB
Vue
127 lines
2.8 KiB
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue';
|
|
import type { DisplayProgressStage } from '../api/client';
|
|
|
|
interface Props {
|
|
stage?: DisplayProgressStage | null;
|
|
message?: string | null;
|
|
}
|
|
|
|
const props = defineProps<Props>();
|
|
|
|
const stageMessages: Record<DisplayProgressStage, string> = {
|
|
verifying: 'Verifying request...',
|
|
'cache-check': 'Checking cache...',
|
|
cloning: 'Cloning repository...',
|
|
'repository-fetch': 'Fetching repository...',
|
|
extracting: 'Extracting files...',
|
|
processing: 'Processing files...',
|
|
};
|
|
|
|
const MAX_DETAIL_LENGTH = 60;
|
|
|
|
const detailMessage = computed(() => {
|
|
const text = props.message || (props.stage && stageMessages[props.stage]) || '...';
|
|
if (text.length <= MAX_DETAIL_LENGTH) return text;
|
|
return `${text.slice(0, MAX_DETAIL_LENGTH)}...`;
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<div class="loading">
|
|
<div class="loading-header">
|
|
<div class="spinner"></div>
|
|
<p>Processing repository...</p>
|
|
</div>
|
|
<p class="loading-detail">{{ detailMessage }}</p>
|
|
<div class="sponsor-section">
|
|
<p class="sponsor-header">Special thanks to:</p>
|
|
<a href="https://go.warp.dev/repomix" target="_blank" rel="noopener noreferrer">
|
|
<img alt="Warp sponsorship" width="400" src="https://raw.githubusercontent.com/warpdotdev/brand-assets/main/Github/Sponsor/Warp-Github-LG-01.png">
|
|
</a>
|
|
<p class="sponsor-title">
|
|
<a href="https://go.warp.dev/repomix" target="_blank" rel="noopener noreferrer">
|
|
Warp, built for coding with multiple AI agents
|
|
</a>
|
|
</p>
|
|
<p class="sponsor-subtitle">
|
|
<a href="https://go.warp.dev/repomix" target="_blank" rel="noopener noreferrer">
|
|
Available for MacOS, Linux, & Windows
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.loading {
|
|
padding: 24px;
|
|
text-align: center;
|
|
}
|
|
|
|
.loading-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.loading-header p {
|
|
margin: 0;
|
|
}
|
|
|
|
.loading-detail {
|
|
margin: 4px 0 0;
|
|
font-size: 0.8em;
|
|
color: var(--vp-c-text-3);
|
|
}
|
|
|
|
.spinner {
|
|
flex-shrink: 0;
|
|
width: 20px;
|
|
height: 20px;
|
|
border: 2px solid var(--vp-c-brand-1);
|
|
border-radius: 50%;
|
|
border-top-color: transparent;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
.sponsor-section {
|
|
margin-top: 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.sponsor-section p {
|
|
margin: 8px 0;
|
|
}
|
|
|
|
.sponsor-section .sponsor-header {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.sponsor-section img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
margin: 12px 0;
|
|
}
|
|
|
|
.sponsor-section .sponsor-title {
|
|
font-weight: bold;
|
|
font-size: 1.1em;
|
|
color: var(--brand-text);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.sponsor-section .sponsor-subtitle {
|
|
font-size: 0.9em;
|
|
color: var(--brand-text);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
</style>
|