feat: hosting access tab (#5995)

* feat: implement access tab with dummy data

* fix: spacing

* feat: qa

* feat: implement backend

* qa: qa pass

* feat: fix user "search"

* fix: lint

* feat: change to bitfield

* feat: fix fields

* fix: lint

* fix: lint

* feat: hook up api

* feat: fix permissions

* feat: audit log table event start

* feat: better mobile mode for audit log table

* feat: i18n

* feat: qa

* feat: enforce permissions

* feat: email template start

* feat: qa

* fix: tooltip bug

* feat: qa

* impl: sse support in api-client

* feat: sse impl

* fix: desync path

* feat: time frame picker from analytics

* feat: QA

* fix: spacing

* fix: permisison audit log entries

* fix: hosting manage page shared server detection

* fix: lint

* feat: qa + lint

* feat: audit log table sort by time

* feat: finish frontend panel stuff

* fix: lint

* fix: backend alignment

* fix: lint

* fix: supress friend errors

* feat: qa

* fix: qa

* fix: lint

* fix: utils barrel

* fix: safari cookies in dev

* fix: pin nuxt

* feat: fixes + notif fix

* fix: notifications

* feat: qa

* fix: notification sync not happening immediately

* fix: qa

* fix: qa

* feat: qa

* blog + prepr

* feat: toast shit

* blog images

* thumbnail update one last time

* prepr

* feat: use reinvite route

* update images

* fix: reinvite stuff

* fix: lint

* fix: alignment of save bar

* fix: notif sizing

* fix: split up access

* fix: lint

* fix: lint

* fix: link

---------

Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
Calum H.
2026-06-04 15:58:01 +00:00
committed by GitHub
co-authored by Prospector
parent 58ad58f958
commit bd97ace974
227 changed files with 15578 additions and 2153 deletions
+93 -23
View File
@@ -639,8 +639,11 @@ a:not(.no-click-animation),
// TOOLTIPS
.v-popper--theme-dropdown,
.v-popper--theme-dropdown.v-popper--theme-ribbit-popout {
.v-popper__popper.v-popper--theme-dropdown,
.v-popper__popper.v-popper--theme-dropdown.v-popper--theme-ribbit-popout {
--_popper-arrow-bg: var(--surface-3);
--_popper-arrow-border: var(--surface-5);
.v-popper__inner {
border: 1px solid var(--surface-5) !important;
padding: var(--gap-sm) !important;
@@ -649,14 +652,6 @@ a:not(.no-click-animation),
background-color: var(--surface-3) !important;
box-shadow: 3px 3px 0.8rem rgba(0, 0, 0, 0.3) !important;
}
.v-popper__arrow-outer {
border-color: var(--surface-5) !important;
}
.v-popper__arrow-inner {
border-color: var(--surface-3) !important;
}
}
.v-popper__popper[data-popper-placement='bottom-end'] .v-popper__wrapper {
@@ -698,7 +693,16 @@ a:not(.no-click-animation),
//transform: scale(.9);
}
.v-popper--theme-tooltip {
.v-popper__popper.v-popper--theme-tooltip {
--_popper-arrow-bg: var(--color-tooltip-bg);
--_popper-arrow-border: var(--surface-5);
pointer-events: none;
&.v-popper--interactive {
pointer-events: auto;
}
.v-popper__inner {
background: var(--color-tooltip-bg) !important;
color: var(--color-tooltip-text) !important;
@@ -710,18 +714,12 @@ a:not(.no-click-animation),
line-height: 1;
border: 1px solid var(--surface-5);
}
.v-popper__arrow-outer {
border-color: var(--surface-5) !important;
}
.v-popper__arrow-inner {
visibility: visible;
border-color: var(--surface-3) !important;
}
}
.v-popper--theme-dismissable-prompt {
.v-popper__popper.v-popper--theme-dismissable-prompt {
--_popper-arrow-bg: var(--color-raised-bg);
--_popper-arrow-border: var(--color-button-border);
z-index: 10;
.v-popper__inner {
@@ -734,13 +732,85 @@ a:not(.no-click-animation),
font-weight: bold;
line-height: 1;
}
}
.v-popper__popper.v-popper--theme-dropdown,
.v-popper__popper.v-popper--theme-tooltip,
.v-popper__popper.v-popper--theme-dismissable-prompt {
.v-popper__arrow-container {
width: 0.875rem !important;
height: 0.875rem !important;
}
.v-popper__arrow-outer {
border-color: var(--color-button-border);
border-color: transparent !important;
border-style: solid !important;
height: 0 !important;
width: 0 !important;
}
.v-popper__arrow-inner {
border-color: var(--color-raised-bg);
border-color: transparent !important;
border-style: solid !important;
height: 0 !important;
visibility: visible !important;
width: 0 !important;
}
&[data-popper-placement^='top'] {
.v-popper__arrow-outer {
border-width: 0.4375rem 0.4375rem 0 !important;
border-top-color: var(--_popper-arrow-border) !important;
}
.v-popper__arrow-inner {
border-width: 0.375rem 0.375rem 0 !important;
border-top-color: var(--_popper-arrow-bg) !important;
left: 0.0625rem !important;
top: -0.0625rem !important;
}
}
&[data-popper-placement^='bottom'] {
.v-popper__arrow-outer {
border-width: 0 0.4375rem 0.4375rem !important;
border-bottom-color: var(--_popper-arrow-border) !important;
}
.v-popper__arrow-inner {
border-width: 0 0.375rem 0.375rem !important;
border-bottom-color: var(--_popper-arrow-bg) !important;
bottom: -0.0625rem !important;
left: 0.0625rem !important;
}
}
&[data-popper-placement^='left'] {
.v-popper__arrow-outer {
border-width: 0.4375rem 0 0.4375rem 0.4375rem !important;
border-left-color: var(--_popper-arrow-border) !important;
}
.v-popper__arrow-inner {
border-width: 0.375rem 0 0.375rem 0.375rem !important;
left: -0.0625rem !important;
border-left-color: var(--_popper-arrow-bg) !important;
top: 0.0625rem !important;
}
}
&[data-popper-placement^='right'] {
.v-popper__arrow-outer {
border-width: 0.4375rem 0.4375rem 0.4375rem 0 !important;
border-right-color: var(--_popper-arrow-border) !important;
}
.v-popper__arrow-inner {
border-width: 0.375rem 0.375rem 0.375rem 0 !important;
border-right-color: var(--_popper-arrow-bg) !important;
right: -0.0625rem !important;
top: 0.0625rem !important;
}
}
}