-
+
Trace
{{ trace.detail_key }}
+
+ {{ latestLocalTrace.severity }}
+
+
+
+
+ Issue
+ {{ latestLocalTrace.issue_type }}
+
+
+ Path
+ {{ decodeTracePath(latestLocalTrace.file_path) }}
+
-
- {{ pageStart }}-{{ pageEnd }} of {{ trace.local_trace_count }} local traces
-
-
+
-
-
Loading page...
+
+ {{ pageStart }}-{{ pageEnd }} of {{ trace.local_trace_count }} local traces
+ · Loading page...
+
+
@@ -114,6 +135,29 @@ const pageStart = computed(() =>
const pageEnd = computed(() =>
Math.min(currentPage.value * localTracePageSize, trace.value?.local_trace_count ?? 0),
)
+const latestLocalTrace = computed(() => trace.value?.local_traces.at(-1))
+
+function decodeTracePath(path: string): string {
+ try {
+ return decodeURIComponent(path)
+ } catch {
+ return path
+ }
+}
+
+function getSeverityBadgeColor(severity: Labrinth.TechReview.Internal.DelphiSeverity): string {
+ switch (severity) {
+ case 'severe':
+ return 'border-red/60 bg-highlight-red text-red'
+ case 'high':
+ return 'border-orange/60 bg-highlight-orange text-orange'
+ case 'medium':
+ return 'border-green/60 bg-highlight-green text-green'
+ case 'low':
+ default:
+ return 'border-blue/60 bg-highlight-blue text-blue'
+ }
+}
async function fetchTracePage(afterDetailId: string | null) {
return await client.labrinth.tech_review_internal.getGlobalIssueDetail({
diff --git a/apps/labrinth/.sqlx/query-50d087248322373b2d5fc40e1c7b8a855b55d907d7fba0af0738c37366cb93e0.json b/apps/labrinth/.sqlx/query-147e143aaaff82c71b89daddcc8805a0874d1c5ad8469dd83133ac771b86ea4e.json
similarity index 77%
rename from apps/labrinth/.sqlx/query-50d087248322373b2d5fc40e1c7b8a855b55d907d7fba0af0738c37366cb93e0.json
rename to apps/labrinth/.sqlx/query-147e143aaaff82c71b89daddcc8805a0874d1c5ad8469dd83133ac771b86ea4e.json
index a6b04534b8..aed2ace773 100644
--- a/apps/labrinth/.sqlx/query-50d087248322373b2d5fc40e1c7b8a855b55d907d7fba0af0738c37366cb93e0.json
+++ b/apps/labrinth/.sqlx/query-147e143aaaff82c71b89daddcc8805a0874d1c5ad8469dd83133ac771b86ea4e.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "SELECT id FROM versions WHERE mod_id = ANY($1::bigint[])",
+ "query": "SELECT id FROM versions WHERE mod_id = ANY($1::bigint[]) ORDER BY id",
"describe": {
"columns": [
{
@@ -18,5 +18,5 @@
false
]
},
- "hash": "50d087248322373b2d5fc40e1c7b8a855b55d907d7fba0af0738c37366cb93e0"
+ "hash": "147e143aaaff82c71b89daddcc8805a0874d1c5ad8469dd83133ac771b86ea4e"
}
diff --git a/apps/labrinth/.sqlx/query-9070b1b6a5b1e93eb1fd1838c522fa6084ad6a5c86fafbfe8448ea7cc86f38ba.json b/apps/labrinth/.sqlx/query-63a9a89443566baa880ddbe05f741e2a83b50d89f5954ab8d951a090e702de73.json
similarity index 94%
rename from apps/labrinth/.sqlx/query-9070b1b6a5b1e93eb1fd1838c522fa6084ad6a5c86fafbfe8448ea7cc86f38ba.json
rename to apps/labrinth/.sqlx/query-63a9a89443566baa880ddbe05f741e2a83b50d89f5954ab8d951a090e702de73.json
index 5693d97e31..b9c6d3543c 100644
--- a/apps/labrinth/.sqlx/query-9070b1b6a5b1e93eb1fd1838c522fa6084ad6a5c86fafbfe8448ea7cc86f38ba.json
+++ b/apps/labrinth/.sqlx/query-63a9a89443566baa880ddbe05f741e2a83b50d89f5954ab8d951a090e702de73.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n didws.id AS \"id!: DelphiReportIssueDetailsId\",\n didws.issue_id AS \"issue_id!: DelphiReportIssueId\",\n didws.key AS \"key!: String\",\n didws.jar AS \"jar?: String\",\n didws.file_path AS \"file_path!: String\",\n didws.data AS \"data!: sqlx::types::Json
>\",\n didws.severity AS \"severity!: DelphiSeverity\",\n didws.local_status AS \"local_status?: DelphiStatus\",\n didws.global_status AS \"global_status?: DelphiStatus\",\n didws.status AS \"status!: DelphiStatus\"\n FROM delphi_issue_details_with_statuses didws\n WHERE didws.issue_id = ANY($1::bigint[])\n ",
+ "query": "\n SELECT\n didws.id AS \"id!: DelphiReportIssueDetailsId\",\n didws.issue_id AS \"issue_id!: DelphiReportIssueId\",\n didws.key AS \"key!: String\",\n didws.jar AS \"jar?: String\",\n didws.file_path AS \"file_path!: String\",\n didws.data AS \"data!: sqlx::types::Json>\",\n didws.severity AS \"severity!: DelphiSeverity\",\n didws.local_status AS \"local_status?: DelphiStatus\",\n didws.global_status AS \"global_status?: DelphiStatus\",\n didws.status AS \"status!: DelphiStatus\"\n FROM delphi_issue_details_with_statuses didws\n WHERE didws.issue_id = ANY($1::bigint[])\n ORDER BY didws.issue_id, didws.id\n ",
"describe": {
"columns": [
{
@@ -117,5 +117,5 @@
true
]
},
- "hash": "9070b1b6a5b1e93eb1fd1838c522fa6084ad6a5c86fafbfe8448ea7cc86f38ba"
+ "hash": "63a9a89443566baa880ddbe05f741e2a83b50d89f5954ab8d951a090e702de73"
}
diff --git a/apps/labrinth/.sqlx/query-8e38571ffae8bf246973d328c890a45b87c0f71d53cf46f390c4b286677b2b31.json b/apps/labrinth/.sqlx/query-72012eb0655d9130a7c7894f7682015c170b2fb325aaef554f08aac34457a3fa.json
similarity index 89%
rename from apps/labrinth/.sqlx/query-8e38571ffae8bf246973d328c890a45b87c0f71d53cf46f390c4b286677b2b31.json
rename to apps/labrinth/.sqlx/query-72012eb0655d9130a7c7894f7682015c170b2fb325aaef554f08aac34457a3fa.json
index aeb96383c0..3f11083654 100644
--- a/apps/labrinth/.sqlx/query-8e38571ffae8bf246973d328c890a45b87c0f71d53cf46f390c4b286677b2b31.json
+++ b/apps/labrinth/.sqlx/query-72012eb0655d9130a7c7894f7682015c170b2fb325aaef554f08aac34457a3fa.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n id AS \"file_id: DBFileId\",\n version_id AS \"version_id: DBVersionId\",\n url,\n filename,\n size\n FROM files\n WHERE version_id = ANY($1::bigint[])\n ",
+ "query": "\n SELECT\n id AS \"file_id: DBFileId\",\n version_id AS \"version_id: DBVersionId\",\n url,\n filename,\n size\n FROM files\n WHERE version_id = ANY($1::bigint[])\n ORDER BY version_id, id\n ",
"describe": {
"columns": [
{
@@ -42,5 +42,5 @@
false
]
},
- "hash": "8e38571ffae8bf246973d328c890a45b87c0f71d53cf46f390c4b286677b2b31"
+ "hash": "72012eb0655d9130a7c7894f7682015c170b2fb325aaef554f08aac34457a3fa"
}
diff --git a/apps/labrinth/.sqlx/query-10e2a3b31ba94b93ed2d6c9753a5aabf13190a0b336089e6521022069813cf17.json b/apps/labrinth/.sqlx/query-8d37c8c2633b7d601c7ba74d63608ff40af3b6b56f43540ec3798ef30e5c0b9d.json
similarity index 88%
rename from apps/labrinth/.sqlx/query-10e2a3b31ba94b93ed2d6c9753a5aabf13190a0b336089e6521022069813cf17.json
rename to apps/labrinth/.sqlx/query-8d37c8c2633b7d601c7ba74d63608ff40af3b6b56f43540ec3798ef30e5c0b9d.json
index 53cf350301..475dba1b98 100644
--- a/apps/labrinth/.sqlx/query-10e2a3b31ba94b93ed2d6c9753a5aabf13190a0b336089e6521022069813cf17.json
+++ b/apps/labrinth/.sqlx/query-8d37c8c2633b7d601c7ba74d63608ff40af3b6b56f43540ec3798ef30e5c0b9d.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n id AS \"report_id!: DelphiReportId\",\n file_id AS \"file_id!: DBFileId\",\n created,\n severity AS \"severity!: DelphiSeverity\"\n FROM delphi_reports\n WHERE file_id = ANY($1::bigint[])\n ",
+ "query": "\n SELECT\n id AS \"report_id!: DelphiReportId\",\n file_id AS \"file_id!: DBFileId\",\n created,\n severity AS \"severity!: DelphiSeverity\"\n FROM delphi_reports\n WHERE file_id = ANY($1::bigint[])\n ORDER BY file_id, created, id\n ",
"describe": {
"columns": [
{
@@ -48,5 +48,5 @@
false
]
},
- "hash": "10e2a3b31ba94b93ed2d6c9753a5aabf13190a0b336089e6521022069813cf17"
+ "hash": "8d37c8c2633b7d601c7ba74d63608ff40af3b6b56f43540ec3798ef30e5c0b9d"
}
diff --git a/apps/labrinth/.sqlx/query-632b79f51dd39a75ebff838ca4beab463f84aa32246288cc251881ec41d207f5.json b/apps/labrinth/.sqlx/query-c69a7a5296941a52f15c3c073e65e8eff6516004d0636357f146047789f8f8c1.json
similarity index 81%
rename from apps/labrinth/.sqlx/query-632b79f51dd39a75ebff838ca4beab463f84aa32246288cc251881ec41d207f5.json
rename to apps/labrinth/.sqlx/query-c69a7a5296941a52f15c3c073e65e8eff6516004d0636357f146047789f8f8c1.json
index a48b3a89a0..06a2b641ef 100644
--- a/apps/labrinth/.sqlx/query-632b79f51dd39a75ebff838ca4beab463f84aa32246288cc251881ec41d207f5.json
+++ b/apps/labrinth/.sqlx/query-c69a7a5296941a52f15c3c073e65e8eff6516004d0636357f146047789f8f8c1.json
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
- "query": "\n SELECT\n id AS \"id: DelphiReportIssueId\",\n report_id AS \"report_id: DelphiReportId\",\n issue_type\n FROM delphi_report_issues\n WHERE report_id = ANY($1::bigint[])\n ",
+ "query": "\n SELECT\n id AS \"id: DelphiReportIssueId\",\n report_id AS \"report_id: DelphiReportId\",\n issue_type\n FROM delphi_report_issues\n WHERE report_id = ANY($1::bigint[])\n ORDER BY report_id, id\n ",
"describe": {
"columns": [
{
@@ -30,5 +30,5 @@
false
]
},
- "hash": "632b79f51dd39a75ebff838ca4beab463f84aa32246288cc251881ec41d207f5"
+ "hash": "c69a7a5296941a52f15c3c073e65e8eff6516004d0636357f146047789f8f8c1"
}
diff --git a/apps/labrinth/src/routes/internal/moderation/tech_review.rs b/apps/labrinth/src/routes/internal/moderation/tech_review.rs
index 745509e834..2bd5097c58 100644
--- a/apps/labrinth/src/routes/internal/moderation/tech_review.rs
+++ b/apps/labrinth/src/routes/internal/moderation/tech_review.rs
@@ -443,7 +443,7 @@ async fn fetch_project_reports(
}
let version_id_rows = sqlx::query!(
- "SELECT id FROM versions WHERE mod_id = ANY($1::bigint[])",
+ "SELECT id FROM versions WHERE mod_id = ANY($1::bigint[]) ORDER BY id",
&project_ids.iter().map(|id| id.0).collect::>()
)
.fetch_all(pool)
@@ -469,6 +469,7 @@ async fn fetch_project_reports(
size
FROM files
WHERE version_id = ANY($1::bigint[])
+ ORDER BY version_id, id
"#,
&version_ids.iter().map(|id| id.0).collect::>()
)
@@ -485,6 +486,7 @@ async fn fetch_project_reports(
severity AS "severity!: DelphiSeverity"
FROM delphi_reports
WHERE file_id = ANY($1::bigint[])
+ ORDER BY file_id, created, id
"#,
&file_rows.iter().map(|f| f.file_id.0).collect::>()
)
@@ -500,6 +502,7 @@ async fn fetch_project_reports(
issue_type
FROM delphi_report_issues
WHERE report_id = ANY($1::bigint[])
+ ORDER BY report_id, id
"#,
&report_rows
.iter()
@@ -528,6 +531,7 @@ async fn fetch_project_reports(
didws.status AS "status!: DelphiStatus"
FROM delphi_issue_details_with_statuses didws
WHERE didws.issue_id = ANY($1::bigint[])
+ ORDER BY didws.issue_id, didws.id
"#,
&issue_ids.iter().map(|i| i.0).collect::>()
)
From 543cb422101e303478ed6d9046bc6904fb7bfdcc Mon Sep 17 00:00:00 2001
From: Sychic <47618543+Sychic@users.noreply.github.com>
Date: Fri, 17 Jul 2026 15:27:38 -0400
Subject: [PATCH 02/43] remove(labrinth): old shared instances impl (#6760)
---
...a2b8edb55d93ada8f2243448865163f555d8d.json | 16 -
...a4bb38acc54e4ea5de020fffef7457000fa6e.json | 46 --
...e2b57e917e9507942d65f40c1b733209cabf0.json | 46 --
...db93631d57be2fe82bc2986dffd878ef1174d.json | 14 -
...6a9158a3ea08f8720f6df5b4902cd8094d3bb.json | 14 -
...ab13ae43d180b8c86cb2a6fab0253dd4eba55.json | 15 -
...8fa4c3641eb2221e522bf50abad4f5e977599.json | 15 -
...4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1.json | 17 -
...79446dd964da4efa49c5464cebde57860f741.json | 15 -
...9d227d95f2a8f2eb9852833e14c723903988b.json | 22 -
...8d84842152b82c9a0032d1db587d7099b8550.json | 46 --
...9405e28c265bef6121b457c4f39cacf00683f.json | 15 -
...1b8c709645ef29f3b5fb6e8e07fc212b36798.json | 34 -
...47be2a18275f33f8991d910f693fbcc1ff731.json | 46 --
...eb2231578aff18c93d02ead97c3c07f0b27ea.json | 23 -
...0bd34c3893e8b55bbd126a988137ec7bf1ff9.json | 14 -
...e6826f46c27ab3a21520e9e169fd1491521c4.json | 22 -
...ec405531e4270be85087122245991ec88473e.json | 18 -
...d3e7416723ff95fcd83587f113621a9887420.json | 14 -
...ed48aaedab5db381f4efc389b852d9020a0e6.json | 14 -
.../20260714120000_drop-shared-instances.sql | 5 +
apps/labrinth/src/database/models/ids.rs | 13 +-
apps/labrinth/src/database/models/mod.rs | 1 -
.../database/models/shared_instance_item.rs | 336 ----------
.../labrinth/src/database/models/user_item.rs | 35 -
apps/labrinth/src/models/mod.rs | 1 -
apps/labrinth/src/models/v3/ids.rs | 2 -
apps/labrinth/src/models/v3/mod.rs | 1 -
.../src/models/v3/shared_instances.rs | 89 ---
apps/labrinth/src/routes/v3/mod.rs | 14 -
.../v3/shared_instance_version_creation.rs | 219 ------
.../src/routes/v3/shared_instances.rs | 628 ------------------
32 files changed, 7 insertions(+), 1803 deletions(-)
delete mode 100644 apps/labrinth/.sqlx/query-09ebec1a568edf1959f20b33d8ba2b8edb55d93ada8f2243448865163f555d8d.json
delete mode 100644 apps/labrinth/.sqlx/query-1ebe19b7b4f10039065967a0b1ca4bb38acc54e4ea5de020fffef7457000fa6e.json
delete mode 100644 apps/labrinth/.sqlx/query-265c4d6f33714c8a5cf3137c429e2b57e917e9507942d65f40c1b733209cabf0.json
delete mode 100644 apps/labrinth/.sqlx/query-3a2a1962875e5164d3d20802886db93631d57be2fe82bc2986dffd878ef1174d.json
delete mode 100644 apps/labrinth/.sqlx/query-47130ef29ce5914528e5424fe516a9158a3ea08f8720f6df5b4902cd8094d3bb.json
delete mode 100644 apps/labrinth/.sqlx/query-47ec9f179f1c52213bd32b37621ab13ae43d180b8c86cb2a6fab0253dd4eba55.json
delete mode 100644 apps/labrinth/.sqlx/query-6b166d129b0ee028898620054a58fa4c3641eb2221e522bf50abad4f5e977599.json
delete mode 100644 apps/labrinth/.sqlx/query-6f72c853e139f23322fe6f1f02e4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1.json
delete mode 100644 apps/labrinth/.sqlx/query-72ae0e8debd06067894a2f7bea279446dd964da4efa49c5464cebde57860f741.json
delete mode 100644 apps/labrinth/.sqlx/query-7c445073f61e30723416a9690aa9d227d95f2a8f2eb9852833e14c723903988b.json
delete mode 100644 apps/labrinth/.sqlx/query-9c6e18cb19251e54b3b96446ab88d84842152b82c9a0032d1db587d7099b8550.json
delete mode 100644 apps/labrinth/.sqlx/query-9ccaf8ea52b1b6f0880d34cdb4a9405e28c265bef6121b457c4f39cacf00683f.json
delete mode 100644 apps/labrinth/.sqlx/query-aec58041cf5e5e68501652336581b8c709645ef29f3b5fb6e8e07fc212b36798.json
delete mode 100644 apps/labrinth/.sqlx/query-b93253bbc35b24974d13bc8ee0447be2a18275f33f8991d910f693fbcc1ff731.json
delete mode 100644 apps/labrinth/.sqlx/query-c3869a595693757ccf81085d0c8eb2231578aff18c93d02ead97c3c07f0b27ea.json
delete mode 100644 apps/labrinth/.sqlx/query-cef730c02bb67b0536d35e5aaca0bd34c3893e8b55bbd126a988137ec7bf1ff9.json
delete mode 100644 apps/labrinth/.sqlx/query-d8558a8039ade3b383db4f0e095e6826f46c27ab3a21520e9e169fd1491521c4.json
delete mode 100644 apps/labrinth/.sqlx/query-d8a1d710f86b3df4d99c2d2ec26ec405531e4270be85087122245991ec88473e.json
delete mode 100644 apps/labrinth/.sqlx/query-d926d015cece307da567ac44b84d3e7416723ff95fcd83587f113621a9887420.json
delete mode 100644 apps/labrinth/.sqlx/query-f6388b5026e25191840d1a157a9ed48aaedab5db381f4efc389b852d9020a0e6.json
create mode 100644 apps/labrinth/migrations/20260714120000_drop-shared-instances.sql
delete mode 100644 apps/labrinth/src/database/models/shared_instance_item.rs
delete mode 100644 apps/labrinth/src/models/v3/shared_instances.rs
delete mode 100644 apps/labrinth/src/routes/v3/shared_instance_version_creation.rs
delete mode 100644 apps/labrinth/src/routes/v3/shared_instances.rs
diff --git a/apps/labrinth/.sqlx/query-09ebec1a568edf1959f20b33d8ba2b8edb55d93ada8f2243448865163f555d8d.json b/apps/labrinth/.sqlx/query-09ebec1a568edf1959f20b33d8ba2b8edb55d93ada8f2243448865163f555d8d.json
deleted file mode 100644
index 03bf9d951a..0000000000
--- a/apps/labrinth/.sqlx/query-09ebec1a568edf1959f20b33d8ba2b8edb55d93ada8f2243448865163f555d8d.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n INSERT INTO shared_instance_users (user_id, shared_instance_id, permissions)\n VALUES ($1, $2, $3)\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Int8",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "09ebec1a568edf1959f20b33d8ba2b8edb55d93ada8f2243448865163f555d8d"
-}
diff --git a/apps/labrinth/.sqlx/query-1ebe19b7b4f10039065967a0b1ca4bb38acc54e4ea5de020fffef7457000fa6e.json b/apps/labrinth/.sqlx/query-1ebe19b7b4f10039065967a0b1ca4bb38acc54e4ea5de020fffef7457000fa6e.json
deleted file mode 100644
index c584ce9645..0000000000
--- a/apps/labrinth/.sqlx/query-1ebe19b7b4f10039065967a0b1ca4bb38acc54e4ea5de020fffef7457000fa6e.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT id, title, owner_id, public, current_version_id\n FROM shared_instances\n WHERE id = $1\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "id",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "title",
- "type_info": "Varchar"
- },
- {
- "ordinal": 2,
- "name": "owner_id",
- "type_info": "Int8"
- },
- {
- "ordinal": 3,
- "name": "public",
- "type_info": "Bool"
- },
- {
- "ordinal": 4,
- "name": "current_version_id",
- "type_info": "Int8"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- false,
- false,
- false,
- false,
- true
- ]
- },
- "hash": "1ebe19b7b4f10039065967a0b1ca4bb38acc54e4ea5de020fffef7457000fa6e"
-}
diff --git a/apps/labrinth/.sqlx/query-265c4d6f33714c8a5cf3137c429e2b57e917e9507942d65f40c1b733209cabf0.json b/apps/labrinth/.sqlx/query-265c4d6f33714c8a5cf3137c429e2b57e917e9507942d65f40c1b733209cabf0.json
deleted file mode 100644
index 7902fc25e2..0000000000
--- a/apps/labrinth/.sqlx/query-265c4d6f33714c8a5cf3137c429e2b57e917e9507942d65f40c1b733209cabf0.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT id, shared_instance_id, size, sha512, created\n FROM shared_instance_versions\n WHERE shared_instance_id = $1\n ORDER BY created DESC\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "id",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "shared_instance_id",
- "type_info": "Int8"
- },
- {
- "ordinal": 2,
- "name": "size",
- "type_info": "Int8"
- },
- {
- "ordinal": 3,
- "name": "sha512",
- "type_info": "Bytea"
- },
- {
- "ordinal": 4,
- "name": "created",
- "type_info": "Timestamptz"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- false,
- false,
- false,
- false,
- false
- ]
- },
- "hash": "265c4d6f33714c8a5cf3137c429e2b57e917e9507942d65f40c1b733209cabf0"
-}
diff --git a/apps/labrinth/.sqlx/query-3a2a1962875e5164d3d20802886db93631d57be2fe82bc2986dffd878ef1174d.json b/apps/labrinth/.sqlx/query-3a2a1962875e5164d3d20802886db93631d57be2fe82bc2986dffd878ef1174d.json
deleted file mode 100644
index 3fe43f0adf..0000000000
--- a/apps/labrinth/.sqlx/query-3a2a1962875e5164d3d20802886db93631d57be2fe82bc2986dffd878ef1174d.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n\t\t\t\tDELETE FROM shared_instance_invited_users\n\t\t\t\tWHERE invited_user_id = $1\n\t\t\t\t",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "3a2a1962875e5164d3d20802886db93631d57be2fe82bc2986dffd878ef1174d"
-}
diff --git a/apps/labrinth/.sqlx/query-47130ef29ce5914528e5424fe516a9158a3ea08f8720f6df5b4902cd8094d3bb.json b/apps/labrinth/.sqlx/query-47130ef29ce5914528e5424fe516a9158a3ea08f8720f6df5b4902cd8094d3bb.json
deleted file mode 100644
index 24e1d953b9..0000000000
--- a/apps/labrinth/.sqlx/query-47130ef29ce5914528e5424fe516a9158a3ea08f8720f6df5b4902cd8094d3bb.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n DELETE FROM shared_instance_versions\n WHERE id = $1\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "47130ef29ce5914528e5424fe516a9158a3ea08f8720f6df5b4902cd8094d3bb"
-}
diff --git a/apps/labrinth/.sqlx/query-47ec9f179f1c52213bd32b37621ab13ae43d180b8c86cb2a6fab0253dd4eba55.json b/apps/labrinth/.sqlx/query-47ec9f179f1c52213bd32b37621ab13ae43d180b8c86cb2a6fab0253dd4eba55.json
deleted file mode 100644
index 2d0db80682..0000000000
--- a/apps/labrinth/.sqlx/query-47ec9f179f1c52213bd32b37621ab13ae43d180b8c86cb2a6fab0253dd4eba55.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "UPDATE shared_instances SET current_version_id = $1 WHERE id = $2",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "47ec9f179f1c52213bd32b37621ab13ae43d180b8c86cb2a6fab0253dd4eba55"
-}
diff --git a/apps/labrinth/.sqlx/query-6b166d129b0ee028898620054a58fa4c3641eb2221e522bf50abad4f5e977599.json b/apps/labrinth/.sqlx/query-6b166d129b0ee028898620054a58fa4c3641eb2221e522bf50abad4f5e977599.json
deleted file mode 100644
index 910adbc363..0000000000
--- a/apps/labrinth/.sqlx/query-6b166d129b0ee028898620054a58fa4c3641eb2221e522bf50abad4f5e977599.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n UPDATE shared_instances\n SET public = $1\n WHERE id = $2\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Bool",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "6b166d129b0ee028898620054a58fa4c3641eb2221e522bf50abad4f5e977599"
-}
diff --git a/apps/labrinth/.sqlx/query-6f72c853e139f23322fe6f1f02e4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1.json b/apps/labrinth/.sqlx/query-6f72c853e139f23322fe6f1f02e4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1.json
deleted file mode 100644
index 35b0640083..0000000000
--- a/apps/labrinth/.sqlx/query-6f72c853e139f23322fe6f1f02e4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n INSERT INTO shared_instances (id, title, owner_id, current_version_id)\n VALUES ($1, $2, $3, $4)\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Varchar",
- "Int8",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "6f72c853e139f23322fe6f1f02e4e07e5ae80b5dfca6dc041a03c0c7a30a5cf1"
-}
diff --git a/apps/labrinth/.sqlx/query-72ae0e8debd06067894a2f7bea279446dd964da4efa49c5464cebde57860f741.json b/apps/labrinth/.sqlx/query-72ae0e8debd06067894a2f7bea279446dd964da4efa49c5464cebde57860f741.json
deleted file mode 100644
index e0787e3bbe..0000000000
--- a/apps/labrinth/.sqlx/query-72ae0e8debd06067894a2f7bea279446dd964da4efa49c5464cebde57860f741.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n UPDATE shared_instances\n SET owner_id = $1\n WHERE owner_id = $2\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "72ae0e8debd06067894a2f7bea279446dd964da4efa49c5464cebde57860f741"
-}
diff --git a/apps/labrinth/.sqlx/query-7c445073f61e30723416a9690aa9d227d95f2a8f2eb9852833e14c723903988b.json b/apps/labrinth/.sqlx/query-7c445073f61e30723416a9690aa9d227d95f2a8f2eb9852833e14c723903988b.json
deleted file mode 100644
index 7897b45d3e..0000000000
--- a/apps/labrinth/.sqlx/query-7c445073f61e30723416a9690aa9d227d95f2a8f2eb9852833e14c723903988b.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "SELECT EXISTS(SELECT 1 FROM shared_instance_versions WHERE id=$1)",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "exists",
- "type_info": "Bool"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- null
- ]
- },
- "hash": "7c445073f61e30723416a9690aa9d227d95f2a8f2eb9852833e14c723903988b"
-}
diff --git a/apps/labrinth/.sqlx/query-9c6e18cb19251e54b3b96446ab88d84842152b82c9a0032d1db587d7099b8550.json b/apps/labrinth/.sqlx/query-9c6e18cb19251e54b3b96446ab88d84842152b82c9a0032d1db587d7099b8550.json
deleted file mode 100644
index 92c3b45f81..0000000000
--- a/apps/labrinth/.sqlx/query-9c6e18cb19251e54b3b96446ab88d84842152b82c9a0032d1db587d7099b8550.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n -- See https://github.com/launchbadge/sqlx/issues/1266 for why we need all the \"as\"\n SELECT\n id as \"id!\",\n title as \"title!\",\n public as \"public!\",\n owner_id as \"owner_id!\",\n current_version_id\n FROM shared_instances\n WHERE owner_id = $1\n UNION\n SELECT\n id as \"id!\",\n title as \"title!\",\n public as \"public!\",\n owner_id as \"owner_id!\",\n current_version_id\n FROM shared_instances\n JOIN shared_instance_users ON id = shared_instance_id\n WHERE user_id = $1\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "id!",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "title!",
- "type_info": "Varchar"
- },
- {
- "ordinal": 2,
- "name": "public!",
- "type_info": "Bool"
- },
- {
- "ordinal": 3,
- "name": "owner_id!",
- "type_info": "Int8"
- },
- {
- "ordinal": 4,
- "name": "current_version_id",
- "type_info": "Int8"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- null,
- null,
- null,
- null,
- null
- ]
- },
- "hash": "9c6e18cb19251e54b3b96446ab88d84842152b82c9a0032d1db587d7099b8550"
-}
diff --git a/apps/labrinth/.sqlx/query-9ccaf8ea52b1b6f0880d34cdb4a9405e28c265bef6121b457c4f39cacf00683f.json b/apps/labrinth/.sqlx/query-9ccaf8ea52b1b6f0880d34cdb4a9405e28c265bef6121b457c4f39cacf00683f.json
deleted file mode 100644
index 1a5097375b..0000000000
--- a/apps/labrinth/.sqlx/query-9ccaf8ea52b1b6f0880d34cdb4a9405e28c265bef6121b457c4f39cacf00683f.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n UPDATE shared_instances\n SET title = $1\n WHERE id = $2\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Varchar",
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "9ccaf8ea52b1b6f0880d34cdb4a9405e28c265bef6121b457c4f39cacf00683f"
-}
diff --git a/apps/labrinth/.sqlx/query-aec58041cf5e5e68501652336581b8c709645ef29f3b5fb6e8e07fc212b36798.json b/apps/labrinth/.sqlx/query-aec58041cf5e5e68501652336581b8c709645ef29f3b5fb6e8e07fc212b36798.json
deleted file mode 100644
index 2c517f367f..0000000000
--- a/apps/labrinth/.sqlx/query-aec58041cf5e5e68501652336581b8c709645ef29f3b5fb6e8e07fc212b36798.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT shared_instance_id, user_id, permissions\n FROM shared_instance_users\n WHERE shared_instance_id = ANY($1)\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "shared_instance_id",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "user_id",
- "type_info": "Int8"
- },
- {
- "ordinal": 2,
- "name": "permissions",
- "type_info": "Int8"
- }
- ],
- "parameters": {
- "Left": [
- "Int8Array"
- ]
- },
- "nullable": [
- false,
- false,
- false
- ]
- },
- "hash": "aec58041cf5e5e68501652336581b8c709645ef29f3b5fb6e8e07fc212b36798"
-}
diff --git a/apps/labrinth/.sqlx/query-b93253bbc35b24974d13bc8ee0447be2a18275f33f8991d910f693fbcc1ff731.json b/apps/labrinth/.sqlx/query-b93253bbc35b24974d13bc8ee0447be2a18275f33f8991d910f693fbcc1ff731.json
deleted file mode 100644
index a997130261..0000000000
--- a/apps/labrinth/.sqlx/query-b93253bbc35b24974d13bc8ee0447be2a18275f33f8991d910f693fbcc1ff731.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT id, shared_instance_id, size, sha512, created\n FROM shared_instance_versions\n WHERE id = $1\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "id",
- "type_info": "Int8"
- },
- {
- "ordinal": 1,
- "name": "shared_instance_id",
- "type_info": "Int8"
- },
- {
- "ordinal": 2,
- "name": "size",
- "type_info": "Int8"
- },
- {
- "ordinal": 3,
- "name": "sha512",
- "type_info": "Bytea"
- },
- {
- "ordinal": 4,
- "name": "created",
- "type_info": "Timestamptz"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- false,
- false,
- false,
- false,
- false
- ]
- },
- "hash": "b93253bbc35b24974d13bc8ee0447be2a18275f33f8991d910f693fbcc1ff731"
-}
diff --git a/apps/labrinth/.sqlx/query-c3869a595693757ccf81085d0c8eb2231578aff18c93d02ead97c3c07f0b27ea.json b/apps/labrinth/.sqlx/query-c3869a595693757ccf81085d0c8eb2231578aff18c93d02ead97c3c07f0b27ea.json
deleted file mode 100644
index b710ec2d4d..0000000000
--- a/apps/labrinth/.sqlx/query-c3869a595693757ccf81085d0c8eb2231578aff18c93d02ead97c3c07f0b27ea.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n SELECT permissions\n FROM shared_instance_users\n WHERE shared_instance_id = $1 AND user_id = $2\n ",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "permissions",
- "type_info": "Int8"
- }
- ],
- "parameters": {
- "Left": [
- "Int8",
- "Int8"
- ]
- },
- "nullable": [
- false
- ]
- },
- "hash": "c3869a595693757ccf81085d0c8eb2231578aff18c93d02ead97c3c07f0b27ea"
-}
diff --git a/apps/labrinth/.sqlx/query-cef730c02bb67b0536d35e5aaca0bd34c3893e8b55bbd126a988137ec7bf1ff9.json b/apps/labrinth/.sqlx/query-cef730c02bb67b0536d35e5aaca0bd34c3893e8b55bbd126a988137ec7bf1ff9.json
deleted file mode 100644
index d48180d910..0000000000
--- a/apps/labrinth/.sqlx/query-cef730c02bb67b0536d35e5aaca0bd34c3893e8b55bbd126a988137ec7bf1ff9.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n DELETE FROM shared_instances\n WHERE id = $1\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "cef730c02bb67b0536d35e5aaca0bd34c3893e8b55bbd126a988137ec7bf1ff9"
-}
diff --git a/apps/labrinth/.sqlx/query-d8558a8039ade3b383db4f0e095e6826f46c27ab3a21520e9e169fd1491521c4.json b/apps/labrinth/.sqlx/query-d8558a8039ade3b383db4f0e095e6826f46c27ab3a21520e9e169fd1491521c4.json
deleted file mode 100644
index 81eef99323..0000000000
--- a/apps/labrinth/.sqlx/query-d8558a8039ade3b383db4f0e095e6826f46c27ab3a21520e9e169fd1491521c4.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "SELECT EXISTS(SELECT 1 FROM shared_instances WHERE id=$1)",
- "describe": {
- "columns": [
- {
- "ordinal": 0,
- "name": "exists",
- "type_info": "Bool"
- }
- ],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": [
- null
- ]
- },
- "hash": "d8558a8039ade3b383db4f0e095e6826f46c27ab3a21520e9e169fd1491521c4"
-}
diff --git a/apps/labrinth/.sqlx/query-d8a1d710f86b3df4d99c2d2ec26ec405531e4270be85087122245991ec88473e.json b/apps/labrinth/.sqlx/query-d8a1d710f86b3df4d99c2d2ec26ec405531e4270be85087122245991ec88473e.json
deleted file mode 100644
index 0e0bb268f5..0000000000
--- a/apps/labrinth/.sqlx/query-d8a1d710f86b3df4d99c2d2ec26ec405531e4270be85087122245991ec88473e.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n INSERT INTO shared_instance_versions (id, shared_instance_id, size, sha512, created)\n VALUES ($1, $2, $3, $4, $5)\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8",
- "Int8",
- "Int8",
- "Bytea",
- "Timestamptz"
- ]
- },
- "nullable": []
- },
- "hash": "d8a1d710f86b3df4d99c2d2ec26ec405531e4270be85087122245991ec88473e"
-}
diff --git a/apps/labrinth/.sqlx/query-d926d015cece307da567ac44b84d3e7416723ff95fcd83587f113621a9887420.json b/apps/labrinth/.sqlx/query-d926d015cece307da567ac44b84d3e7416723ff95fcd83587f113621a9887420.json
deleted file mode 100644
index f53ab8e175..0000000000
--- a/apps/labrinth/.sqlx/query-d926d015cece307da567ac44b84d3e7416723ff95fcd83587f113621a9887420.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n\t\t\t\tDELETE FROM shared_instance_users\n\t\t\t\tWHERE user_id = $1\n\t\t\t\t",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "d926d015cece307da567ac44b84d3e7416723ff95fcd83587f113621a9887420"
-}
diff --git a/apps/labrinth/.sqlx/query-f6388b5026e25191840d1a157a9ed48aaedab5db381f4efc389b852d9020a0e6.json b/apps/labrinth/.sqlx/query-f6388b5026e25191840d1a157a9ed48aaedab5db381f4efc389b852d9020a0e6.json
deleted file mode 100644
index c8514e0a30..0000000000
--- a/apps/labrinth/.sqlx/query-f6388b5026e25191840d1a157a9ed48aaedab5db381f4efc389b852d9020a0e6.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "db_name": "PostgreSQL",
- "query": "\n UPDATE shared_instances\n SET current_version_id = (\n SELECT id FROM shared_instance_versions\n WHERE shared_instance_id = $1\n ORDER BY created DESC\n LIMIT 1\n )\n WHERE id = $1\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Left": [
- "Int8"
- ]
- },
- "nullable": []
- },
- "hash": "f6388b5026e25191840d1a157a9ed48aaedab5db381f4efc389b852d9020a0e6"
-}
diff --git a/apps/labrinth/migrations/20260714120000_drop-shared-instances.sql b/apps/labrinth/migrations/20260714120000_drop-shared-instances.sql
new file mode 100644
index 0000000000..173785d26f
--- /dev/null
+++ b/apps/labrinth/migrations/20260714120000_drop-shared-instances.sql
@@ -0,0 +1,5 @@
+DROP TABLE IF EXISTS shared_instance_versions CASCADE;
+DROP TABLE IF EXISTS shared_instance_invite_links CASCADE;
+DROP TABLE IF EXISTS shared_instance_invited_users CASCADE;
+DROP TABLE IF EXISTS shared_instance_users CASCADE;
+DROP TABLE IF EXISTS shared_instances CASCADE;
diff --git a/apps/labrinth/src/database/models/ids.rs b/apps/labrinth/src/database/models/ids.rs
index 6a6f5936b3..2a638326c6 100644
--- a/apps/labrinth/src/database/models/ids.rs
+++ b/apps/labrinth/src/database/models/ids.rs
@@ -5,9 +5,8 @@ use crate::models::ids::{
ChargeId, CollectionId, FileId, ImageId, NotificationId,
OAuthAccessTokenId, OAuthClientAuthorizationId, OAuthClientId,
OAuthRedirectUriId, OrganizationId, PasskeyId, PatId, PayoutId, ProductId,
- ProductPriceId, ProjectId, ReportId, SessionId, SharedInstanceId,
- SharedInstanceVersionId, TeamId, TeamMemberId, ThreadId, ThreadMessageId,
- UserSubscriptionId, VersionId,
+ ProductPriceId, ProjectId, ReportId, SessionId, TeamId, TeamMemberId,
+ ThreadId, ThreadMessageId, UserSubscriptionId, VersionId,
};
use ariadne::ids::base62_impl::to_base62;
use ariadne::ids::{UserId, random_base62_rng, random_base62_rng_range};
@@ -238,14 +237,6 @@ db_id_interface!(
SessionId,
generator: generate_session_id @ "sessions",
);
-db_id_interface!(
- SharedInstanceId,
- generator: generate_shared_instance_id @ "shared_instances",
-);
-db_id_interface!(
- SharedInstanceVersionId,
- generator: generate_shared_instance_version_id @ "shared_instance_versions",
-);
db_id_interface!(
TeamId,
generator: generate_team_id @ "teams",
diff --git a/apps/labrinth/src/database/models/mod.rs b/apps/labrinth/src/database/models/mod.rs
index a499f33d2f..a96b96d820 100644
--- a/apps/labrinth/src/database/models/mod.rs
+++ b/apps/labrinth/src/database/models/mod.rs
@@ -32,7 +32,6 @@ pub mod products_tax_identifier_item;
pub mod project_item;
pub mod report_item;
pub mod session_item;
-pub mod shared_instance_item;
pub mod team_item;
pub mod thread_item;
pub mod user_item;
diff --git a/apps/labrinth/src/database/models/shared_instance_item.rs b/apps/labrinth/src/database/models/shared_instance_item.rs
deleted file mode 100644
index 896297fbe7..0000000000
--- a/apps/labrinth/src/database/models/shared_instance_item.rs
+++ /dev/null
@@ -1,336 +0,0 @@
-use crate::database::PgTransaction;
-use crate::database::models::{
- DBSharedInstanceId, DBSharedInstanceVersionId, DBUserId,
-};
-use crate::database::redis::RedisPool;
-use crate::models::shared_instances::SharedInstanceUserPermissions;
-use chrono::{DateTime, Utc};
-use dashmap::DashMap;
-use futures_util::TryStreamExt;
-use serde::{Deserialize, Serialize};
-
-//region shared_instances
-pub struct DBSharedInstance {
- pub id: DBSharedInstanceId,
- pub title: String,
- pub owner_id: DBUserId,
- pub public: bool,
- pub current_version_id: Option,
-}
-
-struct SharedInstanceQueryResult {
- id: i64,
- title: String,
- owner_id: i64,
- public: bool,
- current_version_id: Option,
-}
-
-impl From for DBSharedInstance {
- fn from(val: SharedInstanceQueryResult) -> Self {
- DBSharedInstance {
- id: DBSharedInstanceId(val.id),
- title: val.title,
- owner_id: DBUserId(val.owner_id),
- public: val.public,
- current_version_id: val
- .current_version_id
- .map(DBSharedInstanceVersionId),
- }
- }
-}
-
-impl DBSharedInstance {
- pub async fn insert(
- &self,
- transaction: &mut PgTransaction<'_>,
- ) -> Result<(), sqlx::Error> {
- sqlx::query!(
- "
- INSERT INTO shared_instances (id, title, owner_id, current_version_id)
- VALUES ($1, $2, $3, $4)
- ",
- self.id as DBSharedInstanceId,
- self.title,
- self.owner_id as DBUserId,
- self.current_version_id.map(|x| x.0),
- )
- .execute(&mut *transaction)
- .await?;
-
- Ok(())
- }
-
- pub async fn get(
- id: DBSharedInstanceId,
- exec: impl crate::database::Executor<'_, Database = sqlx::Postgres>,
- ) -> Result
+
+
+
+
+
@@ -1147,6 +1284,51 @@ await loadSkins()
diff --git a/apps/frontend/src/components/ui/UserPageHeader.vue b/apps/frontend/src/components/ui/UserPageHeader.vue
new file mode 100644
index 0000000000..dfa94c475d
--- /dev/null
+++ b/apps/frontend/src/components/ui/UserPageHeader.vue
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+
+
+ {{ formatMessage(messages.officialAccount) }}
+
+
+ {{ formatMessage(messages.affiliateLabel) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatMessage(commonMessages.editButton) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/locales/cs-CZ/index.json b/apps/frontend/src/locales/cs-CZ/index.json
index 22ac79adbd..b5ce1c1bbe 100644
--- a/apps/frontend/src/locales/cs-CZ/index.json
+++ b/apps/frontend/src/locales/cs-CZ/index.json
@@ -2171,9 +2171,6 @@
"profile.label.collection": {
"message": "Kolekce"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {stažení} few {stažení} other {stažení}}"
- },
"profile.label.joined": {
"message": "Členem od"
},
@@ -2192,9 +2189,6 @@
"profile.label.organizations": {
"message": "Organizace"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {projekt} few {projekty} other {projektů}}"
- },
"profile.label.saving": {
"message": "Ukládání..."
},
@@ -2528,12 +2522,6 @@
"project.settings.visit-dashboard": {
"message": "Přejít na přehled projektů"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {stažení} few {stažení} other {stažení}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {# sledující} few {# sledující} other {# sledujících}}"
- },
"project.versions.title": {
"message": "Verze"
},
diff --git a/apps/frontend/src/locales/de-CH/index.json b/apps/frontend/src/locales/de-CH/index.json
index b289277e1d..c53e40ec1c 100644
--- a/apps/frontend/src/locales/de-CH/index.json
+++ b/apps/frontend/src/locales/de-CH/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "Kollektion"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {Download} other {Downloads}}"
- },
"profile.label.joined": {
"message": "Beigetreten"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "Organisationen"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {Projekt} other {Projekte}}"
- },
"profile.label.saving": {
"message": "Speichert..."
},
@@ -3656,12 +3650,6 @@
"project.settings.visit-dashboard": {
"message": "Projekt-Dashboard besuchen"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {Download} other {Downloads}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {Follower} other {Follower}}"
- },
"project.status.archived.message": {
"message": "{title} wurde archiviert. {title} wird keine weiteren Updates erhalten, es sei denn, der Autor entscheided sich, das Projekt zu Dearchivieren."
},
diff --git a/apps/frontend/src/locales/de-DE/index.json b/apps/frontend/src/locales/de-DE/index.json
index 68d1d09e5b..3a09588749 100644
--- a/apps/frontend/src/locales/de-DE/index.json
+++ b/apps/frontend/src/locales/de-DE/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "Kollektion"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {Download} other {Downloads}}"
- },
"profile.label.joined": {
"message": "Beigetreten"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "Organisationen"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {Projekt} other {Projekte}}"
- },
"profile.label.saving": {
"message": "Speichert..."
},
@@ -3656,12 +3650,6 @@
"project.settings.visit-dashboard": {
"message": "Projekt-Dashboard besuchen"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {Download} other {Downloads}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {Follower} other {Follower}}"
- },
"project.status.archived.message": {
"message": "{title} wurde archiviert. {title} wird keine weiteren Updates erhalten, es sei denn, der Autor entscheidet sich das Projekt zu dearchivieren."
},
diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json
index a299b8195b..ed8db64755 100644
--- a/apps/frontend/src/locales/en-US/index.json
+++ b/apps/frontend/src/locales/en-US/index.json
@@ -3005,6 +3005,24 @@
"muralpay.warning.wallet-address": {
"message": "Double-check your wallet address. Funds sent to an incorrect address cannot be recovered."
},
+ "organization.button.manage": {
+ "message": "Manage"
+ },
+ "organization.button.manage-projects": {
+ "message": "Manage projects"
+ },
+ "organization.label.downloads": {
+ "message": "downloads"
+ },
+ "organization.label.members": {
+ "message": "members"
+ },
+ "organization.label.organization": {
+ "message": "Organization"
+ },
+ "organization.label.projects": {
+ "message": "projects"
+ },
"organization.settings.projects.edit-links.affected-projects": {
"message": "Changes will be applied to {count, plural, one {# project} other {# projects}}."
},
@@ -3074,8 +3092,8 @@
"profile.label.collection": {
"message": "Collection"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {download} other {downloads}}"
+ "profile.label.download-count": {
+ "message": "{count, plural, one {download} other {downloads}}"
},
"profile.label.joined": {
"message": "Joined"
@@ -3095,8 +3113,8 @@
"profile.label.organizations": {
"message": "Organizations"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {project} other {projects}}"
+ "profile.label.project-count": {
+ "message": "{count, plural, one {project} other {projects}}"
},
"profile.label.saving": {
"message": "Saving..."
@@ -3260,6 +3278,12 @@
"project.actions.dont-show-again": {
"message": "Don't show again"
},
+ "project.actions.edit-project": {
+ "message": "Edit project"
+ },
+ "project.actions.rescan-modpack": {
+ "message": "Rescan modpack"
+ },
"project.actions.review-project": {
"message": "Review project"
},
@@ -3662,12 +3686,6 @@
"project.settings.visit-dashboard": {
"message": "Visit projects dashboard"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {download} other {downloads}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {follower} other {followers}}"
- },
"project.status.archived.message": {
"message": "{title} has been archived. {title} will not receive any further updates unless the author decides to unarchive the project."
},
diff --git a/apps/frontend/src/locales/es-419/index.json b/apps/frontend/src/locales/es-419/index.json
index 8d8eed405b..d211245ac2 100644
--- a/apps/frontend/src/locales/es-419/index.json
+++ b/apps/frontend/src/locales/es-419/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "Colección"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {descarga} other {descargas}}"
- },
"profile.label.joined": {
"message": "Se unió"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "Organizaciones"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {proyecto} other {proyectos}}"
- },
"profile.label.saving": {
"message": "Guardando..."
},
@@ -3656,12 +3650,6 @@
"project.settings.visit-dashboard": {
"message": "Ver el panel de control de proyectos"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {descarga} other {descargas}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {seguidor} other {seguidores}}"
- },
"project.status.archived.message": {
"message": "{title} se ha archivado. {title} no recibirá más actualizaciones hasta que el autor decida desarchivar el proyecto."
},
diff --git a/apps/frontend/src/locales/es-ES/index.json b/apps/frontend/src/locales/es-ES/index.json
index cbbf5c2a44..81d4b0a722 100644
--- a/apps/frontend/src/locales/es-ES/index.json
+++ b/apps/frontend/src/locales/es-ES/index.json
@@ -2891,9 +2891,6 @@
"profile.label.collection": {
"message": "Colección"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {descarga} other {descargas}}"
- },
"profile.label.joined": {
"message": "Se unió hace"
},
@@ -2912,9 +2909,6 @@
"profile.label.organizations": {
"message": "Organizaciones"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {proyecto} other {proyectos}}"
- },
"profile.label.saving": {
"message": "Guardando..."
},
@@ -3377,12 +3371,6 @@
"project.settings.visit-dashboard": {
"message": "Visita el panel de proyectos"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {descarga} other {descargas}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {seguidor} other {seguidores}}"
- },
"project.status.archived.message": {
"message": "{title} ha sido archivado. {title} no recibirá ninguna futura actualización excepto que el autor decida desarchivar el proyecto."
},
diff --git a/apps/frontend/src/locales/fil-PH/index.json b/apps/frontend/src/locales/fil-PH/index.json
index b7ac746fbf..7f6debba6b 100644
--- a/apps/frontend/src/locales/fil-PH/index.json
+++ b/apps/frontend/src/locales/fil-PH/index.json
@@ -2213,9 +2213,6 @@
"profile.label.collection": {
"message": "Koleksiyon"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {download} other {na download}}"
- },
"profile.label.joined": {
"message": "Sumali"
},
@@ -2234,9 +2231,6 @@
"profile.label.organizations": {
"message": "Mga organisasyon"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {proyekto} other {na proyekto}}"
- },
"profile.label.saving": {
"message": "Sine-save..."
},
diff --git a/apps/frontend/src/locales/fr-FR/index.json b/apps/frontend/src/locales/fr-FR/index.json
index 7e396f6e10..16be96be46 100644
--- a/apps/frontend/src/locales/fr-FR/index.json
+++ b/apps/frontend/src/locales/fr-FR/index.json
@@ -3074,9 +3074,6 @@
"profile.label.collection": {
"message": "Collection"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {téléchargement} other {téléchargements}}"
- },
"profile.label.joined": {
"message": "Rejoint"
},
@@ -3095,9 +3092,6 @@
"profile.label.organizations": {
"message": "Organisations"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {projet} other {projets}}"
- },
"profile.label.saving": {
"message": "Sauvegarde en cours..."
},
@@ -3662,12 +3656,6 @@
"project.settings.visit-dashboard": {
"message": "Visiter le tableau de contrôle des projets"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {# téléchargement} other {# téléchargements}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {# suivi} other {# suivis}}"
- },
"project.status.archived.message": {
"message": "{title} a été archivé. {title} ne recevra plus de mises à jour jusqu'à ce que l'auteur du projet décide de désarchiver le projet."
},
diff --git a/apps/frontend/src/locales/he-IL/index.json b/apps/frontend/src/locales/he-IL/index.json
index 7c34f73752..e8910f1d86 100644
--- a/apps/frontend/src/locales/he-IL/index.json
+++ b/apps/frontend/src/locales/he-IL/index.json
@@ -1838,9 +1838,6 @@
"profile.label.collection": {
"message": "אוסף"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {download} other {downloads}}"
- },
"profile.label.joined": {
"message": "הצטרף ב-"
},
@@ -1859,9 +1856,6 @@
"profile.label.organizations": {
"message": "ארגונים"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {project} other {projects}}"
- },
"profile.label.saving": {
"message": "שומר..."
},
diff --git a/apps/frontend/src/locales/hu-HU/index.json b/apps/frontend/src/locales/hu-HU/index.json
index e835b7bb7c..52c45132d1 100644
--- a/apps/frontend/src/locales/hu-HU/index.json
+++ b/apps/frontend/src/locales/hu-HU/index.json
@@ -2966,9 +2966,6 @@
"profile.label.collection": {
"message": "Gyűjtemény"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {letöltés} other {letöltések}}"
- },
"profile.label.joined": {
"message": "Csatlakozott"
},
@@ -2987,9 +2984,6 @@
"profile.label.organizations": {
"message": "Szervezetek"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {projekt} other {projektek}}"
- },
"profile.label.saving": {
"message": "Mentés..."
},
@@ -3476,12 +3470,6 @@
"project.settings.visit-dashboard": {
"message": "Projektek irányítópult megnyitása"
},
- "project.stats.downloads-label": {
- "message": "{count} letöltés"
- },
- "project.stats.followers-label": {
- "message": "{count} követő"
- },
"project.status.archived.message": {
"message": "A(z) {title} archiválásra került. A(z) {title} nem kap további frissítéseket, kivéve, ha a fejlesztő úgy dönt, hogy visszavonja a projekt archiválását."
},
diff --git a/apps/frontend/src/locales/id-ID/index.json b/apps/frontend/src/locales/id-ID/index.json
index 165a65df58..bf545088ae 100644
--- a/apps/frontend/src/locales/id-ID/index.json
+++ b/apps/frontend/src/locales/id-ID/index.json
@@ -2219,9 +2219,6 @@
"profile.label.collection": {
"message": "Koleksi"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, other {pengunduhan}}"
- },
"profile.label.joined": {
"message": "Telah bergabung"
},
@@ -2240,9 +2237,6 @@
"profile.label.organizations": {
"message": "Organisasi"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, other {proyek}}"
- },
"profile.label.saving": {
"message": "Menyimpan..."
},
diff --git a/apps/frontend/src/locales/it-IT/index.json b/apps/frontend/src/locales/it-IT/index.json
index 9ecb1092ea..fda04f9565 100644
--- a/apps/frontend/src/locales/it-IT/index.json
+++ b/apps/frontend/src/locales/it-IT/index.json
@@ -3059,9 +3059,6 @@
"profile.label.collection": {
"message": "Raccolta"
},
- "profile.label.downloads": {
- "message": "{count} download"
- },
"profile.label.joined": {
"message": "Iscrizione"
},
@@ -3080,9 +3077,6 @@
"profile.label.organizations": {
"message": "Organizzazioni"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {progetto} other {progetti}}"
- },
"profile.label.saving": {
"message": "Salvando..."
},
@@ -3647,12 +3641,6 @@
"project.settings.visit-dashboard": {
"message": "Visita bacheca del progetto"
},
- "project.stats.downloads-label": {
- "message": "{count} download"
- },
- "project.stats.followers-label": {
- "message": "{count} follower"
- },
"project.status.archived.message": {
"message": "{title} è stato archiviato. {title} non riceverà più aggiornamenti a meno che l'autore decida di rimuoverlo dall'archivio."
},
diff --git a/apps/frontend/src/locales/ja-JP/index.json b/apps/frontend/src/locales/ja-JP/index.json
index 5d975367f2..e012802c56 100644
--- a/apps/frontend/src/locales/ja-JP/index.json
+++ b/apps/frontend/src/locales/ja-JP/index.json
@@ -2597,9 +2597,6 @@
"profile.label.collection": {
"message": "コレクション"
},
- "profile.label.downloads": {
- "message": "{count}件のダウンロード"
- },
"profile.label.joined": {
"message": "参加: "
},
@@ -2618,9 +2615,6 @@
"profile.label.organizations": {
"message": "組織"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {プロジェクト} other {プロジェクト}}"
- },
"profile.label.saving": {
"message": "保存中…"
},
diff --git a/apps/frontend/src/locales/ko-KR/index.json b/apps/frontend/src/locales/ko-KR/index.json
index e9e150cdc4..f32f26aeef 100644
--- a/apps/frontend/src/locales/ko-KR/index.json
+++ b/apps/frontend/src/locales/ko-KR/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "컬렉션"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {다운로드} other {다운로드}}"
- },
"profile.label.joined": {
"message": "가입"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "조직"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {프로젝트} other {프로젝트}}"
- },
"profile.label.saving": {
"message": "저장..."
},
@@ -3656,12 +3650,6 @@
"project.settings.visit-dashboard": {
"message": "프로젝트 대시보드 방문"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {{count}회 다운로드} other {{count}회 다운로드}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {팔로워} other {팔로워}}"
- },
"project.status.archived.message": {
"message": "{title} 은(는) 보관되었습니다. 작성자가 프로젝트 보관 해제를 결정하지 않는 한 더 이상 업데이트가 제공되지 않습니다."
},
diff --git a/apps/frontend/src/locales/ms-MY/index.json b/apps/frontend/src/locales/ms-MY/index.json
index 32e40ee72a..efcbf9d35a 100644
--- a/apps/frontend/src/locales/ms-MY/index.json
+++ b/apps/frontend/src/locales/ms-MY/index.json
@@ -2750,9 +2750,6 @@
"profile.label.collection": {
"message": "Koleksi"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, other {muat turun}}"
- },
"profile.label.joined": {
"message": "Telah menyertai"
},
@@ -2771,9 +2768,6 @@
"profile.label.organizations": {
"message": "Organisasi"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, other {projek}}"
- },
"profile.label.saving": {
"message": "Sedang menyimpan..."
},
@@ -3188,9 +3182,6 @@
"project.settings.visit-dashboard": {
"message": "Kunjungi papan pemuka projek"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, other {muat turun}}"
- },
"project.status.archived.message": {
"message": "{title} telah diarkibkan. {title} tidak akan menerima sebarang kemas kini lanjut melainkan pengarang memutuskan untuk menyaharkibkan projek."
},
diff --git a/apps/frontend/src/locales/nl-NL/index.json b/apps/frontend/src/locales/nl-NL/index.json
index 97667d87c6..1e7ca31992 100644
--- a/apps/frontend/src/locales/nl-NL/index.json
+++ b/apps/frontend/src/locales/nl-NL/index.json
@@ -3065,9 +3065,6 @@
"profile.label.collection": {
"message": "Collectie"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {download} other {downloads}}"
- },
"profile.label.joined": {
"message": "Lid geworden"
},
@@ -3086,9 +3083,6 @@
"profile.label.organizations": {
"message": "Organisaties"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {project} other {projecten}}"
- },
"profile.label.saving": {
"message": "Opslaan..."
},
diff --git a/apps/frontend/src/locales/no-NO/index.json b/apps/frontend/src/locales/no-NO/index.json
index 49c35c6ae4..3ed6bb01dd 100644
--- a/apps/frontend/src/locales/no-NO/index.json
+++ b/apps/frontend/src/locales/no-NO/index.json
@@ -2678,9 +2678,6 @@
"profile.label.collection": {
"message": "Samling"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {nedlasting} other {nedlastinger}}"
- },
"profile.label.joined": {
"message": "Blei med"
},
@@ -2699,9 +2696,6 @@
"profile.label.organizations": {
"message": "Organisasjoner"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {projekt} other {projekt}}"
- },
"profile.label.saving": {
"message": "Lagrer..."
},
@@ -3038,12 +3032,6 @@
"project.settings.visit-dashboard": {
"message": "Besøk prosjekt-dashbordet"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {nedlasting} other {nedlastinger}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {følger} other {følgere}}"
- },
"project.status.archived.message": {
"message": "{title} har blitt arkivert. {title} kommer ikke til å få noen nye oppdateringer, hvis ikke forfatteren bestemmer seg for å dearkivere prosjektet."
},
diff --git a/apps/frontend/src/locales/pl-PL/index.json b/apps/frontend/src/locales/pl-PL/index.json
index 1bca82dca8..ee1e748a80 100644
--- a/apps/frontend/src/locales/pl-PL/index.json
+++ b/apps/frontend/src/locales/pl-PL/index.json
@@ -3062,9 +3062,6 @@
"profile.label.collection": {
"message": "Kolekcja"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {pobranie} few {pobrania} other {pobrań}}"
- },
"profile.label.joined": {
"message": "Dołączył(-a)"
},
@@ -3083,9 +3080,6 @@
"profile.label.organizations": {
"message": "Organizacje"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {projekt} few {projekty} other {projektów}}"
- },
"profile.label.saving": {
"message": "Zapisywanie..."
},
@@ -3647,12 +3641,6 @@
"project.settings.visit-dashboard": {
"message": "Odwiedź pulpit projektów"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {pobranie} few {pobrania} other {pobrań}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {obserwujący} other {obserwujących}}"
- },
"project.status.archived.message": {
"message": "{title} zostało zarchiwizowane. {title} nie będzie otrzymywać żadnych dalszych aktualizacji, chyba że autor zdecyduje się przywrócić projekt."
},
diff --git a/apps/frontend/src/locales/pt-BR/index.json b/apps/frontend/src/locales/pt-BR/index.json
index 1f5deace85..1f6b1b63ab 100644
--- a/apps/frontend/src/locales/pt-BR/index.json
+++ b/apps/frontend/src/locales/pt-BR/index.json
@@ -3656,12 +3656,6 @@
"project.settings.visit-dashboard": {
"message": "Visitar painel de projetos"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, =0 {Nenhum download} one {# download} other {# downloads}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, =0 {Nenhum seguidor} one {# seguidor} other {# seguidores}}"
- },
"project.status.archived.message": {
"message": "{title} foi arquivado. {title} não receberá atualizações a menos que o autor decida desarquivar o projeto."
},
diff --git a/apps/frontend/src/locales/pt-PT/index.json b/apps/frontend/src/locales/pt-PT/index.json
index bc04f4977e..0ca09b38c6 100644
--- a/apps/frontend/src/locales/pt-PT/index.json
+++ b/apps/frontend/src/locales/pt-PT/index.json
@@ -2561,9 +2561,6 @@
"profile.label.collection": {
"message": "Coleção"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {transferência} other {transferências}}"
- },
"profile.label.joined": {
"message": "Entrou"
},
@@ -2582,9 +2579,6 @@
"profile.label.organizations": {
"message": "Organizações"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural,one {projeto} other {projetos}}"
- },
"profile.label.saving": {
"message": "A guardar..."
},
diff --git a/apps/frontend/src/locales/ru-RU/index.json b/apps/frontend/src/locales/ru-RU/index.json
index 00627e8860..721556361b 100644
--- a/apps/frontend/src/locales/ru-RU/index.json
+++ b/apps/frontend/src/locales/ru-RU/index.json
@@ -3065,9 +3065,6 @@
"profile.label.collection": {
"message": "Коллекция"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {скачивание} few {скачивания} other {скачиваний}}"
- },
"profile.label.joined": {
"message": "Регистрация:"
},
@@ -3086,9 +3083,6 @@
"profile.label.organizations": {
"message": "Организации"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {проект} few {проекта} other {проектов}}"
- },
"profile.label.saving": {
"message": "Сохранение..."
},
@@ -3653,12 +3647,6 @@
"project.settings.visit-dashboard": {
"message": "Управление проектами"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {загрузка} few {загрузки} other {загрузок}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {подписчик} few {подписчика} other {подписчиков}}"
- },
"project.status.archived.message": {
"message": "{title} помещён в архив. {title} больше не будет получать обновления, если только автор не решит разархивировать проект."
},
diff --git a/apps/frontend/src/locales/sv-SE/index.json b/apps/frontend/src/locales/sv-SE/index.json
index 4145156f90..01263d5c40 100644
--- a/apps/frontend/src/locales/sv-SE/index.json
+++ b/apps/frontend/src/locales/sv-SE/index.json
@@ -2738,9 +2738,6 @@
"profile.label.collection": {
"message": "Samling"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {nedladdning} other {nedladdningar}}"
- },
"profile.label.joined": {
"message": "Gick med"
},
diff --git a/apps/frontend/src/locales/tr-TR/index.json b/apps/frontend/src/locales/tr-TR/index.json
index 383ffec611..2b3d501e57 100644
--- a/apps/frontend/src/locales/tr-TR/index.json
+++ b/apps/frontend/src/locales/tr-TR/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "Koleksiyon"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {indirme} other {indirmeler}}"
- },
"profile.label.joined": {
"message": "Katılma:"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "Organizasyonlar"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {proje} other {projeler}}"
- },
"profile.label.saving": {
"message": "Kaydediliyor..."
},
@@ -3602,12 +3596,6 @@
"project.settings.visit-dashboard": {
"message": "Projeler panelini ziyaret et"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {download} other {downloads}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {follower} other {followers}}"
- },
"project.status.archived.message": {
"message": "{title} arşivlenmiş. {title}, yapımcı fikrini değiştirmediği sürece daha fazla güncelleme almayacak."
},
diff --git a/apps/frontend/src/locales/uk-UA/index.json b/apps/frontend/src/locales/uk-UA/index.json
index ffa2ce50f9..c2bb55b981 100644
--- a/apps/frontend/src/locales/uk-UA/index.json
+++ b/apps/frontend/src/locales/uk-UA/index.json
@@ -3071,9 +3071,6 @@
"profile.label.collection": {
"message": "Добірка"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {завантаження} few {завантаження} many {завантажень} other {завантажень}}"
- },
"profile.label.joined": {
"message": "Приєднався"
},
@@ -3092,9 +3089,6 @@
"profile.label.organizations": {
"message": "Організації"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {проєкт} few {проєкти} many {проєктів} other {проєктів}}"
- },
"profile.label.saving": {
"message": "Збереження…"
},
@@ -3659,12 +3653,6 @@
"project.settings.visit-dashboard": {
"message": "Панель керування проєктами"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, one {завантаження} few {завантаження} many {завантажень} other {завантаження}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, one {стежить} few {стежать} many {стежать} other {стежать}}"
- },
"project.status.archived.message": {
"message": "«{title}» було архівовано. «{title}» не отримуватиме подальших оновлень допоки автор не вирішить розархівувати проєкт."
},
diff --git a/apps/frontend/src/locales/vi-VN/index.json b/apps/frontend/src/locales/vi-VN/index.json
index 8e3b5e1238..6d4dc9e296 100644
--- a/apps/frontend/src/locales/vi-VN/index.json
+++ b/apps/frontend/src/locales/vi-VN/index.json
@@ -2861,9 +2861,6 @@
"profile.label.collection": {
"message": "Bộ sưu tập"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, one {lượt tải xuống} other {lượt tải xuống}}"
- },
"profile.label.joined": {
"message": "Đã tham gia"
},
@@ -2882,9 +2879,6 @@
"profile.label.organizations": {
"message": "Tổ chức"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, one {dự án} other {dự án}}"
- },
"profile.label.saving": {
"message": "Đang lưu..."
},
@@ -3284,12 +3278,6 @@
"project.settings.visit-dashboard": {
"message": "Truy cập bảng điều khiển dự án"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, other {lượt tải}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, other {lượt theo dõi}}"
- },
"project.status.archived.message": {
"message": "{title} đã được lưu trữ. {title} sẽ không nhận được bất kỳ bản cập nhật nào trong tương lai trừ khi tác giả quyết định hủy lưu trữ dự án."
},
diff --git a/apps/frontend/src/locales/zh-CN/index.json b/apps/frontend/src/locales/zh-CN/index.json
index 3a6a9fc5a9..49716cfce9 100644
--- a/apps/frontend/src/locales/zh-CN/index.json
+++ b/apps/frontend/src/locales/zh-CN/index.json
@@ -3068,9 +3068,6 @@
"profile.label.collection": {
"message": "收藏夹"
},
- "profile.label.downloads": {
- "message": "{count} {countPlural, plural, other {次下载}}"
- },
"profile.label.joined": {
"message": "加入于"
},
@@ -3089,9 +3086,6 @@
"profile.label.organizations": {
"message": "组织"
},
- "profile.label.projects": {
- "message": "{count} {countPlural, plural, other {个项目}}"
- },
"profile.label.saving": {
"message": "正在保存…"
},
@@ -3656,12 +3650,6 @@
"project.settings.visit-dashboard": {
"message": "访问项目的控制面板"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, other {下载}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, other {关注者}}"
- },
"project.status.archived.message": {
"message": "{title} 已归档。除非作者决定取消归档,否则 {title} 将不再更新。"
},
diff --git a/apps/frontend/src/locales/zh-TW/index.json b/apps/frontend/src/locales/zh-TW/index.json
index f2ca1a781c..a79e84c592 100644
--- a/apps/frontend/src/locales/zh-TW/index.json
+++ b/apps/frontend/src/locales/zh-TW/index.json
@@ -3074,9 +3074,6 @@
"profile.label.collection": {
"message": "收藏"
},
- "profile.label.downloads": {
- "message": "下載次數:{count}"
- },
"profile.label.joined": {
"message": "加入時間:"
},
@@ -3095,9 +3092,6 @@
"profile.label.organizations": {
"message": "組織"
},
- "profile.label.projects": {
- "message": "{count} 個{countPlural, plural, other {專案}}"
- },
"profile.label.saving": {
"message": "儲存中..."
},
@@ -3662,12 +3656,6 @@
"project.settings.visit-dashboard": {
"message": "前往專案資訊主頁"
},
- "project.stats.downloads-label": {
- "message": "{count, plural, other {下載}}"
- },
- "project.stats.followers-label": {
- "message": "{count, plural, other {追蹤者}}"
- },
"project.status.archived.message": {
"message": "{title} 已封存。{title} 將不會再收到任何後續更新,除非作者決定解除封存該專案。"
},
diff --git a/apps/frontend/src/pages/[type]/[project].vue b/apps/frontend/src/pages/[type]/[project].vue
index b21380e860..7f908b9904 100644
--- a/apps/frontend/src/pages/[type]/[project].vue
+++ b/apps/frontend/src/pages/[type]/[project].vue
@@ -130,29 +130,27 @@
@set-processing="setProcessing"
/>