mirror of
https://github.com/mmahdium/TorrentMax.git
synced 2025-12-20 04:33:53 +01:00
feat: Update index page UI and fix file permissions
- Add Arctic Lights background with radial gradient to index.vue - Make multiple app files executable (changed modes from 644 to 755) - Update dependencies in package-lock.json (browserslist, postcss-selector-parser, etc.) for latest versions and potential bug fixes
This commit is contained in:
1
app/app.vue
Normal file → Executable file
1
app/app.vue
Normal file → Executable file
@@ -19,5 +19,6 @@ useSeoMeta({
|
||||
</script>
|
||||
<template>
|
||||
<Analytics />
|
||||
|
||||
<NuxtPage />
|
||||
</template>
|
||||
|
||||
0
app/components/IndexHero.vue
Normal file → Executable file
0
app/components/IndexHero.vue
Normal file → Executable file
0
app/components/MagnetCard.vue
Normal file → Executable file
0
app/components/MagnetCard.vue
Normal file → Executable file
0
app/components/SearchBar.vue
Normal file → Executable file
0
app/components/SearchBar.vue
Normal file → Executable file
0
app/components/TorrentUpload.vue
Normal file → Executable file
0
app/components/TorrentUpload.vue
Normal file → Executable file
0
app/components/alert/Error.vue
Normal file → Executable file
0
app/components/alert/Error.vue
Normal file → Executable file
0
app/lib/api.ts
Normal file → Executable file
0
app/lib/api.ts
Normal file → Executable file
80
app/pages/index.vue
Normal file → Executable file
80
app/pages/index.vue
Normal file → Executable file
@@ -46,41 +46,57 @@ async function handleTorrentUpload(file: File) {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex flex-col min-h-screen bg-base-300">
|
||||
<div class="grow flex items-start justify-center pt-40 px-4">
|
||||
<div class="w-full max-w-2xl">
|
||||
<IndexHero />
|
||||
<div v-if="!maxedMagnet && !loading" class="space-y-6">
|
||||
<SearchBar @submit="handleMagnetSubmit" />
|
||||
<div class="divider divider-neutral">OR</div>
|
||||
<TorrentUpload @submit="handleTorrentUpload" />
|
||||
</div>
|
||||
<div class="min-h-screen w-full relative bg-black">
|
||||
<!-- Arctic Lights Background with Top Glow -->
|
||||
<div
|
||||
class="absolute inset-0 z-0"
|
||||
style="
|
||||
background: radial-gradient(
|
||||
ellipse 80% 60% at 50% 0%,
|
||||
rgba(34, 197, 94, 0.35),
|
||||
transparent 70%
|
||||
),
|
||||
#000000;
|
||||
"
|
||||
/>
|
||||
|
||||
<div
|
||||
v-if="loading"
|
||||
v-motion-fade
|
||||
class="flex justify-center items-center p-8"
|
||||
>
|
||||
<span class="loading loading-infinity loading-xl" />
|
||||
</div>
|
||||
<!-- Main Content -->
|
||||
<div class="relative z-10 flex flex-col min-h-screen">
|
||||
<div class="grow flex items-start justify-center pt-40 px-4">
|
||||
<div class="w-full max-w-2xl">
|
||||
<IndexHero />
|
||||
<div v-if="!maxedMagnet && !loading" class="space-y-6">
|
||||
<SearchBar @submit="handleMagnetSubmit" />
|
||||
<div class="divider divider-neutral">OR</div>
|
||||
<TorrentUpload @submit="handleTorrentUpload" />
|
||||
</div>
|
||||
|
||||
<!-- Error message display -->
|
||||
<AlertError v-if="error && !loading" :message="error" />
|
||||
|
||||
<MagnetCard
|
||||
v-if="maxedMagnet && !loading && !error"
|
||||
v-motion-fade
|
||||
:name="maxedMagnet.name || 'Unknown Torrent'"
|
||||
:total-trackers="maxedMagnet.totalTrackers"
|
||||
:magnet-url="maxedMagnet.maxedMagnet"
|
||||
/>
|
||||
<div v-if="maxedMagnet" class="flex justify-center pt-5">
|
||||
<button
|
||||
class="btn btn-primary text-accent"
|
||||
@click="maxedMagnet = null"
|
||||
<div
|
||||
v-if="loading"
|
||||
v-motion-fade
|
||||
class="flex justify-center items-center p-8"
|
||||
>
|
||||
Max Another Torrent
|
||||
</button>
|
||||
<span class="loading loading-infinity loading-xl" />
|
||||
</div>
|
||||
|
||||
<!-- Error message display -->
|
||||
<AlertError v-if="error && !loading" :message="error" />
|
||||
|
||||
<MagnetCard
|
||||
v-if="maxedMagnet && !loading && !error"
|
||||
v-motion-fade
|
||||
:name="maxedMagnet.name || 'Unknown Torrent'"
|
||||
:total-trackers="maxedMagnet.totalTrackers"
|
||||
:magnet-url="maxedMagnet.maxedMagnet"
|
||||
/>
|
||||
<div v-if="maxedMagnet" class="flex justify-center pt-5">
|
||||
<button
|
||||
class="btn btn-primary text-accent"
|
||||
@click="maxedMagnet = null"
|
||||
>
|
||||
Max Another Torrent
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
0
app/tailwind.css
Normal file → Executable file
0
app/tailwind.css
Normal file → Executable file
0
eslint.config.mjs
Normal file → Executable file
0
eslint.config.mjs
Normal file → Executable file
0
nuxt.config.ts
Normal file → Executable file
0
nuxt.config.ts
Normal file → Executable file
14
package.json
Normal file → Executable file
14
package.json
Normal file → Executable file
@@ -12,16 +12,16 @@
|
||||
"dependencies": {
|
||||
"@formkit/auto-animate": "^0.9.0",
|
||||
"@nuxt/eslint": "1.10.0",
|
||||
"@tailwindcss/vite": "^4.1.16",
|
||||
"@tailwindcss/vite": "^4.1.17",
|
||||
"@types/parse-torrent": "^5.8.8",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"@vercel/analytics": "^1.6.1",
|
||||
"@vueuse/motion": "^3.0.3",
|
||||
"daisyui": "^5.3.10",
|
||||
"eslint": "^9.38.0",
|
||||
"nuxt": "^4.2.0",
|
||||
"daisyui": "^5.5.8",
|
||||
"eslint": "^9.39.1",
|
||||
"nuxt": "^4.2.1",
|
||||
"parse-torrent": "^11.0.19",
|
||||
"tailwindcss": "^4.1.16",
|
||||
"vue": "^3.5.22",
|
||||
"tailwindcss": "^4.1.17",
|
||||
"vue": "^3.5.25",
|
||||
"vue-router": "^4.6.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
2979
pnpm-lock.yaml
generated
Normal file → Executable file
2979
pnpm-lock.yaml
generated
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
4
pnpm-workspace.yaml
Executable file
4
pnpm-workspace.yaml
Executable file
@@ -0,0 +1,4 @@
|
||||
onlyBuiltDependencies:
|
||||
- '@parcel/watcher'
|
||||
- esbuild
|
||||
- unrs-resolver
|
||||
0
public/favicon.ico
Normal file → Executable file
0
public/favicon.ico
Normal file → Executable file
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
0
public/robots.txt
Normal file → Executable file
0
public/robots.txt
Normal file → Executable file
0
server/api/magnet.ts
Normal file → Executable file
0
server/api/magnet.ts
Normal file → Executable file
0
server/api/torrent.ts
Normal file → Executable file
0
server/api/torrent.ts
Normal file → Executable file
0
server/utils/magnetParser.ts
Normal file → Executable file
0
server/utils/magnetParser.ts
Normal file → Executable file
0
server/utils/torrentParser.ts
Normal file → Executable file
0
server/utils/torrentParser.ts
Normal file → Executable file
0
server/utils/trackerHelper.ts
Normal file → Executable file
0
server/utils/trackerHelper.ts
Normal file → Executable file
0
shared/types/magnet.ts
Normal file → Executable file
0
shared/types/magnet.ts
Normal file → Executable file
0
tsconfig.json
Normal file → Executable file
0
tsconfig.json
Normal file → Executable file
Reference in New Issue
Block a user