Neo-Tokyo Neon Noir design pour fiches items
- Nouvelle palette : #080c14 fond, accents néon par type (#00d4d4 item, #ff3d5a kungfu, #4a9eff spell, #cc44ff supernatural) - Nouveaux composants LESS : .cde-neon-header (clip-path angulaire + accent line), .cde-avatar (clip-path), .cde-stat-grid/.cde-stat-cell (style terminal), .cde-badge (parallélogramme), .cde-neon-tabs (underline néon animé), .cde-check-cell - Fix layout : .cde-sheet width: 100% + height: 100% + overflow: hidden, .cde-tab-body flex: 1 + min-height: 0, .cde-notes-editor flex stretch - Fix positions : DEFAULT_OPTIONS height explicite pour tous les types (item 620x580, spell 660x680, kungfu 720x680, supernatural 560x520) - 4 templates items reécrits avec nouvelles classes et structure épurée Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
43
src/ui/sheets/items/base.js
Normal file
43
src/ui/sheets/items/base.js
Normal file
@@ -0,0 +1,43 @@
|
||||
const { HandlebarsApplicationMixin } = foundry.applications.api
|
||||
|
||||
export class CDEBaseItemSheet extends HandlebarsApplicationMixin(foundry.applications.sheets.ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["fvtt-chroniques-de-l-etrange", "item"],
|
||||
position: { width: 520, height: "auto" },
|
||||
window: { resizable: true },
|
||||
form: { submitOnChange: true },
|
||||
actions: {},
|
||||
}
|
||||
|
||||
tabGroups = { primary: "description" }
|
||||
|
||||
async _prepareContext() {
|
||||
const cssClass = this.options.classes?.join(" ") ?? ""
|
||||
const enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.description ?? "", { async: true })
|
||||
const enrichedNotes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.notes ?? "", { async: true })
|
||||
return {
|
||||
item: this.document,
|
||||
system: this.document.system,
|
||||
systemData: this.document.system,
|
||||
editable: this.isEditable,
|
||||
cssClass,
|
||||
enrichedDescription,
|
||||
enrichedNotes,
|
||||
descriptionHTML: enrichedDescription,
|
||||
notesHTML: enrichedNotes,
|
||||
}
|
||||
}
|
||||
|
||||
async _onFirstRender(context, options) {
|
||||
await super._onFirstRender(context, options)
|
||||
for (const [group, tab] of Object.entries(this.tabGroups)) {
|
||||
this.changeTab(tab, group, { force: true })
|
||||
}
|
||||
}
|
||||
|
||||
_onRender(context, options) {
|
||||
for (const [group, tab] of Object.entries(this.tabGroups)) {
|
||||
this.changeTab(tab, group, { force: true })
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user