New project cards (#5298)

* New project card

* no shadow on icons

* Remove updated label

* reduce tag count to 5

* improve envs

* fix: project card bottom row not growing

* move actions in grid mode

* focus changes + new project list component

* Allow more tags in grid mode, deprioritize non-loader tags

* fix prod deploy robots.txt

* remove unused id

* App cards

* prepr

* publish date + fix router links

* fix author hover underline in firefox

* perf: preload on search item hover

* remove unused filter

* remove option for old grid view

---------

Co-authored-by: tdgao <mr.trumgao@gmail.com>
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
This commit is contained in:
Prospector
2026-02-07 11:18:59 -08:00
committed by GitHub
co-authored by tdgao Calum H.
parent b6c22d6ca6
commit b005c1f522
46 changed files with 1343 additions and 1759 deletions
@@ -0,0 +1,39 @@
<script setup lang="ts">
import { ExternalIcon } from '@modrinth/assets'
import { AutoLink } from '../../base'
export type ProjectCardAuthorDetails = {
name: string
link?: string
}
defineProps<{
author: ProjectCardAuthorDetails
}>()
</script>
<template>
<!-- author will try to be full width, but no longer than the proper fit. but this also allows it to truncate if necessary -->
<!-- the weird padding and negative margin are to include the potential hover underline in bounding box which affects rendering on firefox -->
<span
class="line-clamp-1 break-all text-secondary font-normal max-w-fit w-full pb-[2px] mb-[-2px]"
>
by
<AutoLink
:to="author.link"
:class="
author.link
? 'custom-focus-indicator text-inherit outline-none group focus-visible:text-[--color-focus-ring] smart-clickable:allow-pointer-events'
: ''
"
>
<span
class="group-focus:underline group-focus:brightness-[--hover-brightness] group-hover:brightness-[--hover-brightness] group-hover:underline"
>
{{ author.name }}
</span>
<ExternalIcon v-if="author.link?.startsWith('http')" class="shrink-0 ml-1" />
</AutoLink>
</span>
</template>