Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .ai/rules/pickers.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,9 @@ Extends the picker rules above.
- Several of many → `MultiSelect` chips; tags → `TagMultiSelect`.
- One picker per data kind, so never a second date picker. The trigger shows readable text plus context, never an id. Optional fields get "Išvalyti". Lithuanian locale: Monday first, 24h.
- No dialog inside a dialog: on mobile, a picker opened from a sheet replaces the sheet's content, with a back action.

## One search-hit presentation, contextual shells
Search hits render `SearchHitRow` from a `NormalizedSearchHit`; do not hand-roll result rows.
Use `SearchResultList` for dialogs and `CommandItem` for the palette.
Use `InlineSearchField` for inline pickers in sheets/forms, with `UserSearchField` for people from the users API.
Keep ActionWindow cards contextual, sharing matches through `useSearchHitMatches`.
1 change: 1 addition & 0 deletions app/Http/Controllers/RegistrationController.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public function store(StoreRegistrationRequest $request, Form $form)
// Extract the value from the field data array
$responseValue = $fieldData['value'] ?? null;

/** @var FieldResponse $fieldResponse */
$fieldResponse = $formField->fieldResponses()->make([
'response' => ['value' => $responseValue],
]);
Expand Down
8 changes: 8 additions & 0 deletions app/Services/Typesense/SearchText.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use App\Models\Calendar;
use App\Models\Content;
use App\Models\Duty;
use App\Models\News;
use App\Models\Page;
use App\Services\ContentService;
Expand All @@ -18,9 +19,12 @@
}

/** @return array<string, string> */
public static function forModel(Model $model): array

Check warning on line 22 in app/Services/Typesense/SearchText.php

View workflow job for this annotation

GitHub Actions / PHP Static Analysis

The method forModel() has an NPath complexity of 3128. The configured NPath complexity threshold is 500.

Check warning on line 22 in app/Services/Typesense/SearchText.php

View workflow job for this annotation

GitHub Actions / PHP Static Analysis

The method forModel() has a Cyclomatic Complexity of 20. The configured cyclomatic complexity threshold is 15.
{
$result = [];
if ($model instanceof Duty) {
$model->loadMissing('institution.tenant');
}
if ($model instanceof News || $model instanceof Page) {
$model->loadMissing('content.parts', 'tags');
$content = $model->getRelation('content');
Expand Down Expand Up @@ -66,6 +70,10 @@
$parts[] = $tag->getTranslations('name')[$locale] ?? '';
}
}
if ($model instanceof Duty) {
$parts[] = $model->institution?->getTranslations('name')[$locale] ?? '';
$parts[] = $model->institution?->tenant->shortname ?? '';
}
$result['search_text_'.$locale] = self::plain(implode(' ', $parts));
}

