mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-12 20:15:36 +00:00
UI updates
This commit is contained in:
1 parent
a97f7d225a
commit
1c2d76e651
4 files changed
+113
-39
No files matched your search
+90
-29
@@ -3,6 +3,7 @@
|
||||
documentation: https://docs.appsmith.com/getting-started/setup/instance-configuration/
|
||||
type: appsmith
|
||||
name: Appsmith
|
||||
description: "Fastest way to build internal apps over any database or API."
|
||||
services:
|
||||
$$id:
|
||||
image: appsmith/appsmith-ce:$$core_version
|
||||
@@ -33,6 +34,12 @@
|
||||
- templateVersion: 1.0.0
|
||||
defaultVersion: 0.56.2
|
||||
documentation: https://hub.docker.com/r/zadam/trilium
|
||||
description: "A hierarchical note taking application with focus on building large personal knowledge bases."
|
||||
labels:
|
||||
- personal
|
||||
- knowledge
|
||||
- notes
|
||||
- wiki
|
||||
type: trilium
|
||||
name: Trilium Notes
|
||||
services:
|
||||
@@ -47,6 +54,9 @@
|
||||
- templateVersion: 1.0.0
|
||||
defaultVersion: 1.9.2
|
||||
documentation: https://hub.docker.com/r/louislam/uptime-kuma
|
||||
description: A free & fancy self-hosted monitoring tool.
|
||||
labels:
|
||||
- uptime
|
||||
type: uptimekuma
|
||||
name: UptimeKuma
|
||||
services:
|
||||
@@ -61,6 +71,7 @@
|
||||
- templateVersion: 1.0.0
|
||||
defaultVersion: "5.8"
|
||||
documentation: https://hub.docker.com/r/silviof/docker-languagetool
|
||||
description: "A multilingual grammar, style and spell checker."
|
||||
type: languagetool
|
||||
name: LanguageTool
|
||||
services:
|
||||
@@ -75,8 +86,12 @@
|
||||
- templateVersion: 1.0.0
|
||||
defaultVersion: 1.26.0
|
||||
documentation: https://hub.docker.com/r/vaultwarden/server
|
||||
description: "Bitwarden compatible server written in Rust."
|
||||
type: vaultwarden
|
||||
name: VaultWarden
|
||||
labels:
|
||||
- bitwarden
|
||||
- password manager
|
||||
services:
|
||||
$$id:
|
||||
image: vaultwarden/server:$$core_version
|
||||
@@ -92,8 +107,11 @@
|
||||
type: grafana
|
||||
name: Grafana
|
||||
description: >-
|
||||
Grafana allows you to query, visualize, alert on and understand your metrics
|
||||
no matter where they are stored.
|
||||
Grafana allows you to query, visualize, alert on and understand your metrics.
|
||||
labels:
|
||||
- monitoring
|
||||
- metrics
|
||||
- dashboard
|
||||
services:
|
||||
$$id:
|
||||
image: grafana/grafana:$$core_version
|
||||
@@ -110,6 +128,11 @@
|
||||
type: appwrite
|
||||
name: Appwrite
|
||||
description: Secure Backend Server for Web, Mobile & Flutter Developers.
|
||||
labels:
|
||||
- serverless
|
||||
- backend
|
||||
- storage
|
||||
- api
|
||||
services:
|
||||
"$$id":
|
||||
image: appwrite/appwrite:$$core_version
|
||||
@@ -1187,9 +1210,12 @@
|
||||
- templateVersion: 1.0.0
|
||||
defaultVersion: latest
|
||||
documentation: https://docs.weblate.org/en/latest/admin/install/docker.html
|
||||
description: "A copylefted libre software web-based continuous localization system."
|
||||
type: weblate
|
||||
name: Weblate
|
||||
description: ""
|
||||
labels:
|
||||
- translate
|
||||
- localization
|
||||
services:
|
||||
$$id:
|
||||
name: Weblate
|
||||
@@ -1265,7 +1291,7 @@
|
||||
documentation: https://docs.searxng.org/
|
||||
type: searxng
|
||||
name: SearXNG
|
||||
description: ""
|
||||
description: "Free internet metasearch engine which aggregates results from more than 70 search services."
|
||||
services:
|
||||
$$id:
|
||||
name: SearXNG
|
||||
@@ -1339,7 +1365,10 @@
|
||||
documentation: https://glitchtip.com/documentation
|
||||
type: glitchtip
|
||||
name: GlitchTip
|
||||
description: ""
|
||||
description: "Simple, open source error tracking."
|
||||
labels:
|
||||
- sentry
|
||||
- bugsnag
|
||||
services:
|
||||
$$id:
|
||||
name: GlitchTip
|
||||
@@ -1559,6 +1588,9 @@
|
||||
type: hasura
|
||||
name: Hasura
|
||||
description: "Instant realtime GraphQL APIs on any Postgres application, existing or new."
|
||||
labels:
|
||||
- graphql
|
||||
- database
|
||||
services:
|
||||
$$id:
|
||||
name: Hasura
|
||||
@@ -1622,11 +1654,9 @@
|
||||
documentation: https://umami.is/docs/getting-started
|
||||
type: umami-postgresql
|
||||
name: Umami
|
||||
subname: (with PostgreSQL)
|
||||
subname: (PostgreSQL)
|
||||
description: >-
|
||||
Umami is a simple, easy to use, self-hosted web analytics solution. The goal
|
||||
is to provide you with a friendly privacy-focused alternative to Google
|
||||
Analytics.
|
||||
A simple, easy to use, self-hosted web analytics solution.
|
||||
services:
|
||||
$$id:
|
||||
name: Umami
|
||||
@@ -1834,8 +1864,7 @@
|
||||
type: meilisearch
|
||||
name: MeiliSearch
|
||||
description: >-
|
||||
MeiliSearch is a lightning Fast, Ultra Relevant, and Typo-Tolerant Search
|
||||
Engine
|
||||
A lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine.
|
||||
services:
|
||||
$$id:
|
||||
name: MeiliSearch
|
||||
@@ -1865,8 +1894,10 @@
|
||||
name: Ghost
|
||||
subname: (MariaDB)
|
||||
description: >-
|
||||
Ghost is a free and open source blogging platform written in JavaScript and
|
||||
distributed under the MIT License
|
||||
Free and open source blogging platform.
|
||||
labels:
|
||||
- cms
|
||||
- blog
|
||||
services:
|
||||
$$id:
|
||||
name: Ghost
|
||||
@@ -1981,8 +2012,7 @@
|
||||
name: Ghost
|
||||
subname: (without Database)
|
||||
description: >-
|
||||
Ghost is a free and open source blogging platform written in JavaScript and
|
||||
distributed under the MIT License
|
||||
Free and open source blogging platform.
|
||||
services:
|
||||
$$id:
|
||||
name: Ghost
|
||||
@@ -2045,10 +2075,9 @@
|
||||
documentation: https://ghost.org/resources/
|
||||
type: ghost-mysql
|
||||
name: Ghost
|
||||
subname: (with MySQL)
|
||||
subname: (MySQL)
|
||||
description: >-
|
||||
Ghost is a free and open source blogging platform written in JavaScript and
|
||||
distributed under the MIT License
|
||||
Ghost is a free and open source blogging platform.
|
||||
services:
|
||||
$$id:
|
||||
name: Ghost
|
||||
@@ -2124,8 +2153,12 @@
|
||||
documentation: https://wordpress.org/
|
||||
type: wordpress
|
||||
name: WordPress
|
||||
subname: (with MySQL)
|
||||
description: WordPress is a content management system based on PHP with new MySQL database.
|
||||
subname: (MySQL)
|
||||
description: A content management system based on PHP.
|
||||
labels:
|
||||
- "wordpress"
|
||||
- "php"
|
||||
- "cms"
|
||||
services:
|
||||
$$id:
|
||||
name: WordPress
|
||||
@@ -2212,7 +2245,11 @@
|
||||
type: wordpress-only
|
||||
name: WordPress
|
||||
subname: (without DB)
|
||||
description: WordPress is a content management system based on PHP without MySQL.
|
||||
description: A content management system based on PHP.
|
||||
labels:
|
||||
- "wordpress"
|
||||
- "php"
|
||||
- "cms"
|
||||
services:
|
||||
$$id:
|
||||
name: WordPress
|
||||
@@ -2283,8 +2320,10 @@
|
||||
type: vscodeserver
|
||||
name: VSCode Server
|
||||
description: >-
|
||||
vscode-server by Coder is VS Code running on a remote server, accessible
|
||||
through the browser.
|
||||
Visual Studio Code on a remote server, accessible through the browser.
|
||||
labels:
|
||||
- vscode
|
||||
- ide
|
||||
services:
|
||||
$$id:
|
||||
name: VSCode Server
|
||||
@@ -2312,7 +2351,10 @@
|
||||
documentation: https://min.io/docs/minio
|
||||
type: minio
|
||||
name: MinIO
|
||||
description: " MinIO is a cloud storage server compatible with Amazon S3"
|
||||
description: "A cloud storage server compatible with Amazon S3."
|
||||
labels:
|
||||
- storage
|
||||
- s3
|
||||
services:
|
||||
$$id:
|
||||
name: MinIO
|
||||
@@ -2368,7 +2410,10 @@
|
||||
documentation: https://fider.io/docs
|
||||
type: fider
|
||||
name: Fider
|
||||
description: Fider is a platform to collect and organize customer feedback.
|
||||
description: A platform to collect and organize customer feedback.
|
||||
labels:
|
||||
- suggestion
|
||||
- feedback
|
||||
services:
|
||||
$$id:
|
||||
name: Fider
|
||||
@@ -2486,7 +2531,13 @@
|
||||
documentation: https://docs.n8n.io
|
||||
type: n8n
|
||||
name: n8n.io
|
||||
description: n8n is a free and open node based Workflow Automation Tool.
|
||||
description: A free and open node based Workflow Automation Tool.
|
||||
labels:
|
||||
- workflow
|
||||
- automation
|
||||
- ifttt
|
||||
- zapier
|
||||
- nodered
|
||||
services:
|
||||
$$id:
|
||||
name: N8n
|
||||
@@ -2512,7 +2563,14 @@
|
||||
documentation: https://plausible.io/doc/
|
||||
type: plausibleanalytics
|
||||
name: Plausible Analytics
|
||||
description: Plausible is a lightweight and open-source website analytics tool.
|
||||
description: A lightweight and open-source website analytics tool.
|
||||
labels:
|
||||
- analytics
|
||||
- statistics
|
||||
- plausible
|
||||
- gdpr
|
||||
- no-cookie
|
||||
- google analytics
|
||||
services:
|
||||
$$id:
|
||||
name: Plausible Analytics
|
||||
@@ -2658,8 +2716,11 @@
|
||||
type: nocodb
|
||||
name: NocoDB
|
||||
description: >-
|
||||
The Open Source Airtable Alternative - Turns any MySQL, PostgreSQL, SQL
|
||||
Server, SQLite & MariaDB into a smart-spreadsheet.
|
||||
Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.
|
||||
labels:
|
||||
- database
|
||||
- airtable
|
||||
- spreadsheet
|
||||
services:
|
||||
$$id:
|
||||
name: NocoDB
|
||||
|
||||
@@ -1 +1 @@
|
||||
[{"templateVersion":"1.0.0","defaultVersion":"v1.8.6","documentation":"https://docs.appsmith.com/getting-started/setup/instance-configuration/","type":"appsmith","name":"Appsmith","services":{"$$id":{"image":"appsmith/appsmith-ce:$$core_version","environment":["APPSMITH_MAIL_ENABLED=$$config_appsmith_mail_enabled","APPSMITH_DISABLE_TELEMETRY=$$config_appsmith_disable_telemetry","APPSMITH_DISABLE_INTERCOM=$$config_appsmith_disable_intercom"],"volumes":["$$id-stacks-data:/appsmith-stacks"],"ports":["80"]}},"variables":[{"id":"$$config_appsmith_mail_enabled","name":"APPSMITH_MAIL_ENABLED","label":"Enable Mail","defaultValue":"false","description":""},{"id":"$$config_appsmith_disable_telemetry","name":"APPSMITH_DISABLE_TELEMETRY","label":"Disable Telemetry","defaultValue":"true","description":""},{"id":"$$config_appsmith_disable_intercom","name":"APPSMITH_DISABLE_INTERCOM","label":"Disable Intercom","defaultValue":"true","description":""}]},{"templateVersion":"1.0.0","defaultVersion":"0.56.2","documentation":"https://hub.docker.com/r/zadam/trilium","type":"trilium","name":"Trilium Notes","services":{"$$id":{"image":"zadam/trilium:$$core_version","environment":[],"volumes":["$$id-trilium:/home/node/trilium-data"],"ports":["8080"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.9.2","documentation":"https://hub.docker.com/r/louislam/uptime-kuma","type":"uptimekuma","name":"UptimeKuma","services":{"$$id":{"image":"louislam/uptime-kuma:$$core_version","environment":[],"volumes":["$$id-uptimekuma:/app/data"],"ports":["3001"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"5.8","documentation":"https://hub.docker.com/r/silviof/docker-languagetool","type":"languagetool","name":"LanguageTool","services":{"$$id":{"image":"silviof/docker-languagetool:$$core_version","environment":[],"volumes":["$$id-ngrams:/ngrams"],"ports":["8010"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.26.0","documentation":"https://hub.docker.com/r/vaultwarden/server","type":"vaultwarden","name":"VaultWarden","services":{"$$id":{"image":"vaultwarden/server:$$core_version","environment":[],"volumes":["$$id-data:/data"],"ports":["80"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"9.2.3","documentation":"https://hub.docker.com/r/grafana/grafana","type":"grafana","name":"Grafana","description":"Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored.","services":{"$$id":{"image":"grafana/grafana:$$core_version","environment":[],"volumes":["$$id-config:/etc/grafana","$$id-grafana:/var/lib/grafana"],"ports":["3000"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.0.3","documentation":"https://appwrite.io/docs","type":"appwrite","name":"Appwrite","description":"Secure Backend Server for Web, Mobile & Flutter Developers.","services":{"$$id":{"image":"appwrite/appwrite:$$core_version","environment":["_APP_ENV=$$config__app_env","_APP_WORKER_PER_CORE=$$config__app_worker_per_core","_APP_LOCALE=$$config__app_locale","_APP_CONSOLE_WHITELIST_ROOT=$$config__app_console_whitelist_root","_APP_CONSOLE_WHITELIST_EMAILS=$$config__app_console_whitelist_emails","_APP_CONSOLE_WHITELIST_IPS=$$config__app_console_whitelist_ips","_APP_SYSTEM_EMAIL_NAME=$$config__app_system_email_name","_APP_SYSTEM_EMAIL_ADDRESS=$$config__app_system_email_address","_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=$$config__app_system_security_email_address","_APP_SYSTEM_RESPONSE_FORMAT=$$config__app_system_response_format","_APP_OPTIONS_ABUSE=$$config__app_options_abuse","_APP_OPTIONS_FORCE_HTTPS=$$config__app_options_force_https","_APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1","_APP_DOMAIN=$$config__app_domain","_APP_DOMAIN_TARGET=$$config__app_domain_target","_APP_REDIS_HOST=$$config__app_redis_host","_APP_REDIS_PORT=$$config__app_redis_port","_APP_REDIS_USER=$$config__app_redis_user","_APP_REDIS_PASS=$$secret__app_redis_pass","_APP_DB_HOST=$$config__app_db_host","_APP_DB_PORT=$$config__app_db_port","_APP_DB_SCHEMA=$$config__app_db_schema","_APP_DB_USER=$$config__app_db_user","_APP_DB_PASS=$$secret__app_db_pass","_APP_SMTP_HOST=$$config__app_smtp_host","_APP_SMTP_PORT=$$config__app_smtp_port","_APP_SMTP_SECURE=$$config__app_smtp_secure","_APP_SMTP_USERNAME=$$config__app_smtp_username","_APP_SMTP_PASSWORD=$$secret__app_smtp_password","_APP_USAGE_STATS=$$config__app_usage_stats","_APP_INFLUXDB_HOST=$$config__app_influxdb_host","_APP_INFLUXDB_PORT=$$config__app_influxdb_port","_APP_STORAGE_LIMIT=$$config__app_storage_limit","_APP_STORAGE_PREVIEW_LIMIT=$$config__app_storage_preview_limit","_APP_STORAGE_ANTIVIRUS=$$config__app_storage_antivirus_enabled","_APP_STORAGE_ANTIVIRUS_HOST=$$config__app_storage_antivirus_host","_APP_STORAGE_ANTIVIRUS_PORT=$$config__app_storage_antivirus_port","_APP_STORAGE_DEVICE=$$config__app_storage_device","_APP_STORAGE_S3_ACCESS_KEY=$$secret__app_storage_s3_access_key","_APP_STORAGE_S3_SECRET=$$secret__app_storage_s3_secret","_APP_STOLine truncated
|
||||
[{"templateVersion":"1.0.0","defaultVersion":"v1.8.6","documentation":"https://docs.appsmith.com/getting-started/setup/instance-configuration/","type":"appsmith","name":"Appsmith","description":"Fastest way to build internal apps over any database or API.","services":{"$$id":{"image":"appsmith/appsmith-ce:$$core_version","environment":["APPSMITH_MAIL_ENABLED=$$config_appsmith_mail_enabled","APPSMITH_DISABLE_TELEMETRY=$$config_appsmith_disable_telemetry","APPSMITH_DISABLE_INTERCOM=$$config_appsmith_disable_intercom"],"volumes":["$$id-stacks-data:/appsmith-stacks"],"ports":["80"]}},"variables":[{"id":"$$config_appsmith_mail_enabled","name":"APPSMITH_MAIL_ENABLED","label":"Enable Mail","defaultValue":"false","description":""},{"id":"$$config_appsmith_disable_telemetry","name":"APPSMITH_DISABLE_TELEMETRY","label":"Disable Telemetry","defaultValue":"true","description":""},{"id":"$$config_appsmith_disable_intercom","name":"APPSMITH_DISABLE_INTERCOM","label":"Disable Intercom","defaultValue":"true","description":""}]},{"templateVersion":"1.0.0","defaultVersion":"0.56.2","documentation":"https://hub.docker.com/r/zadam/trilium","description":"A hierarchical note taking application with focus on building large personal knowledge bases.","labels":["personal","knowledge","notes","wiki"],"type":"trilium","name":"Trilium Notes","services":{"$$id":{"image":"zadam/trilium:$$core_version","environment":[],"volumes":["$$id-trilium:/home/node/trilium-data"],"ports":["8080"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.9.2","documentation":"https://hub.docker.com/r/louislam/uptime-kuma","description":"A free & fancy self-hosted monitoring tool.","labels":["uptime"],"type":"uptimekuma","name":"UptimeKuma","services":{"$$id":{"image":"louislam/uptime-kuma:$$core_version","environment":[],"volumes":["$$id-uptimekuma:/app/data"],"ports":["3001"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"5.8","documentation":"https://hub.docker.com/r/silviof/docker-languagetool","description":"A multilingual grammar, style and spell checker.","type":"languagetool","name":"LanguageTool","services":{"$$id":{"image":"silviof/docker-languagetool:$$core_version","environment":[],"volumes":["$$id-ngrams:/ngrams"],"ports":["8010"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.26.0","documentation":"https://hub.docker.com/r/vaultwarden/server","description":"Bitwarden compatible server written in Rust.","type":"vaultwarden","name":"VaultWarden","labels":["bitwarden","password manager"],"services":{"$$id":{"image":"vaultwarden/server:$$core_version","environment":[],"volumes":["$$id-data:/data"],"ports":["80"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"9.2.3","documentation":"https://hub.docker.com/r/grafana/grafana","type":"grafana","name":"Grafana","description":"Grafana allows you to query, visualize, alert on and understand your metrics.","labels":["monitoring","metrics","dashboard"],"services":{"$$id":{"image":"grafana/grafana:$$core_version","environment":[],"volumes":["$$id-config:/etc/grafana","$$id-grafana:/var/lib/grafana"],"ports":["3000"]}},"variables":[]},{"templateVersion":"1.0.0","defaultVersion":"1.0.3","documentation":"https://appwrite.io/docs","type":"appwrite","name":"Appwrite","description":"Secure Backend Server for Web, Mobile & Flutter Developers.","labels":["serverless","backend","storage","api"],"services":{"$$id":{"image":"appwrite/appwrite:$$core_version","environment":["_APP_ENV=$$config__app_env","_APP_WORKER_PER_CORE=$$config__app_worker_per_core","_APP_LOCALE=$$config__app_locale","_APP_CONSOLE_WHITELIST_ROOT=$$config__app_console_whitelist_root","_APP_CONSOLE_WHITELIST_EMAILS=$$config__app_console_whitelist_emails","_APP_CONSOLE_WHITELIST_IPS=$$config__app_console_whitelist_ips","_APP_SYSTEM_EMAIL_NAME=$$config__app_system_email_name","_APP_SYSTEM_EMAIL_ADDRESS=$$config__app_system_email_address","_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=$$config__app_system_security_email_address","_APP_SYSTEM_RESPONSE_FORMAT=$$config__app_system_response_format","_APP_OPTIONS_ABUSE=$$config__app_options_abuse","_APP_OPTIONS_FORCE_HTTPS=$$config__app_options_force_https","_APP_OPENSSL_KEY_V1=$$secret__app_openssl_key_v1","_APP_DOMAIN=$$config__app_domain","_APP_DOMAIN_TARGET=$$config__app_domain_target","_APP_REDIS_HOST=$$config__app_redis_host","_APP_REDIS_PORT=$$config__app_redis_port","_APP_REDIS_USER=$$config__app_redis_user","_APP_REDIS_PASS=$$secret__app_redis_pass","_APP_DB_HOST=$$config__app_db_host","_APP_DB_PORT=$$config__app_db_port","_APP_DB_SCHEMA=$$config__app_db_schema","_APP_DB_USER=$$config__app_db_user","_APP_DB_PASS=$$secret__app_db_pass","_APP_SMTP_HOST=$$config__app_smtp_host","_APP_SMTP_PORT=$$config__app_smtp_port","_APP_SMTP_SECURE=$$config__app_smtp_secure","_APP_SMTP_USERNAME=$$config__app_smtp_username","_APP_SMTP_PASSWORD=$$secret__app_smtp_password","_APP_USAGE_STATS=$$config__app_usage_stats","_APP_INFLUXDB_HOST=$$config__app_influxdb_hoLine truncated
|
||||
@@ -30,8 +30,12 @@
|
||||
|
||||
function generateClass() {
|
||||
switch (name) {
|
||||
case 'n8n':
|
||||
return 'w-12 h-12 -mt-3';
|
||||
case 'weblate':
|
||||
return 'w-12 h-12 -mt-3';
|
||||
default:
|
||||
return isAbsolute ? 'w-12 h-12 absolute top-0 left-0 -m-3 -mt-5' : 'w-8 h-8 mx-auto';
|
||||
return isAbsolute ? 'w-10 h-10' : 'w-8 h-8 mx-auto';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
filteredServices = services.filter(
|
||||
(service: any) =>
|
||||
service.name.toLowerCase().includes(search.toLowerCase()) ||
|
||||
service.labels?.some((label: string) => label.toLowerCase().includes(search.toLowerCase()))
|
||||
service.labels?.some((label: string) => label.toLowerCase().includes(search.toLowerCase())) ||
|
||||
service.description.toLowerCase().includes(search.toLowerCase())
|
||||
);
|
||||
}
|
||||
function cleanupSearch() {
|
||||
@@ -104,18 +105,26 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class=" lg:pt-20 lg:p-0 px-8 pt-20">
|
||||
<div class="grid grid-flow-rows grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
|
||||
<div class="grid grid-flow-rows grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8">
|
||||
{#each sortMe(filteredServices) as service}
|
||||
{#key service.name}
|
||||
<button
|
||||
on:click={() => handleSubmit(service)}
|
||||
class="box-selection relative text-xl font-bold hover:bg-primary h-24"
|
||||
class="box-selection relative text-xl font-bold hover:bg-primary "
|
||||
>
|
||||
<ServiceIcons type={service.type} />
|
||||
{service.name}
|
||||
{#if service.subname}
|
||||
<div class="text-sm font-mono">{service.subname}</div>
|
||||
{/if}
|
||||
<div class="flex flex-col">
|
||||
<div class="flex justify-center items-center gap-2 pb-4">
|
||||
<ServiceIcons type={service.type} />
|
||||
<div>{service.name}</div>
|
||||
{#if service.subname}
|
||||
<div class="text-sm">{service.subname}</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if service.description}
|
||||
<div class="text-sm font-mono">{service.description}</div>
|
||||
{/if}
|
||||
</div>
|
||||
</button>
|
||||
{/key}
|
||||
{/each}
|
||||
|
||||
Reference in new issue
Block a user