あいもげ 共通UIライブラリ

あいもげ用のユーザースクリプト向けの、共通設定モーダル・UI描画ライブラリです。

이 스크립트는 직접 설치하는 용도가 아닙니다. 다른 스크립트에서 메타 지시문 // @require https://update.greasyfork.org/scripts/593408/1916229/%E3%81%82%E3%81%84%E3%82%82%E3%81%92%20%E5%85%B1%E9%80%9AUI%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA.js을(를) 사용하여 포함하는 라이브러리입니다.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
Feldschlacht
버전
1.0.2
생성일
2026-08-29
갱신일
2026-08-29
크기
43.4KB
라이선스
MIT

あいもげ向けのユーザースクリプトを作成する際に、
ダーク/ライトテーマに連動した設定モーダルや共通処理を簡単に構築できるライブラリです。

導入方法

ユーザースクリプトのメタデータブロックに本ライブラリの @require を追加してください。

// ==UserScript==
// @name         あなたのスクリプト名
// @match        https://nijiurachan.net/*
// @require      https://update.greasyfork.org/scripts/593408/1916228/aimoge-ui-core.js
// @grant        GM_registerMenuCommand
// ==/UserScript==

基本的な使い方

設定の設計図 (Schema配列) を渡すだけで設定画面が自動生成されます。

const ui = AimogeUI.createSettingsModal({
    storageKey: 'my_script_settings',
    title: '設定 (マイ拡張機能)',
    tabs: [{ id: 'general', label: '全般' }],
    items: [
        { tab: 'general', type: 'switch', id: 'enableFeatureA', label: '機能Aを有効にする' }
    ],
    defaultSettings: { enableFeatureA: true },
    toolbarButton: { enableKey: 'enableFeatureA', label: 'マイ設定' }
});

// メニューから手動で開く場合
AimogeUI.registerMenuCommand('設定を開く', () => ui.show());

主な機能

  • 設定モーダル: タブ切替、ESCキー/外側クリック閉じ、ドラッグ移動、4辺リサイズハンドル。
  • テーマ連動: あいもげのダークモード / ライトモードに自動追従する配色。
  • UIパーツ: switch, select, number, group, inputGroup, button, section, custom。
  • 共通ユーティリティ:
    • AimogeUI.isDark(): テーマ判定
    • AimogeUI.getFontFamily(): あいもげ本体の指定フォント取得
    • AimogeUI.cleanPUA(text): ダイス装飾等の私用領域文字除去
    • AimogeUI.registerMenuCommand(name, callback): 安全なメニュー登録

更新履歴

  • 1.0.2:
    • 設定ダイアログ上でホイール回転した時に、
      スクロールが背景に伝播してしまう場合があった問題を修正(伝播を遮断)
  • 1.0.1:
    • 設定ダイアログが画面外に出すぎない仕組みを追加