Expand Down
5 changes: 5 additions & 0 deletions docs/changelog/v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ Datos platformoje ir vusa.lt rodomos vienodai ir visada Vilniaus laiku. Gide: [D

### Kiti pakeitimai ir pataisymai

- 🔧 **Veiksmų langas** – meniu pasirinkimai rodomi su rodykle, o atsakymai į klausimus (institucija, posėdžio tipas, data, laikas) – su žymimuoju langeliu. Grįžus atgal, anksčiau pasirinkta institucija, data, laikotarpis ar prašymo rūšis lieka pažymėta. Gide: [Veiksmų langas](/pagrindai/platforma)
- ✨ **Vienodi paieškos rezultatai** – problemos atsakingo asmens ir nario pasirinkimas bei institucijų paieška veiksmų lange atrodo kaip kitur platformoje; sutapę žodžiai institucijų paieškoje paryškinami. Šviesiame režime rezultatai ir veiksmų lango pasirinkimai rodomi šviesiame fone, o pažymėjimo langeliai visur vienodo dydžio. Gide: [Įrašų pasirinkimas](/pagrindai/platforma#pasirinkti-susijusi-irasa)
- 🔧 **Pareigybės paieška** – randa pareigybes pagal kartu įrašytus pareigybės ir institucijos ar padalinio žodžius, pvz., „atstovas matematikos“ arba „pirmininkas MIF“. Gide: [Pareigybės pasirinkimas](/organizacija/pareigybes#priskirti-nari)
- ✨ **„Rodyti daugiau“** – pareigybės pasirinkimo sąrašą galima papildyti tame pačiame lange. Sutapę žodžiai paryškinami, rodomi dabartiniai pareigas einantys nariai. Gide: [Pareigybės pasirinkimas](/organizacija/pareigybes#priskirti-nari)
- ✨ **Originalus pareigybės pavadinimas** – parinktis „Viešame puslapyje naudoti originalų pareigybės pavadinimą“ matoma iškart po pareigų datomis, neatveriant „Papildomi nustatymai“. Gide: [Nario priskyrimas](/organizacija/pareigybes#priskirti-nari)
- 🔧 **Registracijų eksportas** – narių ir studentų atstovų registracijų eksporte pateikiamos tik tos registracijos, kurias naudotojas gali matyti formos puslapyje. Gide: [Atsakymų eksportavimas](/organizacija/formos-ir-registracijos#eksportas)
- 🔧 **Dokumentų tikrinimas** – sėkmingai tikrinami dokumentai ir toliau automatiškai atnaujinami, o pakartotinai nepavykę patikrinimai neužima kitų dokumentų tikrinimo vietų. Gide: [Dokumentai](/visak/dokumentai#pranesimai)
- 🔧 **Paieška** – jei per trumpą laiką ieškota per daug kartų, paieška vėl veikia po kelių sekundžių, nebereikia perkrauti puslapio. Sąrašai atveriami su nuorodoje pasirinkta paieška ir filtrais nuo pirmojo rezultatų įkėlimo. Paieškos lange veiksmas „Paklausti, ar vyko posėdžiai“ atveria užklausos kūrimą, o ne pradinį veiksmų langą. Gide: [Rasti skiltį ar įrašą](/pagrindai/platforma#bendra-paieska)
Expand Down
5 changes: 5 additions & 0 deletions docs/en/changelog/v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ Dates on the platform and vusa.lt now read the same everywhere and always in Vil

### Other changes and fixes

- 🔧 **Action window** – menu choices show an arrow, and answers (institution, meeting type, date, time) show a check box. Going back keeps the earlier institution, date, period or request type marked. Guide: [Action window](/pagrindai/platforma)
- ✨ **Consistent search results** – the problem responsible person and member pickers and institution search in the action window now look like search elsewhere; matching words in institution search are highlighted. In light mode, results and action window choices sit on a lighter background, and selection boxes are the same size everywhere. Guide: [Choosing records](/pagrindai/platforma#pasirinkti-susijusi-irasa)
- 🔧 **Duty search** – finds duties using duty and institution or unit words together, such as “atstovas matematikos” or “pirmininkas MIF”. Guide: [Choosing a duty](/organizacija/pareigybes#priskirti-nari)
- ✨ **“Show more”** – adds more matches to the duty picker in the same window. Matching words are highlighted and current duty holders are shown. Guide: [Choosing a duty](/organizacija/pareigybes#priskirti-nari)
- ✨ **Original duty title** – the option to use the original duty title on the public website is visible right below the dates, without opening “Additional settings”. Guide: [Assigning a member](/organizacija/pareigybes#priskirti-nari)
- 🔧 **Registration exports** – member and student representative registration exports now include only the registrations the user can see on the form page. Guide: [Exporting responses](/organizacija/formos-ir-registracijos#eksportas)
- 🔧 **Document checks** – documents with successful checks continue to refresh automatically, and repeatedly failed checks no longer take up other documents’ refresh slots. Guide: [Documents](/visak/dokumentai#pranesimai)
- 🔧 **Search** – after too many searches in a short time, search works again within a few seconds instead of needing a page reload. Lists apply the search and filters from the link on their first load. In the search window, the „Ask whether meetings happened“ action opens the request itself instead of the starting action window. Guide: [Finding a section or record](/pagrindai/platforma#bendra-paieska)
Expand Down
2 changes: 1 addition & 1 deletion docs/organizacija/nariai.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ Profilis suskirstytas į skirtukus:
- *Dabartinės pareigos* – aktyvūs pareigybių laikotarpiai, institucija, kadencijos pradžia ir pabaiga.
- *Būsimos pareigos* – pareigos, kurios prasidės ateityje.
- *Buvusios pareigos* – visa istorinė asmens veikla VU SA.
- Mygtukas **Pridėti pareigybę** atidaro šoninį pareigybės priskyrimo langą (pasirenkama pareigybė, kadencijos datos ir studijų programa).
- Mygtukas **Pridėti pareigybę** atidaro [pareigybės pasirinkimo langą](/organizacija/pareigybes#priskirti-nari), kuriame pasirenkama pareigybė ir pareigų datos, o kuratoriams – ir studijų programa.
2. **Prieiga** (matoma superadministratoriui arba kai narys pats yra superadministratorius):
- Jungiklis **Super administratorius** suteikia arba atima visą prieigą prie platformos. Jį perjungti gali tik Superadministratorius; prieš išsaugant prašoma patvirtinti.
- Kitas teises narys gauna per savo pareigybių atsakomybes. Anksčiau tiesiogiai paskyrai suteiktos atsakomybės matomos ir atimamos [atsakomybės skirtuke „Kam suteikta“](/sistema/roles-ir-leidimai#atsakomybes-suteikimas).
Expand Down
25 changes: 22 additions & 3 deletions docs/organizacija/pareigybes.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
doc_status: reviewed
title: Pareigybės
last_reviewed: 2026-11-01
last_reviewed: 2026-11-06
tests:
- tests/Browser/CollectionTrashRefreshTest.php
- resources/js/Components/AdminForms/__tests__/DutyForm.component.test.ts
Expand Down Expand Up @@ -51,6 +51,8 @@ tests:
- resources/js/Features/Admin/Responsibilities/__tests__/DutyResponsibilitiesSection.component.test.ts
- resources/js/Features/Admin/Occupancy/__tests__/occupancy.test.ts
- resources/js/Features/Admin/Occupancy/__tests__/AssignDutyUserSheet.component.test.ts
- resources/js/Features/Admin/Occupancy/__tests__/DutySearchField.component.test.ts
- tests/Feature/Search/SearchExperienceTest.php
- resources/js/Features/Admin/Occupancy/__tests__/MemberSearchField.component.test.ts
- resources/js/Components/Duties/__tests__/DutyPreview.component.test.ts
- resources/js/Composables/__tests__/useDuplicateDutyCheck.test.ts
Expand Down Expand Up @@ -372,10 +374,27 @@ Paspaudus **Priskirti** pareigybės puslapyje:
pabaiga. Pasirinkus ankstesnę kadenciją, datos užpildomos visam jos laikotarpiui. Kadencijos imamos
iš institucijos [kadencijų](/sistema/nustatymai#kadencijos), o jei institucija savų neturi – iš bendrųjų.
3. Jei reikia, datos pataisomos ranka – tada pasirinkimas tampa „Kitos datos“.
4. **Papildomi nustatymai** (suskleisti): papildomas el. paštas, nuotrauka, originalus pareigybės
pavadinimas ir **Papildomas aprašymas**, rodomas viešame kontaktų sąraše vietoj pareigybės aprašymo.
4. Po datomis galima pažymėti **Viešame puslapyje naudoti originalų pareigybės pavadinimą** –
parinktis matoma iškart, neatveriant papildomų nustatymų.
5. **Papildomi nustatymai** (suskleisti): papildomas el. paštas, nuotrauka ir **Papildomas aprašymas**,
rodomas viešame kontaktų sąraše vietoj pareigybės aprašymo.
Kuratorių pareigybėms čia rodoma ir studijų programa bei jos pastaba.

Nario profilyje **Pridėti pareigybę** atveria tą patį langą su jau pasirinktu nariu.
Pareigybės paieškoje galima kartu įrašyti pareigybės ir institucijos ar padalinio žodžius,
pvz., „atstovas matematikos“ arba „pirmininkas MIF“. Sutapę žodžiai paryškinami, o prie pareigybės
rodomi ją šiuo metu einantys nariai. Jei rezultatų daugiau, paskutinė eilutė **Rodyti daugiau**
parodo, kiek jau rodoma ir kiek iš viso rasta; ją pasirinkus sąrašas papildomas.

<ChangelogNote date="2026-11-06" title="Pareigybės pasirinkimas">

Paieška randa pareigybes pagal kartu įrašytus pareigybės ir institucijos ar padalinio žodžius,
o daugiau rezultatų galima parodyti tame pačiame sąraše. Originalaus pavadinimo parinktis matoma
iškart po pareigų datomis. Nario paieškos rezultatuose, kaip ir kitose pasirinkimo vietose, rodomas vardas,
el. paštas, kai jis prieinamas, ir padaliniai.

</ChangelogNote>

Jei per pasirinktą laikotarpį tas pats žmogus jau eina šias pareigas, jo pasirinkti negalima.
Pasibaigęs laikotarpis neužima vietos, todėl jam padalinio kvota netaikoma.

Expand Down
7 changes: 7 additions & 0 deletions docs/pagrindai/platforma.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ Lango pasirinkimų „Kaip studentų atstovas“, „Kaip VU SA narys“ ir „K
pritaikomos pagal tavo profilio įvardžius, o jų nesant – pagal vardą. Pavyzdžiui, pasirinkus
„ji / jos“, matysi „Kaip studentų atstovė“ ir „Kaip koordinatorė“.

Lange atsakoma po vieną klausimą. Grįžus atgal rodykle lango viršuje, anksčiau pasirinktas atsakymas
(institucija, data, laikotarpis ar prašymo rūšis) lieka pažymėtas, todėl matai, ką buvai pasirinkęs.

::: info Ko nematai – to neturi
Sritys, skiltys ir veiksmai rodomi tik tada, kai turi teisę jais naudotis. Jie niekada nerodomi
išjungti. Jei kolega mato skiltį, kurios tu nematai, skiriasi jūsų teisės (žr.
Expand Down Expand Up @@ -150,6 +153,10 @@ Peržiūroje klavišais **↑** ir **↓** pereinama prie kito įrašo, o **Ente

### Pasirinkti susijusį įrašą

Nario ir problemos atsakingo asmens paieškos rezultatai pateikiami tokiomis pačiomis eilutėmis
kaip bendra paieška. Institucijų paieška veiksmų lange išlaiko pasirinkimo korteles, o sutapę
žodžiai pavadinime ar aprašyme paryškinami.

Kai forma prašo susieti kitą įrašą, pasirinkimo lange galima ieškoti, filtruoti ir peržiūrėti radinį prieš jį pridedant. Pažymėti įrašai patvirtinami lango apačioje; jei laukas neprivalomas, pasirinkimą galima išvalyti. Telefone peržiūrėjus radinį mygtuku „Atgal į sąrašą“ grįžtama prie rezultatų. Nepasiekiamą išteklių galima peržiūrėti, bet negalima pasirinkti.

Kuriant narį ar pareigybę, perspėjimas apie galimą dublikatą parodo sutapimus ir galimus veiksmus. Tai patarimas: sutampantys vardai savaime neuždraudžia išsaugoti įrašo. Atverti ar sujungti kitą įrašą siūloma tik tada, kai turi teisę jį tvarkyti.
Expand Down
6 changes: 5 additions & 1 deletion docs/visak/problemos.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
doc_status: reviewed
title: Problemos
last_reviewed: 2026-11-01
last_reviewed: 2026-11-06
tests:
- tests/Feature/Admin/Problems/ProblemControllerTest.php
- tests/Feature/Admin/Problems/AgendaItemProblemControllerTest.php
Expand Down Expand Up @@ -110,6 +110,10 @@ jos problemos.
(ieškoma pagal vardą, bent 2 simboliai). Sąrašo greitasis filtras **Man priskirtos** rodo
problemas, kurių atsakingas asmuo esi tu.

Rezultatai rodomi po paieškos lauku: prie vardo pateikiamas el. paštas, kai jis prieinamas,
ir padaliniai. Rodyklėmis **↑ / ↓** galima pažymėti narį, o **Enter** jį pasirinkti.
Pasirinktas narys rodomas atskirai; mygtuku **Pakeisti narį** pasirinkimas išvalomas.

### Kas mato problemas

Problemas mato **kiekvienas narys, net be rolės**: visų padalinių problemos yra bendra žinių bazė.
Expand Down
1 change: 1 addition & 0 deletions lang/en.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"Rodyti daugiau (:shown iš :total)": "Show more (:shown of :total)",
"Daugiausiai klausimų": "Most items",
"Mažiausiai klausimų": "Fewest items",
"Darbotvarkės klausimų nėra": "No agenda items",
Expand Down
1 change: 1 addition & 0 deletions lang/lt.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"Rodyti daugiau (:shown iš :total)": "Rodyti daugiau (:shown iš :total)",
"Daugiausiai klausimų": "Daugiausiai klausimų",
"Mažiausiai klausimų": "Mažiausiai klausimų",
"Nėra darbotvarkės klausimų": "Nėra darbotvarkės klausimų",
Expand Down
18 changes: 10 additions & 8 deletions resources/js/Components/ActionWindow/ActionChoiceButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
type="button"
data-slot="action-choice-button"
:disabled
:aria-pressed="selected ? 'true' : undefined"
:aria-pressed="indicator === 'check' ? String(!!selected) : undefined"
:aria-current="indicator === 'chevron' && selected ? 'true' : undefined"
:class="cn(
'group relative flex w-full items-center justify-between gap-3.5 border p-3.5 sm:p-4 text-left min-h-14 transition-all duration-150',
'border-border/50 bg-secondary/35 hover:border-brand/60 hover:bg-secondary/60 dark:bg-secondary/20 dark:hover:bg-secondary/40',
'border-border bg-card hover:border-brand/60 hover:bg-secondary/40 dark:border-border/50 dark:bg-secondary/20 dark:hover:bg-secondary/40',
'focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring',
'disabled:pointer-events-none disabled:opacity-50',
selected && 'border-brand bg-brand/10 dark:bg-brand/20 hover:bg-brand/15 dark:hover:bg-brand/25',
Expand Down Expand Up @@ -34,7 +35,7 @@
</span>

<span
v-if="!showChevron || selected !== undefined"
v-if="indicator === 'check'"
class="flex size-6 shrink-0 items-center justify-center border transition-colors"
:class="selected
? 'border-brand bg-brand-fill text-brand-foreground'
Expand All @@ -44,8 +45,8 @@
<Check class="size-3.5" />
</span>
<ChevronRight
v-else-if="showChevron"
class="size-4 shrink-0 text-muted-foreground/70 transition-colors group-hover:text-foreground"
v-else
:class="cn('size-4 shrink-0 transition-colors', selected ? 'text-brand' : 'text-muted-foreground/70 group-hover:text-foreground')"
aria-hidden="true"
/>
</button>
Expand All @@ -59,19 +60,20 @@
import { cn } from '@/Utils/Shadcn/utils';

const props = withDefaults(defineProps<{
title?: string;

Check warning on line 63 in resources/js/Components/ActionWindow/ActionChoiceButton.vue

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

Prop 'title' requires default value to be set
description?: string;

Check warning on line 64 in resources/js/Components/ActionWindow/ActionChoiceButton.vue

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

Prop 'description' requires default value to be set
icon?: LucideIcon | Component;

Check warning on line 65 in resources/js/Components/ActionWindow/ActionChoiceButton.vue

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

Prop 'icon' requires default value to be set
/** Colours the icon tile with a status role; omit for the plain hairline tile. */
tone?: StatusRole;
/** Shows the chevron affordance; turn off for buttons that pick rather than navigate. */
showChevron?: boolean;
/** `check` for an answer that fills in the record (institution, type, date); `chevron` for a menu or a screen that asks more. */
indicator?: 'chevron' | 'check';
/** The current answer: brand outline, and a filled check or brand chevron. */
selected?: boolean;
disabled?: boolean;
class?: HTMLAttributes['class'];

Check warning on line 73 in resources/js/Components/ActionWindow/ActionChoiceButton.vue

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

Prop 'class' requires default value to be set
}>(), {
tone: 'neutral',
showChevron: true,
indicator: 'chevron',
});

const toneClasses: Record<StatusRole, string> = {
Expand Down
6 changes: 3 additions & 3 deletions resources/js/Components/ActionWindow/ActionWindow.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import ActionWindowScreen from './ActionWindowScreen.vue';
import ReviewRow from './ReviewRow.vue';

import EntityTypeMark from '@/Components/EntityTypeMark.vue';

Check warning on line 10 in resources/js/Components/ActionWindow/ActionWindow.stories.ts

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

`@/Components/EntityTypeMark.vue` import should occur before import of `./ActionChoiceButton.vue`

const meta: Meta = {
title: 'ActionWindow/Guided flow',
Expand Down Expand Up @@ -41,9 +41,9 @@
template: frame(`
<ActionWindowScreen title="Kada vyko ar vyks posėdis?" subtitle="Šiandien, vakar arba pagal tai, kada ši institucija posėdžiaudavo iki šiol.">
<ActionChoiceList>
<ActionChoiceButton title="Šiandien" description="šeštadienis, rugsėjo 19" :icon="CalendarDays" :show-chevron="false" />
<ActionChoiceButton title="Vakar" description="penktadienis, rugsėjo 18" :icon="History" :show-chevron="false" />
<ActionChoiceButton title="antradienis, rugsėjo 22, 18:30" description="Artimiausias įprastas laikas" :icon="CalendarDays" :show-chevron="false" />
<ActionChoiceButton title="Šiandien" description="šeštadienis, rugsėjo 19" :icon="CalendarDays" />
<ActionChoiceButton title="Vakar" description="penktadienis, rugsėjo 18" :icon="History" />
<ActionChoiceButton title="antradienis, rugsėjo 22, 18:30" description="Artimiausias įprastas laikas" :icon="CalendarDays" />
<ActionChoiceButton title="Pasirinkti kitą datą…" :icon="CalendarSearch" />
</ActionChoiceList>
</ActionWindowScreen>`),
Expand Down
2 changes: 1 addition & 1 deletion resources/js/Components/ActionWindow/ActionWindowBody.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!-- flex-1, not h-full: the dialog gets its height from min-height, and a
percentage height against that resolves to auto. -->
<div data-slot="action-window-body" class="flex min-h-0 flex-1 flex-col">
<header class="flex shrink-0 items-start justify-between gap-3 border-b border-border p-4 sm:p-5">
<header class="flex shrink-0 items-center justify-between gap-3 border-b border-border p-4 sm:p-5">
<div class="flex min-w-0 flex-1 items-center gap-3">
<!-- Back button (when stack > 1) -->
<button
Expand Down Expand Up @@ -99,7 +99,7 @@
import { ChevronLeft, ClipboardList, X } from '@lucide/vue';
import { trans as $t } from 'laravel-vue-i18n';

import { ACTION_WINDOW_SCREENS, flowIdentity, flowProgress } from './screenRegistry';

Check warning on line 102 in resources/js/Components/ActionWindow/ActionWindowBody.vue

View workflow job for this annotation

GitHub Actions / TypeScript & ESLint

`./screenRegistry` import should occur after import of `@/Components/Transitions/FadeTransition.vue`

import { useActionWindow } from '@/Composables/useActionWindow';
import { getEntityTypeDefinition } from '@/Constants/entityTypes';
Expand Down
Loading
Loading