mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 09:20:18 +08:00
update:修复github工作流问题
This commit is contained in:
@@ -33,7 +33,13 @@
|
||||
: 'bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400',
|
||||
]"
|
||||
>
|
||||
{{ app.isMerged ? "Spark/APM" : app.origin === "spark" ? "Spark" : "APM" }}
|
||||
{{
|
||||
app.isMerged
|
||||
? "Spark/APM"
|
||||
: app.origin === "spark"
|
||||
? "Spark"
|
||||
: "APM"
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-sm text-slate-500 dark:text-slate-400">
|
||||
|
||||
@@ -36,12 +36,19 @@
|
||||
<p class="text-2xl font-bold text-slate-900 dark:text-white">
|
||||
{{ displayApp?.name || "" }}
|
||||
</p>
|
||||
<div v-if="app?.isMerged" class="flex gap-1 overflow-hidden rounded-md shadow-sm border border-slate-200 dark:border-slate-700 font-medium ml-1">
|
||||
<div
|
||||
v-if="app?.isMerged"
|
||||
class="flex gap-1 overflow-hidden rounded-md shadow-sm border border-slate-200 dark:border-slate-700 font-medium ml-1"
|
||||
>
|
||||
<button
|
||||
v-if="app.sparkApp"
|
||||
type="button"
|
||||
class="px-2 py-0.5 text-[10px] uppercase tracking-wider transition-colors"
|
||||
:class="viewingOrigin === 'spark' ? 'bg-orange-500 text-white' : 'bg-slate-100/50 text-slate-500 dark:bg-slate-800 dark:text-slate-400 hover:bg-slate-200 dark:hover:bg-slate-700'"
|
||||
:class="
|
||||
viewingOrigin === 'spark'
|
||||
? 'bg-orange-500 text-white'
|
||||
: 'bg-slate-100/50 text-slate-500 dark:bg-slate-800 dark:text-slate-400 hover:bg-slate-200 dark:hover:bg-slate-700'
|
||||
"
|
||||
@click="viewingOrigin = 'spark'"
|
||||
>
|
||||
Spark
|
||||
@@ -50,7 +57,11 @@
|
||||
v-if="app.apmApp"
|
||||
type="button"
|
||||
class="px-2 py-0.5 text-[10px] uppercase tracking-wider transition-colors"
|
||||
:class="viewingOrigin === 'apm' ? 'bg-blue-500 text-white' : 'bg-slate-100/50 text-slate-500 dark:bg-slate-800 dark:text-slate-400 hover:bg-slate-200 dark:hover:bg-slate-700'"
|
||||
:class="
|
||||
viewingOrigin === 'apm'
|
||||
? 'bg-blue-500 text-white'
|
||||
: 'bg-slate-100/50 text-slate-500 dark:bg-slate-800 dark:text-slate-400 hover:bg-slate-200 dark:hover:bg-slate-700'
|
||||
"
|
||||
@click="viewingOrigin = 'apm'"
|
||||
>
|
||||
APM
|
||||
@@ -69,7 +80,8 @@
|
||||
</span>
|
||||
</div>
|
||||
<p class="text-sm text-slate-500 dark:text-slate-400">
|
||||
{{ displayApp?.pkgname || "" }} · {{ displayApp?.version || "" }}
|
||||
{{ displayApp?.pkgname || "" }} ·
|
||||
{{ displayApp?.version || "" }}
|
||||
<span v-if="downloadCount"> · 下载量:{{ downloadCount }}</span>
|
||||
</p>
|
||||
</div>
|
||||
@@ -219,7 +231,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="displayApp?.more && displayApp.more.trim() !== ''" class="mt-6 space-y-3">
|
||||
<div
|
||||
v-if="displayApp?.more && displayApp.more.trim() !== ''"
|
||||
class="mt-6 space-y-3"
|
||||
>
|
||||
<h3 class="text-lg font-semibold text-slate-900 dark:text-white">
|
||||
应用详情
|
||||
</h3>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
:href="link.type === '_blank' ? undefined : link.url"
|
||||
@click.prevent="onLinkClick(link)"
|
||||
class="flex flex-col items-start gap-2 rounded-2xl border border-slate-200/70 bg-white/90 p-4 shadow-sm hover:shadow-lg transition"
|
||||
:title="link.more"
|
||||
:title="link.more as string"
|
||||
>
|
||||
<img
|
||||
:src="computedImgUrl(link)"
|
||||
@@ -50,19 +50,20 @@
|
||||
<script setup lang="ts">
|
||||
import AppCard from "./AppCard.vue";
|
||||
import { APM_STORE_BASE_URL } from "../global/storeConfig";
|
||||
import type { HomeLink, HomeList, App } from "../global/typedefinition";
|
||||
|
||||
defineProps<{
|
||||
links: Array<any>;
|
||||
lists: Array<{ title: string; apps: any[] }>;
|
||||
links: HomeLink[];
|
||||
lists: HomeList[];
|
||||
loading: boolean;
|
||||
error: string;
|
||||
}>();
|
||||
|
||||
defineEmits<{
|
||||
(e: "open-detail", app: any): void;
|
||||
(e: "open-detail", app: App | Record<string, unknown>): void;
|
||||
}>();
|
||||
|
||||
const computedImgUrl = (link: Record<string, any>) => {
|
||||
const computedImgUrl = (link: HomeLink) => {
|
||||
if (!link.imgUrl) return "";
|
||||
const arch = window.apm_store.arch || "amd64-apm";
|
||||
const finalArch =
|
||||
@@ -72,7 +73,7 @@ const computedImgUrl = (link: Record<string, any>) => {
|
||||
return `${APM_STORE_BASE_URL}/${finalArch}${link.imgUrl}`;
|
||||
};
|
||||
|
||||
const onLinkClick = (link: any) => {
|
||||
const onLinkClick = (link: HomeLink) => {
|
||||
if (link.type === "_blank") {
|
||||
window.open(link.url, "_blank");
|
||||
} else {
|
||||
|
||||
@@ -1,15 +1,24 @@
|
||||
<template>
|
||||
<div class="flex flex-col gap-2 p-4 rounded-2xl bg-slate-50 dark:bg-slate-800/50 border border-slate-200/70 dark:border-slate-700/70">
|
||||
<span class="text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400 px-1">商店模式</span>
|
||||
<div class="grid grid-cols-3 gap-1 p-1 bg-slate-200/50 dark:bg-slate-900/50 rounded-xl">
|
||||
<div
|
||||
class="flex flex-col gap-2 p-4 rounded-2xl bg-slate-50 dark:bg-slate-800/50 border border-slate-200/70 dark:border-slate-700/70"
|
||||
>
|
||||
<span
|
||||
class="text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400 px-1"
|
||||
>商店模式</span
|
||||
>
|
||||
<div
|
||||
class="grid grid-cols-3 gap-1 p-1 bg-slate-200/50 dark:bg-slate-900/50 rounded-xl"
|
||||
>
|
||||
<button
|
||||
v-for="mode in modes"
|
||||
:key="mode.id"
|
||||
type="button"
|
||||
class="flex flex-col items-center justify-center py-2 px-1 rounded-lg text-[10px] font-medium transition-all duration-200"
|
||||
:class="currentStoreMode === mode.id
|
||||
? 'bg-white dark:bg-slate-700 text-brand shadow-sm scale-105 z-10'
|
||||
: 'text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-200'"
|
||||
:class="
|
||||
currentStoreMode === mode.id
|
||||
? 'bg-white dark:bg-slate-700 text-brand shadow-sm scale-105 z-10'
|
||||
: 'text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-200'
|
||||
"
|
||||
@click="setMode(mode.id as StoreMode)"
|
||||
>
|
||||
<i :class="mode.icon" class="mb-1 text-xs"></i>
|
||||
|
||||
Reference in New Issue
Block a user