Rebuilt littlefoxsoftware.xyz in Nuxt for testing.
This commit is contained in:
+57
-1
@@ -1,3 +1,59 @@
|
||||
<template>
|
||||
<NuxtPage />
|
||||
<main class="flex flex-col min-h-screen">
|
||||
<header class="flex flex-row items-center p-8 gap-4 bg-base-100 shadow-xl">
|
||||
<img class="w-1/5" src="~/assets/images/h_lfs_white.svg" alt="Little Fox Software" />
|
||||
<input v-model="regex" class="input grow" type="text" placeholder="Search..." />
|
||||
<button class="btn btn-ghost" @click="sortApps">
|
||||
<ArrowDownAzIcon v-if="sort === 'AZ'" />
|
||||
<ArrowDownZaIcon v-else />
|
||||
</button>
|
||||
</header>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 p-4 bg-base-200 grow">
|
||||
<a v-for="app in filtered_apps"
|
||||
class="card content-center items-center bg-base-100 saturate-0 hover:scale-102 hover:saturate-100 transition-all h-fit p-4"
|
||||
:href="app.link">
|
||||
<h3 class="card-title">{{ app.name }}</h3>
|
||||
<img class="card-side" :src="app.img" />
|
||||
</a>
|
||||
</div>
|
||||
<footer class="text-xs flex flex-col items-center p-4">
|
||||
<p>Built by <a class="link" href="https://littlefoxsoftware.com" target="_blank">Little Fox Software</a></p>
|
||||
<p>with <a class="link" href="https://nuxt.com" target="_blank">Nuxt</a> and <a class="link" href="https://daisyui.com" target="_blank">DaisyUI</a> </p>
|
||||
</footer>
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<script lang=ts setup>
|
||||
import { ArrowDownAzIcon, ArrowDownZaIcon } from '@lucide/vue';
|
||||
useHead({
|
||||
htmlAttrs: { 'data-theme': 'halloween' }
|
||||
})
|
||||
|
||||
const regex = ref('');
|
||||
const sort = ref('AZ');
|
||||
|
||||
const apps = [
|
||||
{ name: 'Gitea', link: 'https://git.littlefoxsoftware.xyz', img: '_nuxt/assets/images/gitea.png' },
|
||||
{ name: 'Listmonk', link: 'https://newsletter.littlefoxsoftware.xyz', img: '_nuxt/assets/images/listmonk.png' },
|
||||
{ name: 'Nextcloud', link: 'https://cloud.littlefoxsoftware.xyz', img: '_nuxt/assets/images/nextcloud.png' },
|
||||
];
|
||||
const filtered_apps = computed(() => searchApps());
|
||||
|
||||
function sortApps() {
|
||||
if (sort.value === 'ZA') {
|
||||
sort.value = 'AZ';
|
||||
apps.sort((a, b) => a.name.toLocaleLowerCase().localeCompare(b.name));
|
||||
} else {
|
||||
sort.value = 'ZA';
|
||||
apps.sort((a, b) => b.name.toLocaleLowerCase().localeCompare(a.name));
|
||||
}
|
||||
}
|
||||
|
||||
function searchApps() {
|
||||
if (regex.value.length >= 3) {
|
||||
return apps.filter(app => app.name.toLowerCase().includes(regex.value));
|
||||
} else {
|
||||
return apps;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,2 +1,4 @@
|
||||
@import 'tailwindcss';
|
||||
@plugin 'daisyui';
|
||||
@plugin 'daisyui' {
|
||||
themes: halloween --default;
|
||||
};
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 147 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1023 KiB |
@@ -1,2 +0,0 @@
|
||||
<template>
|
||||
</template>
|
||||
@@ -5,6 +5,7 @@
|
||||
"": {
|
||||
"name": "nuxt-daisyui-template",
|
||||
"dependencies": {
|
||||
"@lucide/vue": "^1.17.0",
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"daisyui": "^5.5.20",
|
||||
"nuxt": "^4.4.7",
|
||||
@@ -161,6 +162,8 @@
|
||||
|
||||
"@kwsites/promise-deferred": ["@kwsites/promise-deferred@1.1.1", "", {}, "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="],
|
||||
|
||||
"@lucide/vue": ["@lucide/vue@1.17.0", "", { "peerDependencies": { "vue": ">=3.0.1" } }, "sha512-6Q1ZHgr5FbmJzKWe5BxlNdjLj2lbmuH1zwDtVzUJofX0w9UREwKgq4F4jwKqFYyyIS4Rj3FiJvDi2k6djukmmw=="],
|
||||
|
||||
"@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.3", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg=="],
|
||||
|
||||
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="],
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import tailwindcss from "@tailwindcss/vite";
|
||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
compatibilityDate: '2025-07-15',
|
||||
devtools: { enabled: true },
|
||||
devtools: { enabled: false },
|
||||
css: ['~/assets/css/main.css'],
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "nuxt-daisyui-template",
|
||||
"name": "littlefoxsoftware_xyz",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
@@ -11,6 +11,7 @@
|
||||
"postinstall": "nuxt prepare"
|
||||
},
|
||||
"dependencies": {
|
||||
"@lucide/vue": "^1.17.0",
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"daisyui": "^5.5.20",
|
||||
"nuxt": "^4.4.7",
|
||||
|
||||
Reference in New Issue
Block a user