Compare commits
1 Commits
cal/fix-ja
...
alex/remov
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d73e21c5a5 |
@@ -62,18 +62,18 @@ During development, you might notice that changes made directly to entities in t
|
||||
|
||||
#### Basic configuration
|
||||
|
||||
`DEBUG`: Whether debugging tools should be enabled
|
||||
`RUST_LOG`: Specifies what information to log, from rust's [`env-logger`](https://github.com/env-logger-rs/env_logger); a reasonable default is `info,sqlx::query=warn`
|
||||
`SITE_URL`: The main URL to be used for CORS
|
||||
`CDN_URL`: The publicly accessible base URL for files uploaded to the CDN
|
||||
`MODERATION_DISCORD_WEBHOOK`: The URL for a Discord webhook where projects pending approval will be sent
|
||||
`CLOUDFLARE_INTEGRATION`: Whether labrinth should integrate with Cloudflare's spam protection
|
||||
`DATABASE_URL`: The URL for the PostgreSQL database
|
||||
`DATABASE_MIN_CONNECTIONS`: The minimum number of concurrent connections allowed to the database at the same time
|
||||
`DATABASE_MAX_CONNECTIONS`: The maximum number of concurrent connections allowed to the database at the same time
|
||||
`MEILISEARCH_ADDR`: The URL for the MeiliSearch instance used for search
|
||||
`MEILISEARCH_KEY`: The name that MeiliSearch is given
|
||||
`BIND_ADDR`: The bind address for the server. Supports both IPv4 and IPv6
|
||||
`DEBUG`: Whether debugging tools should be enabled
|
||||
`RUST_LOG`: Specifies what information to log, from rust's [`env-logger`](https://github.com/env-logger-rs/env_logger); a reasonable default is `info,sqlx::query=warn`
|
||||
`SITE_URL`: The main URL to be used for CORS
|
||||
`CDN_URL`: The publicly accessible base URL for files uploaded to the CDN
|
||||
`MODERATION_DISCORD_WEBHOOK`: The URL for a Discord webhook where projects pending approval will be sent
|
||||
`CLOUDFLARE_INTEGRATION`: Whether Labrinth should integrate with Cloudflare's spam protection
|
||||
`DATABASE_URL`: The URL for the PostgreSQL database, including its username, password, host, port, and database name
|
||||
`DATABASE_MIN_CONNECTIONS`: The minimum number of concurrent connections allowed to the database at the same time
|
||||
`DATABASE_MAX_CONNECTIONS`: The maximum number of concurrent connections allowed to the database at the same time
|
||||
`MEILISEARCH_ADDR`: The URL for the MeiliSearch instance used for search
|
||||
`MEILISEARCH_KEY`: The name that MeiliSearch is given
|
||||
`BIND_ADDR`: The bind address for the server. Supports both IPv4 and IPv6
|
||||
`MOCK_FILE_PATH`: The path used to store uploaded files; this has no default value and will panic if unspecified
|
||||
`SMTP_USERNAME`: The username used to authenticate with the SMTP server
|
||||
`SMTP_PASSWORD`: The password associated with the `SMTP_USERNAME` for SMTP authentication
|
||||
@@ -90,7 +90,7 @@ The S3 configuration options are fairly self-explanatory in name, so here's simp
|
||||
|
||||
#### Search, OAuth, and miscellaneous options
|
||||
|
||||
`LOCAL_INDEX_INTERVAL`: The interval, in seconds, at which the local database is reindexed for searching. Defaults to `3600` seconds (1 hour).
|
||||
`LOCAL_INDEX_INTERVAL`: The interval, in seconds, at which the local database is reindexed for searching. Defaults to `3600` seconds (1 hour).
|
||||
`VERSION_INDEX_INTERVAL`: The interval, in seconds, at which versions are reindexed for searching. Defaults to `1800` seconds (30 minutes).
|
||||
|
||||
The OAuth configuration options are fairly self-explanatory. For help setting up authentication, please contact us on [Discord].
|
||||
@@ -99,8 +99,8 @@ The OAuth configuration options are fairly self-explanatory. For help setting up
|
||||
|
||||
#### Command line options
|
||||
|
||||
`--skip-first-index`: Skips indexing the local database on startup. This is useful to prevent doing unnecessary work when frequently restarting.
|
||||
`--reconfigure-indices`: Resets the MeiliSearch settings for the search indices and exits.
|
||||
`--skip-first-index`: Skips indexing the local database on startup. This is useful to prevent doing unnecessary work when frequently restarting.
|
||||
`--reconfigure-indices`: Resets the MeiliSearch settings for the search indices and exits.
|
||||
`--reset-indices`: Resets the MeiliSearch indices and exits; this clears all previously indexed mods.
|
||||
|
||||
</details>
|
||||
@@ -114,7 +114,7 @@ If you're prepared to contribute by submitting a pull request, ensure you have m
|
||||
- `cargo check` has been run.
|
||||
- `cargo sqlx prepare` has been run.
|
||||
|
||||
> Note: If you encounter issues with `sqlx` saying 'no queries found' after running `cargo sqlx prepare`, you may need to ensure the installed version of `sqlx-cli` matches the current version of `sqlx` used [in labrinth](https://github.com/modrinth/labrinth/blob/master/Cargo.toml).
|
||||
> Note: If you encounter issues with `sqlx` saying 'no queries found' after running `cargo sqlx prepare`, you may need to ensure the installed version of `sqlx-cli` matches the current version of `sqlx` used [in Labrinth](https://github.com/modrinth/labrinth/blob/master/Cargo.toml).
|
||||
|
||||
[Discord]: https://discord.modrinth.com
|
||||
[GitHub]: https://github.com/modrinth
|
||||
|
||||
@@ -50,35 +50,13 @@
|
||||
</div>
|
||||
<div v-else-if="generatedMessage">
|
||||
<div>
|
||||
<ButtonStyled>
|
||||
<button class="mb-2" @click="useSimpleEditor = !useSimpleEditor">
|
||||
<template v-if="!useSimpleEditor">
|
||||
<ToggleLeftIcon aria-hidden="true" />
|
||||
Use simple mode
|
||||
</template>
|
||||
<template v-else>
|
||||
<ToggleRightIcon aria-hidden="true" />
|
||||
Use advanced mode
|
||||
</template>
|
||||
</button>
|
||||
</ButtonStyled>
|
||||
<MarkdownEditor
|
||||
v-if="!useSimpleEditor"
|
||||
v-model="message"
|
||||
:max-height="400"
|
||||
placeholder="No message generated."
|
||||
:disabled="false"
|
||||
:heading-buttons="false"
|
||||
/>
|
||||
<textarea
|
||||
v-else
|
||||
v-model="message"
|
||||
type="text"
|
||||
class="bg-bg-input h-[400px] w-full rounded-lg border border-solid border-divider px-3 py-2 font-mono text-base"
|
||||
placeholder="No message generated."
|
||||
autocomplete="off"
|
||||
@input="persistState"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="isModpackPermissionsStage">
|
||||
@@ -346,8 +324,6 @@ import {
|
||||
CheckIcon,
|
||||
KeyboardIcon,
|
||||
EyeOffIcon,
|
||||
ToggleLeftIcon,
|
||||
ToggleRightIcon,
|
||||
} from "@modrinth/assets";
|
||||
import {
|
||||
checklist,
|
||||
@@ -392,6 +368,7 @@ import {
|
||||
type Stage,
|
||||
finalPermissionMessages,
|
||||
} from "@modrinth/moderation";
|
||||
import * as prettier from "prettier";
|
||||
import ModpackPermissionsFlow from "./ModpackPermissionsFlow.vue";
|
||||
import KeybindsModal from "./ChecklistKeybindsModal.vue";
|
||||
import { useModerationStore } from "~/store/moderation.ts";
|
||||
@@ -415,7 +392,6 @@ const isModpackPermissionsStage = computed(() => {
|
||||
return currentStageObj.value.id === "modpack-permissions";
|
||||
});
|
||||
|
||||
const useSimpleEditor = ref(false);
|
||||
const message = ref("");
|
||||
const generatedMessage = ref(false);
|
||||
const loadingMessage = ref(false);
|
||||
@@ -1142,7 +1118,19 @@ async function generateMessage() {
|
||||
}
|
||||
}
|
||||
|
||||
message.value = fullMessage;
|
||||
try {
|
||||
const formattedMessage = await prettier.format(fullMessage, {
|
||||
parser: "markdown",
|
||||
printWidth: 80,
|
||||
proseWrap: "always",
|
||||
tabWidth: 2,
|
||||
useTabs: false,
|
||||
});
|
||||
message.value = formattedMessage;
|
||||
} catch (formattingError) {
|
||||
console.warn("Failed to format markdown, using original:", formattingError);
|
||||
message.value = fullMessage;
|
||||
}
|
||||
|
||||
generatedMessage.value = true;
|
||||
} catch (error) {
|
||||
|
||||
@@ -169,8 +169,6 @@ import _TerminalSquareIcon from './icons/terminal-square.svg?component'
|
||||
import _TestIcon from './icons/test.svg?component'
|
||||
import _TextQuoteIcon from './icons/text-quote.svg?component'
|
||||
import _TimerIcon from './icons/timer.svg?component'
|
||||
import _ToggleLeftIcon from './icons/toggle-left.svg?component'
|
||||
import _ToggleRightIcon from './icons/toggle-right.svg?component'
|
||||
import _TransferIcon from './icons/transfer.svg?component'
|
||||
import _TrashIcon from './icons/trash.svg?component'
|
||||
import _TriangleAlertIcon from './icons/triangle-alert.svg?component'
|
||||
@@ -364,8 +362,6 @@ export const TerminalSquareIcon = _TerminalSquareIcon
|
||||
export const TestIcon = _TestIcon
|
||||
export const TextQuoteIcon = _TextQuoteIcon
|
||||
export const TimerIcon = _TimerIcon
|
||||
export const ToggleLeftIcon = _ToggleLeftIcon
|
||||
export const ToggleRightIcon = _ToggleRightIcon
|
||||
export const TransferIcon = _TransferIcon
|
||||
export const TrashIcon = _TrashIcon
|
||||
export const TriangleAlertIcon = _TriangleAlertIcon
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-toggle-left-icon lucide-toggle-left"><circle cx="9" cy="12" r="3"/><rect width="20" height="14" x="2" y="5" rx="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 324 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-toggle-right-icon lucide-toggle-right"><circle cx="15" cy="12" r="3"/><rect width="20" height="14" x="2" y="5" rx="7"/></svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
Reference in New Issue
Block a user