Files
asc-asset-manager/src/settings.js
Anthony Correa aba086d7f0 Add initial implementation for AscAssetManager module
This commit introduces the following key features:

- **New `.gitignore`**:
  - Ignores `.vscode`, `.eslintrc.js`, and `dist/module.zip`.

- **Core functionality**:
  - Created `src/main.js` to implement the `AscAssetManager` class with methods to manage file uploads, categories, tags, and settings registration.
  - Introduced hooks for rendering and managing custom upload dialogs and forms.

- **Configuration and settings**:
  - Added `src/settings.js` to register settings for features like enabling/disabling, root directory configuration, and theme selection.

- **Templates**:
  - Added `upload-choose.hbs` for the file selection dialog.
  - Added `upload-form.hbs` for the file metadata customization dialog.

- **Utilities**:
  - Added `src/utils.js` with helper functions for file parsing, metadata handling, and filename creation.

- **Styling**:
  - Added `style.css` for styling upload areas.

- **Module metadata**:
  - Added `module.json` with module details, compatibility, and dependencies.

This commit establishes the foundational structure and functionality for the AscAssetManager module.
2025-01-19 10:52:44 -06:00

48 lines
1.2 KiB
JavaScript

export function registerSettings(ID) {
console.log("Registering settings for My Module...");
// Register the "enableFeature" setting
game.settings.register(ID, "enableFeature", {
name: "Enable Feature",
hint: "Enable or disable the special feature of this module.",
scope: "world",
config: true,
type: Boolean,
default: true,
onChange: value => {
console.log(`Enable Feature setting changed to: ${value}`);
}
});
// Register the "customMessage" setting
game.settings.register(ID, "rootDirectory", {
name: "Root Directory",
hint: "Root Directory to save files",
scope: "client",
config: true,
type: String,
default: `worlds/${game.data.world.id}/`,
filePicker: "folder",
onChange: value => {
console.log(`Custom Message changed to: ${value}`);
}
});
// Register a dropdown setting
game.settings.register(ID, "theme", {
name: "Select Theme",
hint: "Choose a theme for the module.",
scope: "world",
config: true,
type: String,
choices: {
light: "Light Theme",
dark: "Dark Theme",
system: "Use System Default"
},
default: "system",
onChange: value => {
console.log(`Theme changed to: ${value}`);
}
});
}