Update master with new auth (#1236)

* Begin UI for threads and moderation overhaul

* Hide close button on non-report threads

* Fix review age coloring

* Add project count

* Remove action buttons from queue page and add queued date to project page

* Hook up to actual data

* Remove unused icon

* Get up to 1000 projects in queue

* prettier

* more prettier

* Changed all the things

* lint

* rebuild

* Add omorphia

* Workaround formatjs bug in ThreadSummary.vue

* Fix notifications page on prod

* Fix a few notifications and threads bugs

* lockfile

* Fix duplicate button styles

* more fixes and polishing

* More fixes

* Remove legacy pages

* More bugfixes

* Add some error catching for reports and notifications

* More error handling

* fix lint

* Add inbox links

* Remove loading component and rename member header

* Rely on threads always existing

* Handle if project update notifs are not grouped

* oops

* Fix chips on notifications page

* Import ModalModeration

* finish threads

* New authentication (#1234)

* Initial new auth work

* more auth pages

* Finish most

* more

* fix on landing page

* Finish everything but PATs + Sessions

* fix threads merge bugs

* fix cf pages ssr

* fix most issues

* Finish authentication

* Fix merge

---------

Co-authored-by: triphora <emma@modrinth.com>
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
This commit is contained in:
Prospector
2023-07-20 11:19:42 -07:00
committed by GitHub
parent a5613ebb10
commit 34d63f3557
72 changed files with 2373 additions and 711 deletions

View File

@@ -1,12 +1,12 @@
<template>
<div class="dashboard-overview">
<section class="universal-card dashboard-header">
<Avatar :src="$auth.user.avatar_url" size="md" circle :alt="$auth.user.username" />
<Avatar :src="auth.user.avatar_url" size="md" circle :alt="auth.user.username" />
<div class="username">
<h1>
{{ $auth.user.username }}
{{ auth.user.username }}
</h1>
<NuxtLink class="goto-link" :to="`/user/${$auth.user.username}`">
<NuxtLink class="goto-link" :to="`/user/${auth.user.username}`">
Visit your profile
<ChevronRightIcon class="featured-header-chevron" aria-hidden="true" />
</NuxtLink>
@@ -26,6 +26,7 @@
v-model:notifications="allNotifs"
class="universal-card recessed"
:notification="notification"
:auth="auth"
raised
compact
/>
@@ -116,14 +117,13 @@ useHead({
})
const auth = await useAuth()
const app = useNuxtApp()
const [{ data: projects }, { data: payouts }] = await Promise.all([
useAsyncData(`user/${auth.value.user.id}/projects`, () =>
useBaseFetch(`user/${auth.value.user.id}/projects`, app.$defaultHeaders())
useBaseFetch(`user/${auth.value.user.id}/projects`)
),
useAsyncData(`user/${auth.value.user.id}/payouts`, () =>
useBaseFetch(`user/${auth.value.user.id}/payouts`, app.$defaultHeaders())
useBaseFetch(`user/${auth.value.user.id}/payouts`)
),
])

View File

@@ -36,6 +36,7 @@
v-model:notifications="allNotifs"
class="universal-card recessed"
:notification="notification"
:auth="auth"
raised
/>
</template>
@@ -55,6 +56,8 @@ useHead({
title: 'Notifications - Modrinth',
})
const auth = await useAuth()
const route = useRoute()
const router = useRouter()

View File

@@ -459,7 +459,6 @@ export default defineNuxtComponent({
{
method: 'PATCH',
body: baseData,
...this.$defaultHeaders(),
}
)

View File

@@ -1,5 +1,6 @@
<template>
<ReportView
:auth="auth"
:report-id="route.params.id"
:breadcrumbs-stack="[{ href: '/dashboard/reports', label: 'Active reports' }]"
/>
@@ -8,6 +9,7 @@
import ReportView from '~/components/ui/report/ReportView.vue'
const route = useRoute()
const auth = await useAuth()
useHead({
title: `Report ${route.params.id} - Modrinth`,

View File

@@ -2,13 +2,14 @@
<div>
<section class="universal-card">
<h2>Reports you've filed</h2>
<ReportsList />
<ReportsList :auth="auth" />
</section>
</div>
</template>
<script setup>
import ReportsList from '~/components/ui/report/ReportsList.vue'
const auth = await useAuth()
useHead({
title: 'Active reports - Modrinth',
})

View File

@@ -39,10 +39,9 @@ useHead({
})
const auth = await useAuth()
const app = useNuxtApp()
const { data: payouts } = await useAsyncData(`user/${auth.value.user.id}/payouts`, () =>
useBaseFetch(`user/${auth.value.user.id}/payouts`, app.$defaultHeaders())
useBaseFetch(`user/${auth.value.user.id}/payouts`)
)
</script>
<style lang="scss" scoped>