diff --git a/apps/app-frontend/src/components/ui/ExportModal.vue b/apps/app-frontend/src/components/ui/ExportModal.vue index a71898949f..85891bbe08 100644 --- a/apps/app-frontend/src/components/ui/ExportModal.vue +++ b/apps/app-frontend/src/components/ui/ExportModal.vue @@ -1,28 +1,32 @@ diff --git a/apps/app-frontend/src/locales/ar-SA/index.json b/apps/app-frontend/src/locales/ar-SA/index.json index 734bf0e863..75ef336e77 100644 --- a/apps/app-frontend/src/locales/ar-SA/index.json +++ b/apps/app-frontend/src/locales/ar-SA/index.json @@ -122,9 +122,6 @@ "app.export-modal.modpack-name-placeholder": { "message": "إسم حزمة التعديل" }, - "app.export-modal.select-files-label": { - "message": "أختيار الملفات التي سيتم تصديرها" - }, "app.export-modal.version-number-label": { "message": "رقم الإصدار" }, diff --git a/apps/app-frontend/src/locales/cs-CZ/index.json b/apps/app-frontend/src/locales/cs-CZ/index.json index c1bf4c5503..3996f59835 100644 --- a/apps/app-frontend/src/locales/cs-CZ/index.json +++ b/apps/app-frontend/src/locales/cs-CZ/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Exportovat modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Zahrnout \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Název modpacku" }, "app.export-modal.modpack-name-placeholder": { "message": "Název modpacku" }, - "app.export-modal.select-files-label": { - "message": "Nastavte, které soubory mají být do tohoto exportu zahrnuty" - }, "app.export-modal.version-number-label": { "message": "Číslo verze" }, diff --git a/apps/app-frontend/src/locales/da-DK/index.json b/apps/app-frontend/src/locales/da-DK/index.json index 64ca6848bc..1ac5619f1e 100644 --- a/apps/app-frontend/src/locales/da-DK/index.json +++ b/apps/app-frontend/src/locales/da-DK/index.json @@ -164,18 +164,12 @@ "app.export-modal.header": { "message": "Eksporter modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Inkludere \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Modpack Navn" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpack navn" }, - "app.export-modal.select-files-label": { - "message": "Konfigurer hvilke filer inkludere i denne eksport" - }, "app.export-modal.version-number-label": { "message": "Versionsnummer" }, diff --git a/apps/app-frontend/src/locales/de-CH/index.json b/apps/app-frontend/src/locales/de-CH/index.json index d4d65fcab8..7b0b52ac5e 100644 --- a/apps/app-frontend/src/locales/de-CH/index.json +++ b/apps/app-frontend/src/locales/de-CH/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Modpack exportieren" }, - "app.export-modal.include-file-accessibility-label": { - "message": "\"{file}\" einschliessen?" - }, "app.export-modal.modpack-name-label": { "message": "Modpaketname" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpaketname" }, - "app.export-modal.select-files-label": { - "message": "Konfiguriere, welche Dateien in diesem Export miteinbezogen werden" - }, "app.export-modal.version-number-label": { "message": "Versionsnummer" }, diff --git a/apps/app-frontend/src/locales/de-DE/index.json b/apps/app-frontend/src/locales/de-DE/index.json index f2584ef42a..ccbbe77b5f 100644 --- a/apps/app-frontend/src/locales/de-DE/index.json +++ b/apps/app-frontend/src/locales/de-DE/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Modpack exportieren" }, - "app.export-modal.include-file-accessibility-label": { - "message": "\"{file}\" einschließen?" - }, "app.export-modal.modpack-name-label": { "message": "Modpackname" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpackname" }, - "app.export-modal.select-files-label": { - "message": "Konfiguriere, welche Dateien in diesen Export enthalten sind" - }, "app.export-modal.version-number-label": { "message": "Versionsnummer" }, diff --git a/apps/app-frontend/src/locales/en-US/index.json b/apps/app-frontend/src/locales/en-US/index.json index e5613ca1d3..9ce7cc877f 100644 --- a/apps/app-frontend/src/locales/en-US/index.json +++ b/apps/app-frontend/src/locales/en-US/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Export modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Include \"{file}\"?" - }, "app.export-modal.modpack-name-label": { - "message": "Modpack Name" + "message": "Modpack name" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpack name" }, - "app.export-modal.select-files-label": { - "message": "Configure which files are included in this export" - }, "app.export-modal.version-number-label": { "message": "Version number" }, diff --git a/apps/app-frontend/src/locales/es-419/index.json b/apps/app-frontend/src/locales/es-419/index.json index 5bfb7ad82a..8b3bfc865c 100644 --- a/apps/app-frontend/src/locales/es-419/index.json +++ b/apps/app-frontend/src/locales/es-419/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Exportar modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "¿Incluir \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nombre del modpack" }, "app.export-modal.modpack-name-placeholder": { "message": "Nombre del modpack" }, - "app.export-modal.select-files-label": { - "message": "Configura que archivos incluir en esta exportación" - }, "app.export-modal.version-number-label": { "message": "Número de la versión" }, diff --git a/apps/app-frontend/src/locales/es-ES/index.json b/apps/app-frontend/src/locales/es-ES/index.json index d4ed8c66bc..863c85f0fd 100644 --- a/apps/app-frontend/src/locales/es-ES/index.json +++ b/apps/app-frontend/src/locales/es-ES/index.json @@ -182,18 +182,12 @@ "app.export-modal.header": { "message": "Exportar modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "¿Incluir \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nombre del modpack" }, "app.export-modal.modpack-name-placeholder": { "message": "Nombre del modpack" }, - "app.export-modal.select-files-label": { - "message": "Configura que archivos se incluirán en esta instancia" - }, "app.export-modal.version-number-label": { "message": "Número de versión" }, diff --git a/apps/app-frontend/src/locales/fi-FI/index.json b/apps/app-frontend/src/locales/fi-FI/index.json index 7ba0089558..5f5020e903 100644 --- a/apps/app-frontend/src/locales/fi-FI/index.json +++ b/apps/app-frontend/src/locales/fi-FI/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Vie modipaketti" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Sisällytä \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Modipaketin nimi" }, "app.export-modal.modpack-name-placeholder": { "message": "Modipaketin nimi" }, - "app.export-modal.select-files-label": { - "message": "Muuta mitkä tiedostot sisältyvät tähän vientiin" - }, "app.export-modal.version-number-label": { "message": "Versio numero" }, diff --git a/apps/app-frontend/src/locales/fil-PH/index.json b/apps/app-frontend/src/locales/fil-PH/index.json index 5b8383e975..fbff587648 100644 --- a/apps/app-frontend/src/locales/fil-PH/index.json +++ b/apps/app-frontend/src/locales/fil-PH/index.json @@ -164,18 +164,12 @@ "app.export-modal.header": { "message": "Iluwas ang modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Salihin ang \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Pangalan ng Modpack" }, "app.export-modal.modpack-name-placeholder": { "message": "Pangalan ng modpack" }, - "app.export-modal.select-files-label": { - "message": "Isaayos kung anong mga file ang isasali sa pagluwas" - }, "app.export-modal.version-number-label": { "message": "Numero ng bersiyon" }, diff --git a/apps/app-frontend/src/locales/fr-FR/index.json b/apps/app-frontend/src/locales/fr-FR/index.json index 503b564519..9461752870 100644 --- a/apps/app-frontend/src/locales/fr-FR/index.json +++ b/apps/app-frontend/src/locales/fr-FR/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Exporter le modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Inclure « {file} » ?" - }, "app.export-modal.modpack-name-label": { "message": "Nom du modpack" }, "app.export-modal.modpack-name-placeholder": { "message": "Nom du modpack" }, - "app.export-modal.select-files-label": { - "message": "Configurez quels fichiers sont inclus dans cette exportation" - }, "app.export-modal.version-number-label": { "message": "Numéro de version" }, diff --git a/apps/app-frontend/src/locales/hu-HU/index.json b/apps/app-frontend/src/locales/hu-HU/index.json index afbbb36438..62562df7f7 100644 --- a/apps/app-frontend/src/locales/hu-HU/index.json +++ b/apps/app-frontend/src/locales/hu-HU/index.json @@ -176,18 +176,12 @@ "app.export-modal.header": { "message": "Modcsomag exportálása" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Tartalmaz „{file}” fájlokat?" - }, "app.export-modal.modpack-name-label": { "message": "A modcsomag neve" }, "app.export-modal.modpack-name-placeholder": { "message": "A modcsomag neve" }, - "app.export-modal.select-files-label": { - "message": "Állítsd be, hogy mely fájlok kerüljenek bele az exportba" - }, "app.export-modal.version-number-label": { "message": "Verziószám" }, diff --git a/apps/app-frontend/src/locales/id-ID/index.json b/apps/app-frontend/src/locales/id-ID/index.json index 2762dab656..152b175cc4 100644 --- a/apps/app-frontend/src/locales/id-ID/index.json +++ b/apps/app-frontend/src/locales/id-ID/index.json @@ -170,18 +170,12 @@ "app.export-modal.header": { "message": "Ekspor paket mod" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Sertakan \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nama Paket Mod" }, "app.export-modal.modpack-name-placeholder": { "message": "Nama paket mod" }, - "app.export-modal.select-files-label": { - "message": "Konfigurasikan berkas mana yang disertakan dalam pengeksporan ini" - }, "app.export-modal.version-number-label": { "message": "Nomor versi" }, diff --git a/apps/app-frontend/src/locales/it-IT/index.json b/apps/app-frontend/src/locales/it-IT/index.json index 5e447bc1b7..28adfc3dba 100644 --- a/apps/app-frontend/src/locales/it-IT/index.json +++ b/apps/app-frontend/src/locales/it-IT/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Esporta pacchetto" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Includere \"{file}\" nell'esportazione?" - }, "app.export-modal.modpack-name-label": { "message": "Nome del pacchetto" }, "app.export-modal.modpack-name-placeholder": { "message": "Nome del pacchetto" }, - "app.export-modal.select-files-label": { - "message": "Seleziona i file da includere in questa esportazione" - }, "app.export-modal.version-number-label": { "message": "Numero di versione" }, diff --git a/apps/app-frontend/src/locales/ko-KR/index.json b/apps/app-frontend/src/locales/ko-KR/index.json index 369ec61bef..dcfe993ccb 100644 --- a/apps/app-frontend/src/locales/ko-KR/index.json +++ b/apps/app-frontend/src/locales/ko-KR/index.json @@ -164,18 +164,12 @@ "app.export-modal.header": { "message": "모드팩 내보내기" }, - "app.export-modal.include-file-accessibility-label": { - "message": "\"{file}\"(을)를 포함할까요?" - }, "app.export-modal.modpack-name-label": { "message": "모드팩 이름" }, "app.export-modal.modpack-name-placeholder": { "message": "모드팩 이름" }, - "app.export-modal.select-files-label": { - "message": "내보내기에 어느 파일이 포함될지 구성" - }, "app.export-modal.version-number-label": { "message": "버전 구분" }, diff --git a/apps/app-frontend/src/locales/ms-MY/index.json b/apps/app-frontend/src/locales/ms-MY/index.json index dff99a287e..8d1c52d97c 100644 --- a/apps/app-frontend/src/locales/ms-MY/index.json +++ b/apps/app-frontend/src/locales/ms-MY/index.json @@ -155,18 +155,12 @@ "app.export-modal.header": { "message": "Eksport pek mod" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Sertakan \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nama Pek Mod" }, "app.export-modal.modpack-name-placeholder": { "message": "Nama pek mod" }, - "app.export-modal.select-files-label": { - "message": "Konfigurasikan fail yang disertakan dalam eksport ini" - }, "app.export-modal.version-number-label": { "message": "Nombor versi" }, diff --git a/apps/app-frontend/src/locales/nl-NL/index.json b/apps/app-frontend/src/locales/nl-NL/index.json index d12fd0a204..d33e2336e6 100644 --- a/apps/app-frontend/src/locales/nl-NL/index.json +++ b/apps/app-frontend/src/locales/nl-NL/index.json @@ -170,18 +170,12 @@ "app.export-modal.header": { "message": "Exporteer modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Betrek \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Modpack Naam" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpack naam" }, - "app.export-modal.select-files-label": { - "message": "Configureer welke bestanden bij deze export zijn betrokken" - }, "app.export-modal.version-number-label": { "message": "Versie nummer" }, diff --git a/apps/app-frontend/src/locales/pl-PL/index.json b/apps/app-frontend/src/locales/pl-PL/index.json index 761b786daa..0a52fa2be7 100644 --- a/apps/app-frontend/src/locales/pl-PL/index.json +++ b/apps/app-frontend/src/locales/pl-PL/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Eksportuj paczkę modów" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Dołączyć \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nazwa paczki modów" }, "app.export-modal.modpack-name-placeholder": { "message": "Nazwa paczki modów" }, - "app.export-modal.select-files-label": { - "message": "Skonfiguruje jakie pliki zostaną załączone w tym eksporcie" - }, "app.export-modal.version-number-label": { "message": "Numer wersji" }, diff --git a/apps/app-frontend/src/locales/pt-BR/index.json b/apps/app-frontend/src/locales/pt-BR/index.json index f2b2f4a61e..4ca721a2f6 100644 --- a/apps/app-frontend/src/locales/pt-BR/index.json +++ b/apps/app-frontend/src/locales/pt-BR/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Exportar pacote de mods" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Incluir \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Nome do pacote de mods" }, "app.export-modal.modpack-name-placeholder": { "message": "Nome do pacote de mods" }, - "app.export-modal.select-files-label": { - "message": "Configure quais arquivos serão incluídos na exportação" - }, "app.export-modal.version-number-label": { "message": "Número da versão" }, diff --git a/apps/app-frontend/src/locales/ru-RU/index.json b/apps/app-frontend/src/locales/ru-RU/index.json index bac8e8c0a4..a722d690ee 100644 --- a/apps/app-frontend/src/locales/ru-RU/index.json +++ b/apps/app-frontend/src/locales/ru-RU/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Экспорт сборки" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Добавить «{file}» в экспорт?" - }, "app.export-modal.modpack-name-label": { "message": "Название сборки" }, "app.export-modal.modpack-name-placeholder": { "message": "Название сборки" }, - "app.export-modal.select-files-label": { - "message": "Выберите файлы для экспорта" - }, "app.export-modal.version-number-label": { "message": "Номер версии" }, diff --git a/apps/app-frontend/src/locales/sv-SE/index.json b/apps/app-frontend/src/locales/sv-SE/index.json index 7a40453644..058ea2ba20 100644 --- a/apps/app-frontend/src/locales/sv-SE/index.json +++ b/apps/app-frontend/src/locales/sv-SE/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Exportera modpaket" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Inkludera \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Modpaketets namn" }, "app.export-modal.modpack-name-placeholder": { "message": "Modpaketets namn" }, - "app.export-modal.select-files-label": { - "message": "Konfigurera vilka filer som inkluderas i denna export" - }, "app.export-modal.version-number-label": { "message": "Versionsnummer" }, diff --git a/apps/app-frontend/src/locales/th-TH/index.json b/apps/app-frontend/src/locales/th-TH/index.json index 59f3779a52..d5e5100dd3 100644 --- a/apps/app-frontend/src/locales/th-TH/index.json +++ b/apps/app-frontend/src/locales/th-TH/index.json @@ -170,18 +170,12 @@ "app.export-modal.header": { "message": "ส่งออกแพ็กม็อด" }, - "app.export-modal.include-file-accessibility-label": { - "message": "รวมถึง \"{file}\" ใช่หรือไม่" - }, "app.export-modal.modpack-name-label": { "message": "ชื่อแพ็กม็อด" }, "app.export-modal.modpack-name-placeholder": { "message": "ชื่อแพ็กม็อด" }, - "app.export-modal.select-files-label": { - "message": "กำหนดไฟล์ที่ต้องการจะส่งออก" - }, "app.export-modal.version-number-label": { "message": "หมายเลขเวอร์ชัน" }, diff --git a/apps/app-frontend/src/locales/tr-TR/index.json b/apps/app-frontend/src/locales/tr-TR/index.json index 3040683051..e39707996b 100644 --- a/apps/app-frontend/src/locales/tr-TR/index.json +++ b/apps/app-frontend/src/locales/tr-TR/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "Mod paketini dışa aktar" }, - "app.export-modal.include-file-accessibility-label": { - "message": "\"{file}\" dahil mi?" - }, "app.export-modal.modpack-name-label": { "message": "Mod Paketi Adı" }, "app.export-modal.modpack-name-placeholder": { "message": "Mod paketi adı" }, - "app.export-modal.select-files-label": { - "message": "Bu dışa aktarmaya hangi dosyaların dahil edileceğini yapılandırma" - }, "app.export-modal.version-number-label": { "message": "Sürüm numarası" }, diff --git a/apps/app-frontend/src/locales/uk-UA/index.json b/apps/app-frontend/src/locales/uk-UA/index.json index ab2c3a06ab..1ac448c6b7 100644 --- a/apps/app-frontend/src/locales/uk-UA/index.json +++ b/apps/app-frontend/src/locales/uk-UA/index.json @@ -170,18 +170,12 @@ "app.export-modal.header": { "message": "Експортувати збірку" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Уключити «{file}»?" - }, "app.export-modal.modpack-name-label": { "message": "Назва збірки" }, "app.export-modal.modpack-name-placeholder": { "message": "Назва збірки" }, - "app.export-modal.select-files-label": { - "message": "Змініть файли, які додані до експорту" - }, "app.export-modal.version-number-label": { "message": "Номер версії" }, diff --git a/apps/app-frontend/src/locales/vi-VN/index.json b/apps/app-frontend/src/locales/vi-VN/index.json index 02d53755fd..7c0465ebf6 100644 --- a/apps/app-frontend/src/locales/vi-VN/index.json +++ b/apps/app-frontend/src/locales/vi-VN/index.json @@ -170,18 +170,12 @@ "app.export-modal.header": { "message": "Xuất modpack" }, - "app.export-modal.include-file-accessibility-label": { - "message": "Bao gồm \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "Tên modpack" }, "app.export-modal.modpack-name-placeholder": { "message": "Tên modpack" }, - "app.export-modal.select-files-label": { - "message": "Cấu hình các tệp nào được bao gồm trong quá trình xuất phiên bản này" - }, "app.export-modal.version-number-label": { "message": "Phiên bản" }, diff --git a/apps/app-frontend/src/locales/zh-CN/index.json b/apps/app-frontend/src/locales/zh-CN/index.json index f56bf80700..73c6437d42 100644 --- a/apps/app-frontend/src/locales/zh-CN/index.json +++ b/apps/app-frontend/src/locales/zh-CN/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "导出整合包" }, - "app.export-modal.include-file-accessibility-label": { - "message": "包含 \"{file}\"?" - }, "app.export-modal.modpack-name-label": { "message": "整合包名称" }, "app.export-modal.modpack-name-placeholder": { "message": "整合包名称" }, - "app.export-modal.select-files-label": { - "message": "配置此导出中包含哪些文件" - }, "app.export-modal.version-number-label": { "message": "版本号" }, diff --git a/apps/app-frontend/src/locales/zh-TW/index.json b/apps/app-frontend/src/locales/zh-TW/index.json index de9dcf0772..10b15aca8f 100644 --- a/apps/app-frontend/src/locales/zh-TW/index.json +++ b/apps/app-frontend/src/locales/zh-TW/index.json @@ -203,18 +203,12 @@ "app.export-modal.header": { "message": "匯出模組包" }, - "app.export-modal.include-file-accessibility-label": { - "message": "要包含「{file}」嗎?" - }, "app.export-modal.modpack-name-label": { "message": "模組包名稱" }, "app.export-modal.modpack-name-placeholder": { "message": "模組包名稱" }, - "app.export-modal.select-files-label": { - "message": "設定要包含在此匯出檔案中的檔案" - }, "app.export-modal.version-number-label": { "message": "版本號碼" }, diff --git a/packages/ui/src/components/base/FileTreeSelect.vue b/packages/ui/src/components/base/FileTreeSelect.vue new file mode 100644 index 0000000000..4f1a5c278b --- /dev/null +++ b/packages/ui/src/components/base/FileTreeSelect.vue @@ -0,0 +1,604 @@ + + + diff --git a/packages/ui/src/components/base/index.ts b/packages/ui/src/components/base/index.ts index 5afcec8f57..7fa6262111 100644 --- a/packages/ui/src/components/base/index.ts +++ b/packages/ui/src/components/base/index.ts @@ -32,6 +32,8 @@ export { default as EmptyState } from './EmptyState.vue' export { default as EnvironmentIndicator } from './EnvironmentIndicator.vue' export { default as ErrorInformationCard } from './ErrorInformationCard.vue' export { default as FileInput } from './FileInput.vue' +export type { FileTreeSelectItem } from './FileTreeSelect.vue' +export { default as FileTreeSelect } from './FileTreeSelect.vue' export type { FilterBarOption } from './FilterBar.vue' export { default as FilterBar } from './FilterBar.vue' export type { FilterPillOption } from './FilterPills.vue' diff --git a/packages/ui/src/components/modal/NewModal.vue b/packages/ui/src/components/modal/NewModal.vue index b9af98524f..d93cca8a64 100644 --- a/packages/ui/src/components/modal/NewModal.vue +++ b/packages/ui/src/components/modal/NewModal.vue @@ -126,7 +126,7 @@
@@ -292,10 +292,22 @@ function hide() { }, 300) } +async function scrollToBottom(behavior: ScrollBehavior = 'smooth') { + await nextTick() + if (!scrollContainer.value) return + + scrollContainer.value.scrollTo({ + top: scrollContainer.value.scrollHeight, + behavior, + }) + requestAnimationFrame(checkScrollState) +} + defineExpose({ show, hide, checkScrollState, + scrollToBottom, }) const mouseX = ref(0) diff --git a/packages/ui/src/locales/en-US/index.json b/packages/ui/src/locales/en-US/index.json index 325d5a6c20..cb27036c9e 100644 --- a/packages/ui/src/locales/en-US/index.json +++ b/packages/ui/src/locales/en-US/index.json @@ -1406,6 +1406,9 @@ "files.row.item-count": { "defaultMessage": "{count, plural, one {# item} other {# items}}" }, + "files.row.parent-folder": { + "defaultMessage": "Parent folder" + }, "files.table-header.created": { "defaultMessage": "Created" }, diff --git a/packages/ui/src/stories/base/FileTreeSelect.stories.ts b/packages/ui/src/stories/base/FileTreeSelect.stories.ts new file mode 100644 index 0000000000..a85d13ab5e --- /dev/null +++ b/packages/ui/src/stories/base/FileTreeSelect.stories.ts @@ -0,0 +1,86 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' +import { computed, ref } from 'vue' + +import FileTreeSelect, { type FileTreeSelectItem } from '../../components/base/FileTreeSelect.vue' + +const modified = Math.floor(new Date('2026-06-29T10:30:00Z').getTime() / 1000) + +const MODPACK_FILES: FileTreeSelectItem[] = [ + { path: 'config/fabric_loader_dependencies.json', size: 918, modified: modified - 600 }, + { path: 'config/modmenu.json', size: 2401, modified: modified - 7200 }, + { path: 'config/iris.properties', size: 1208, modified: modified - 5400 }, + { path: 'config/crash_assistant/settings.toml', size: 714, modified: modified - 1200 }, + { path: 'config/defaultoptions/options.txt', size: 4820, modified: modified - 3200 }, + { path: 'config/defaultoptions/keybindings.txt', size: 3012, modified: modified - 3300 }, + { path: 'mods/sodium-fabric-0.6.13+mc1.21.6.jar', size: 1290240, modified: modified - 900 }, + { path: 'mods/iris-fabric-1.8.8+mc1.21.6.jar', size: 2782400, modified: modified - 1100 }, + { path: 'mods/modmenu-15.0.0-beta.3.jar', size: 824220, modified: modified - 1800 }, + { path: 'resourcepacks/FreshAnimations_v1.9.3.zip', size: 4382210, modified: modified - 2600 }, + { path: 'resourcepacks/Mod Menu Helper.zip', size: 104522, modified: modified - 2800 }, + { + path: 'shaderpacks/ComplementaryUnbound_r5.5.1.zip', + size: 23882210, + modified: modified - 3400, + }, + { path: 'datapacks/terralith.zip', size: 17452213, modified: modified - 4200 }, + { path: 'icon.png', size: 128044, modified: modified - 5000 }, + { path: 'profile.json', size: 928, modified: modified - 400, disabled: true }, + { path: 'modrinth_logs/launcher.log', size: 224018, modified: modified - 100, disabled: true }, +] + +const meta = { + title: 'Base/FileTreeSelect', + component: FileTreeSelect, +} satisfies Meta + +export default meta + +export const ModpackExport: StoryObj = { + render: () => ({ + components: { FileTreeSelect }, + setup() { + const selected = ref([ + 'config/fabric_loader_dependencies.json', + 'config/crash_assistant/settings.toml', + 'config/defaultoptions/options.txt', + 'mods/sodium-fabric-0.6.13+mc1.21.6.jar', + 'mods/iris-fabric-1.8.8+mc1.21.6.jar', + 'resourcepacks/FreshAnimations_v1.9.3.zip', + 'shaderpacks/ComplementaryUnbound_r5.5.1.zip', + ]) + const selectedLabel = computed(() => `${selected.value.length} selected`) + + return { + items: MODPACK_FILES, + selected, + selectedLabel, + } + }, + template: /*html*/ ` +
+ +
+
{{ selectedLabel }}
+
+ {{ path }} +
+
+
+ `, + }), +} + +export const EmptyRoot: StoryObj = { + render: () => ({ + components: { FileTreeSelect }, + setup() { + const selected = ref([]) + return { selected } + }, + template: /*html*/ ` +
+ +
+ `, + }), +}