1
0

Support for latest Modrinth Upstream

This commit is contained in:
2024-12-26 20:31:14 +03:00
parent 7bbc79c6a1
commit 59f6f7102f
17 changed files with 2659 additions and 6191 deletions

1569
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Modrinth App</title>
<title>AstralRinth App</title>
<link rel="stylesheet" href="/src/assets/stylesheets/global.scss" />
</head>

View File

@@ -1,8 +1,7 @@
{
"name": "@modrinth/app-frontend",
"private": true,
"version": "0.9.201",
"development_build": true,
"version": "0.9.2",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -23,7 +23,7 @@ import { useLoading, useTheming } from '@/store/state'
// import ModrinthAppLogo from '@/assets/modrinth_app.svg?component'
import AccountsCard from '@/components/ui/AccountsCard.vue'
import InstanceCreationModal from '@/components/ui/InstanceCreationModal.vue'
import { get } from '@/helpers/settings'
import { get, set } from '@/helpers/settings'
import Breadcrumbs from '@/components/ui/Breadcrumbs.vue'
import RunningAppBar from '@/components/ui/RunningAppBar.vue'
import SplashScreen from '@/components/ui/SplashScreen.vue'
@@ -100,6 +100,14 @@ onUnmounted(() => {
async function setupApp() {
stateInitialized.value = true
const settings = await get()
// Patched
settings.personalized_ads = false
settings.telemetry = false
await set(settings)
const {
native_decorations,
theme,
@@ -112,7 +120,8 @@ async function setupApp() {
toggle_sidebar,
developer_mode,
feature_flags,
} = await get()
} = settings
if (default_page === 'Library') {
await router.push('/library')
@@ -141,9 +150,13 @@ async function setupApp() {
initAnalytics()
if (!telemetry) {
console.info("[AstralRinth] Telemetry disabled by default (Hard patched in code).")
console.info("[AR] Telemetry disabled by default (Hard patched).")
optOutAnalytics()
}
if (!personalized_ads) {
console.info("[AR] Personalized ads disabled by default (Hard patched).")
}
if (dev) debugAnalytics()
trackEvent('Launched', { version, dev, onboarded })

View File

@@ -146,7 +146,7 @@ function devModeCount() {
<ModrinthIcon class="w-6 h-6" />
</button>
<div>
<p class="m-0">Modrinth App {{ version }}</p>
<p class="m-0">AstralRinth App {{ version }}</p>
<p class="m-0">
<span v-if="osPlatform === 'macos'">MacOS</span>
<span v-else class="capitalize">{{ osPlatform }}</span>

View File

@@ -37,10 +37,10 @@ const props = defineProps({
type: Boolean,
default: true,
},
showAdOnClose: {
type: Boolean,
default: true,
},
// showAdOnClose: {
// type: Boolean,
// default: true,
// },
})
const emit = defineEmits(['proceed'])
@@ -51,7 +51,7 @@ defineExpose({
modal.value.show()
},
hide: () => {
onModalHide()
// onModalHide()
modal.value.hide()
},
})

View File

@@ -21,10 +21,10 @@ const props = defineProps({
return () => { }
},
},
showAdOnClose: {
type: Boolean,
default: true,
},
// showAdOnClose: {
// type: Boolean,
// default: true,
// },
})
const modal = ref(null)

View File

@@ -26,7 +26,7 @@ watch(
<div>
<h2 class="m-0 text-lg font-extrabold text-contrast">Personalized ads</h2>
<p class="m-0 text-sm">
Modrinth's ad provider, Aditude, shows ads based on your preferences. By disabling this
(Hard disabled by AR) Modrinth's ad provider, Aditude, shows ads based on your preferences. By disabling this
option, you opt out and ads will no longer be shown based on your interests.
</p>
</div>
@@ -34,6 +34,7 @@ watch(
id="personalized-ads"
:model-value="settings.personalized_ads"
:checked="settings.personalized_ads"
:disabled="!settings.personalized_ads"
@update:model-value="
(e) => {
settings.personalized_ads = e
@@ -46,7 +47,7 @@ watch(
<div>
<h2 class="m-0 text-lg font-extrabold text-contrast">Telemetry</h2>
<p class="m-0 text-sm">
Modrinth collects anonymized analytics and usage data to improve our user experience and
(Hard disabled by AR) • Modrinth collects anonymized analytics and usage data to improve our user experience and
customize your experience. By disabling this option, you opt out and your data will no
longer be collected.
</p>
@@ -55,6 +56,7 @@ watch(
id="opt-out-analytics"
:model-value="settings.telemetry"
:checked="settings.telemetry"
:disabled="!settings.telemetry"
@update:model-value="
(e) => {
settings.telemetry = e

View File

@@ -20,7 +20,7 @@ export const DEFAULT_FEATURE_FLAGS = validateValues({
// Developer flags
developerMode: false,
showVersionFilesInTable: false,
showAdsWithPlus: false,
// showAdsWithPlus: false,
// Feature toggles
projectTypesPrimaryNav: false,

View File

@@ -655,12 +655,12 @@
:tags="tags"
class="card flex-card experimental-styles-within"
/>
<AdPlaceholder
<!-- <AdPlaceholder
v-if="
(!auth.user || !isPermission(auth.user.badges, 1 << 0) || flags.showAdsWithPlus) &&
tags.approvedStatuses.includes(project.status)
"
/>
/> -->
<ProjectSidebarLinks
:project="project"
:link-target="$external()"
@@ -843,7 +843,7 @@ import ModerationChecklist from "~/components/ui/ModerationChecklist.vue";
import Accordion from "~/components/ui/Accordion.vue";
import ModrinthIcon from "~/assets/images/utils/modrinth.svg?component";
import AutomaticAccordion from "~/components/ui/AutomaticAccordion.vue";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
const data = useNuxtApp();
const route = useNativeRoute();

View File

@@ -661,7 +661,7 @@ import RightArrowIcon from "~/assets/images/utils/right-arrow.svg?component";
import Modal from "~/components/ui/Modal.vue";
import ChevronRightIcon from "~/assets/images/utils/chevron-right.svg?component";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
export default defineNuxtComponent({
components: {
MarkdownEditor,

View File

@@ -247,9 +247,9 @@
</div>
</template>
</div>
<AdPlaceholder
<!-- <AdPlaceholder
v-if="!auth.user || !isPermission(auth.user.badges, 1 << 0) || flags.showAdsWithPlus"
/>
/> -->
</div>
<div class="normal-page__content">
<nav class="navigation-card">
@@ -395,7 +395,7 @@ import { addNotification } from "~/composables/notifs.js";
import ModalConfirm from "~/components/ui/ModalConfirm.vue";
import NavRow from "~/components/ui/NavRow.vue";
import ProjectCard from "~/components/ui/ProjectCard.vue";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
const vintl = useVIntl();
const { formatMessage } = vintl;

View File

@@ -140,9 +140,9 @@
</ContentPageHeader>
</div>
<div class="normal-page__sidebar">
<AdPlaceholder
<!-- <AdPlaceholder
v-if="!auth.user || !isPermission(auth.user.badges, 1 << 0) || flags.showAdsWithPlus"
/>
/> -->
<div class="card flex-card">
<h2>Members</h2>
@@ -265,7 +265,7 @@ import NavStackItem from "~/components/ui/NavStackItem.vue";
import ModalCreation from "~/components/ui/ModalCreation.vue";
import UpToDate from "~/assets/images/illustrations/up_to_date.svg?component";
import ProjectCard from "~/components/ui/ProjectCard.vue";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
import OrganizationIcon from "~/assets/images/utils/organization.svg?component";
import DownloadIcon from "~/assets/images/utils/download.svg?component";

View File

@@ -50,12 +50,12 @@
}"
aria-label="Filters"
>
<AdPlaceholder
<!-- <AdPlaceholder
v-if="
(!auth.user || !isPermission(auth.user.badges, 1 << 0) || flags.showAdsWithPlus) &&
!server
"
/>
/> -->
<div v-if="filtersMenuOpen" class="fixed inset-0 z-40 bg-bg"></div>
<div
class="flex flex-col gap-3"
@@ -322,7 +322,7 @@ import FilterIcon from "~/assets/images/utils/filter.svg?component";
import GridIcon from "~/assets/images/utils/grid.svg?component";
import ListIcon from "~/assets/images/utils/list.svg?component";
import ImageIcon from "~/assets/images/utils/image.svg?component";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
import NavTabs from "~/components/ui/NavTabs.vue";
const { formatMessage } = useVIntl();

View File

@@ -246,9 +246,9 @@
</div>
</div>
</div>
<AdPlaceholder
<!-- <AdPlaceholder
v-if="!auth.user || !isPermission(auth.user.badges, 1 << 0) || flags.showAdsWithPlus"
/>
/> -->
</div>
</div>
</div>
@@ -285,7 +285,7 @@ import WorldIcon from "~/assets/images/utils/world.svg?component";
import ModalCreation from "~/components/ui/ModalCreation.vue";
import Avatar from "~/components/ui/Avatar.vue";
import CollectionCreateModal from "~/components/ui/CollectionCreateModal.vue";
import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
// import AdPlaceholder from "~/components/ui/AdPlaceholder.vue";
const data = useNuxtApp();
const route = useNativeRoute();

View File

@@ -2,12 +2,12 @@ use serde::{Deserialize, Serialize};
use tokio::io;
const PACKAGE_JSON_CONTENT: &str =
include_str!("../../../../apps/app-frontend/package.json");
// include_str!("../../../../apps/app-frontend/package.json");
include_str!("../../../../apps/app/tauri.conf.json");
#[derive(Serialize, Deserialize)]
pub struct Launcher {
pub version: String,
pub development_build: bool,
pub version: String
}
pub fn read_package_json() -> io::Result<Launcher> {

7191
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff