diff --git a/README.md b/README.md index ef6232d6..0fe83685 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ If you wish to contact me for any reason, reach me out on Discord using my tag: ## Acknowledgments +* Great thanks to sdenec for his invaluable help with UI overhaul! * Thanks to Atropos for his relentless work on developing and improving the Foundry VTT * Thanks to necxelos, TomChristoffer and Kralug for their massive lists of suggestions * Thanks to Brother Sharp for providing Japanese translation diff --git a/changelog.md b/changelog.md index cf48a365..32acdceb 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,17 @@ # Changelog +## v0.5.0 +* Quest Log UI Overhaul, big thanks to sdenec for designing new UI and for help implementing it! +* Quests can now have Quest Source that consists of custom image and name, without relying on any existing Entity +* Quest are now sortable in Quest Log +* Rewards and Tasks are now sortable in Quest Details +* You can now click on Item Rewards and preview item sheet. +* Removed old Welcome Screen +* Added prompt to install new Workshop's Welcome Screen +* Tested and bumped compatible core version to 0.7.1 +* [BUG] Subquest inherits description and gm notes from parent +* [BUG] Error when invalid quest or non-quest journal entry is present in `_fql_quests` folder + ### v0.4.4 * Added compatibility changes to work with D&D5E Dark Mode module by Stryxin * Added Brazilian Portuguese translation thanks to Discord member Innocenti diff --git a/lang/en.json b/lang/en.json index aaa7ddbe..0fa3c444 100644 --- a/lang/en.json +++ b/lang/en.json @@ -3,47 +3,49 @@ "NewQuest": "New Quest", "QuestLogButton": "Quest Log", "Quests": "{0} Quests", - "SampleReward": "f.e. 300 Experience Points", - "SampleTask": "f.e. Kill all rats in „The Twisted Ankle” inn", + "SampleReward": "e.g. 300 Experience Points", + "SampleTask": "e.g. Kill all rats in „The Twisted Ankle” inn", "QuestTypes": { "InProgress": "Active", "Completed": "Completed", "Failed": "Failed", - "Hidden": "Hidden", + "Hidden": "Inactive", "Labels": { "available": "available", "active": "in progress", "completed": "completed", "failed": "failed", - "hidden": "hidden" + "hidden": "inactive" } }, "Buttons": { "AddNewQuest": "Add new Quest", - "AddNewTask": "add new" + "AddNewTask": "Add new Objective", + "AddNewFolder": "Add new Folder" }, "QuestForm": { "Title": "Add new Quest", - "QuestGiver": "Quest giver", - "QuestGiverPlaceholder": "Actor's name or entity's UUID", - "QuestTitle": "Quest's title", - "DragDropActor": "Drag & Drop Actor, Item or JournalEntry here to set it as Quest Giver", - "QuestDescription": "Quest description", - "QuestGMNotes": "GM notes", - "Submit": "Submit", + "QuestGiver": "Quest Source", + "QuestGiverPlaceholder": "Enter Actor's name or entity's UUID to set a Quest Source", + "QuestGiverNamePlaceholder": "You selected custom image, please provide name for Quest Source", + "QuestTitle": "Quest Title", + "DragDropActor": "Drag & Drop Actor, Item or Journal Entry here to set a Quest Source", + "QuestDescription": "Quest Description", + "QuestGMNotes": "GM Notes", + "Submit": "Add to Quest Log", "SubquestOf": "Subquest of {name}" }, "QuestLog": { "Title": "Quest Log", - "SubTitle": "part of: {0}", + "SubTitle": "Subquest of {0}", "Table": { - "QuestGiver": "Quest Giver", + "QuestGiver": "Quest Source", "QuestTitle": "Title", - "Tasks": "Tasks", + "Tasks": "Objectives", "Actions": "Actions" }, "Tabs": { @@ -51,28 +53,28 @@ "InProgress": "In progress", "Completed": "Completed", "Failed": "Failed", - "Hidden": "Hidden" + "Hidden": "Inactive" } }, "QuestPreview": { "Title": "Quest Details", - "SubTitle": "part of: {0}", + "SubTitle": "Subquest of {0}", "Objectives": "Objectives", "Rewards": "Rewards", "DragDropRewards": "Drag & drop items here to add them as rewards", - "InvalidQuestId": "Cannot open Quest's Preview due to invalid Quest ID.", + "InvalidQuestId": "Cannot open Quest Preview due to invalid Quest ID.", "HeaderButtons": { - "Show": "Show Players" + "Show": "Show to Players" }, "Management": { - "IsPersonalQuest": "Is Personal Quest?", - "IsPersonalQuestDescription": "Check to mark quest as Personal. It will be invisible to all players except those specifically marked below. Unchecking this option will remove all permissions and move quest to Hidden tab.", + "IsPersonalQuest": "Mark Quest as Personal", + "IsPersonalQuestDescription": "This Quest will only be visible to the selected players. Unchecking this option will remove all permissions and set the quest as inactive.", "SplashArt": "Splash Art", "QuestBranching": "Sub Quests", - "AddSubquest": "Create Sub Quest", - "CanPlayerEdit": "Allow players edit Details" + "AddSubquest": "Create new Sub Quest", + "CanPlayerEdit": "Allow Players to edit Quest Details" }, "Tabs": { @@ -102,43 +104,43 @@ "Notifications": { "CannotOpen": "Cannot open Quest Details. You may lack permissions, Quest might not exist anymore, or provided ID was invalid.", "UserCantOpen": "User {user} doesn't have permission to open this quest.", - "LinkCopied": "Entity Link for this quest has been copied to clipboard", - "QuestMoved": "Moved quest to new folder and gave it new status: {target}" + "LinkCopied": "Entity Link for this quest has been copied to clipboard.", + "QuestMoved": "Moved quest to new folder and gave it new status: {target}." }, "Settings": { "allowPlayersDrag": { - "Enable": "Allow Players drag Rewards", - "EnableHint": "Check to allow Players drag Rewards from Quest's Details window to their Owned Actors." + "Enable": "Allow Players to drag Rewards to their Inventory", + "EnableHint": "Check to allow Players to drag Rewards from a Quest Details window to their owned Actors." }, "availableQuests": { "Enable": "Show Available Tab", - "EnableHint": "Check to show new, \"Available\" tab in Quest Log, where players can see all non-hidden Quests before they are accepted." + "EnableHint": "Check to show the \"Available\" tab in the Quest Log Menu where players can see all non-inactive Quests before they are accepted." }, "countHidden": { "Enable": "Count hidden Tasks", "EnableHint": "If checked, the number of completed/total tasks will include hidden tasks." }, "navStyle": { - "Enable": "Navigation style", + "Enable": "Navigation Style", "EnableHint": "Decide how Quest Log's navigation should be displayed.", "bookmarks": "Bookmarks", "classic": "Classic tabs" }, "showFolder": { - "Enable": "Show quest Folder", - "EnableHint": "Check to show quest data Folder in Journal tab. For DEBUG purposes only." + "Enable": "Show Quest Folder", + "EnableHint": "Check to show quest data folder in Journal tab. For DEBUG purposes only." }, "showTasks": { "Enable": "Show tasks in Quest Log", - "EnableHint": "Decide if or how to show amount of Tasks (objectives) next to Quest's title in Quest Log. This has no effect on Quest individual preview.", - "default": "Show tasks: done/total", - "onlyCurrent": "Show tasks: done", - "no": "Hide \"tasks\" column" + "EnableHint": "Decide if or how to show the amount of Objectives next to the Quest Title in Quest Log. This has no effect on the Quest Preview.", + "default": "Show Objectives: done/total", + "onlyCurrent": "Show Objectives: done", + "no": "Hide \"Objectives\" column" }, "titleAlign": { - "Enable": "Quest's title alignment", - "EnableHint": "Decide how to position quests' titles in Quest Log's table.", + "Enable": "Quest Title Alignment", + "EnableHint": "Decide how to position Quest Titles in the Quest Log Table.", "left": "Aligned to left", "center": "Centered" }, @@ -147,12 +149,12 @@ "EnableHint": "Uncheck to prevent players from seeing Welcome Screen on log in after an update. They might still see it by clicking 'help' icon in Quest Log." }, "allowPlayersAccept": { - "Enable": "Players can Accept", + "Enable": "Players can accept Quests", "EnableHint": "Check to allow players to accept Quests from Available tab." }, "allowPlayersCreate": { - "Enable": "Players can Create", - "EnableHint": "Check to allow players to create Quests. Player created Quests will land in Available tab with Player Edit permissions. REQUIRES 'create journal' core permission." + "Enable": "Players can create", + "EnableHint": "Check to allow players to create Quests. Player created Quests will appear in Available tab with Player Edit permissions. REQUIRES 'create journal' core permission." } }, @@ -161,16 +163,17 @@ "SetActive": "Set as In Progress", "SetCompleted": "Set as Completed", "SetFailed": "Set as Failed", - "Hide": "Hide", + "Hide": "Set as Inactive", "Delete": "Delete", - "AddAbstractReward": "Add abstract reward", - "PersonalQuestButNoPlayers": "This is personal quest, but nobody sees it", - "PersonalQuestVisibleFor": "This is personal quest for", - "RewardHidden": "Reward is Hidden. Click to show.", - "RewardVisible": "Reward is Visible. Click to hide.", - "TaskHidden": "Task is Hidden. Click to show.", - "TaskVisible": "Task is Visible. Click to hide.", - "ToggleImage": "Toggle token/actor image" + "Edit": "Edit", + "AddAbstractReward": "Add Abstract Reward", + "PersonalQuestButNoPlayers": "This is a Personal Quest, but no Players are assigned", + "PersonalQuestVisibleFor": "This is a Personal Quest for", + "RewardHidden": "Reward is hidden. Click to show.", + "RewardVisible": "Reward is visible. Click to hide.", + "TaskHidden": "Objective is hidden. Click to show.", + "TaskVisible": "Objective is visible. Click to hide.", + "ToggleImage": "Toggle Token/Actor image" }, "Api": { @@ -194,7 +197,7 @@ }, "task": { "create": { - "name": "API Error: Name property is required to create new Task" + "name": "API Error: Name property is required to create new Objective" } } } diff --git a/lang/missing/cn.json b/lang/missing/cn.json index 08f81bec..55b389fe 100644 --- a/lang/missing/cn.json +++ b/lang/missing/cn.json @@ -1,3 +1,6 @@ { - "ForienQuestLog.QuestPreview.SubTitle": "" + "ForienQuestLog.QuestPreview.SubTitle": "", + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" } \ No newline at end of file diff --git a/lang/missing/de.json b/lang/missing/de.json index f441bd01..9143a11a 100644 --- a/lang/missing/de.json +++ b/lang/missing/de.json @@ -35,18 +35,21 @@ "ForienQuestLog.Notifications.UserCantOpen": "", "ForienQuestLog.QuestPreview.SubTitle": "", "ForienQuestLog.Tooltips.SetAvailable": "", + "ForienQuestLog.Tooltips.Edit": "", "ForienQuestLog.Tooltips.TaskHidden": "", "ForienQuestLog.Tooltips.TaskVisible": "", "ForienQuestLog.Tooltips.AddAbstractReward": "", "ForienQuestLog.Tooltips.RewardHidden": "", "ForienQuestLog.Tooltips.RewardVisible": "", + "ForienQuestLog.QuestPreview.Management.CanPlayerEdit": "", "ForienQuestLog.QuestPreview.Management.IsPersonalQuest": "", "ForienQuestLog.QuestPreview.Management.IsPersonalQuestDescription": "", "ForienQuestLog.QuestPreview.Management.SplashArt": "", "ForienQuestLog.QuestPreview.Management.QuestBranching": "", "ForienQuestLog.QuestPreview.Management.AddSubquest": "", - "ForienQuestLog.QuestPreview.Management.CanPlayerEdit": "", "ForienQuestLog.QuestForm.DragDropActor": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", "ForienQuestLog.QuestLog.Tabs.Available": "", + "ForienQuestLog.Buttons.AddNewFolder": "", "ForienQuestLog.QuestPreview.Tabs.QuestManagement": "" } \ No newline at end of file diff --git a/lang/missing/es.json b/lang/missing/es.json index 9e26dfee..7eaddf9c 100644 --- a/lang/missing/es.json +++ b/lang/missing/es.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" +} \ No newline at end of file diff --git a/lang/missing/fr.json b/lang/missing/fr.json index 643ad4c9..7eaddf9c 100644 --- a/lang/missing/fr.json +++ b/lang/missing/fr.json @@ -1,22 +1,5 @@ { - "ForienQuestLog.QuestForm.SubquestOf": "", - "ForienQuestLog.CloseDialog.Title": "", - "ForienQuestLog.CloseDialog.Header": "", - "ForienQuestLog.CloseDialog.Body": "", - "ForienQuestLog.CloseDialog.Cancel": "", - "ForienQuestLog.CloseDialog.Discard": "", - "ForienQuestLog.Notifications.LinkCopied": "", - "ForienQuestLog.Settings.allowPlayersCreate.Enable": "", - "ForienQuestLog.Settings.allowPlayersCreate.EnableHint": "", - "ForienQuestLog.Settings.allowPlayersAccept.Enable": "", - "ForienQuestLog.Settings.allowPlayersAccept.EnableHint": "", - "ForienQuestLog.Settings.countHidden.Enable": "", - "ForienQuestLog.Settings.countHidden.EnableHint": "", - "ForienQuestLog.Settings.playersWelcomeScreen.Enable": "", - "ForienQuestLog.Settings.playersWelcomeScreen.EnableHint": "", - "ForienQuestLog.QuestPreview.SubTitle": "", - "ForienQuestLog.QuestPreview.Management.SplashArt": "", - "ForienQuestLog.QuestPreview.Management.QuestBranching": "", - "ForienQuestLog.QuestPreview.Management.AddSubquest": "", - "ForienQuestLog.QuestPreview.Management.CanPlayerEdit": "" + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" } \ No newline at end of file diff --git a/lang/missing/ja.json b/lang/missing/ja.json index 9e26dfee..7eaddf9c 100644 --- a/lang/missing/ja.json +++ b/lang/missing/ja.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" +} \ No newline at end of file diff --git a/lang/missing/ko.json b/lang/missing/ko.json index 9e26dfee..7eaddf9c 100644 --- a/lang/missing/ko.json +++ b/lang/missing/ko.json @@ -1 +1,5 @@ -{} \ No newline at end of file +{ + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" +} \ No newline at end of file diff --git a/lang/missing/pl.json b/lang/missing/pl.json index 2828fa68..db914e22 100644 --- a/lang/missing/pl.json +++ b/lang/missing/pl.json @@ -14,8 +14,11 @@ "ForienQuestLog.Settings.countHidden.Enable": "", "ForienQuestLog.Settings.countHidden.EnableHint": "", "ForienQuestLog.QuestPreview.SubTitle": "", + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestPreview.Management.CanPlayerEdit": "", "ForienQuestLog.QuestPreview.Management.SplashArt": "", "ForienQuestLog.QuestPreview.Management.QuestBranching": "", "ForienQuestLog.QuestPreview.Management.AddSubquest": "", - "ForienQuestLog.QuestPreview.Management.CanPlayerEdit": "" + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" } \ No newline at end of file diff --git a/lang/missing/pt-BR.json b/lang/missing/pt-BR.json new file mode 100644 index 00000000..55b389fe --- /dev/null +++ b/lang/missing/pt-BR.json @@ -0,0 +1,6 @@ +{ + "ForienQuestLog.QuestPreview.SubTitle": "", + "ForienQuestLog.Tooltips.Edit": "", + "ForienQuestLog.QuestForm.QuestGiverNamePlaceholder": "", + "ForienQuestLog.Buttons.AddNewFolder": "" +} \ No newline at end of file diff --git a/module.json b/module.json index 6f3decec..588ac33d 100644 --- a/module.json +++ b/module.json @@ -9,15 +9,16 @@ "url": "https://www.patreon.com/forien" } ], - "version": "0.4.4", + "version": "0.5.0", "minimumCoreVersion": "0.6.0", - "compatibleCoreVersion": "0.6.3", + "compatibleCoreVersion": "0.7.1", "url": "https://github.com/Forien/foundryvtt-forien-quest-log", "manifest": "https://raw.githubusercontent.com/Forien/foundryvtt-forien-quest-log/master/module.json", - "download": "https://github.com/Forien/foundryvtt-forien-quest-log/releases/download/v0.4.4/v0.4.4.zip", - "readme": "https://github.com/Forien/foundryvtt-forien-quest-log/blob/v0.4.4/README.md", - "changelog": "https://github.com/Forien/foundryvtt-forien-quest-log/blob/v0.4.4/changelog.md", + "download": "https://github.com/Forien/foundryvtt-forien-quest-log/releases/download/v0.5.0/v0.5.0.zip", + "readme": "https://github.com/Forien/foundryvtt-forien-quest-log/blob/v0.5.0/README.md", + "changelog": "https://github.com/Forien/foundryvtt-forien-quest-log/blob/v0.5.0/changelog.md", "bugs": "https://github.com/Forien/foundryvtt-forien-quest-log/issues", + "wiki": "https://github.com/Forien/foundryvtt-forien-quest-log/wiki", "languages": [ { "lang": "de", @@ -65,6 +66,9 @@ "path": "lang/pt-BR.json" } ], + "scripts": [ + "./scripts/prompt.mjs" + ], "esmodules": [ "./modules/init.mjs" ], diff --git a/modules/apps/quest-form.mjs b/modules/apps/quest-form.mjs index dc3dd9b4..ffb56451 100644 --- a/modules/apps/quest-form.mjs +++ b/modules/apps/quest-form.mjs @@ -36,12 +36,12 @@ export default class QuestForm extends FormApplication { if (this.subquest) this.options.title += ` – ${game.i18n.format('ForienQuestLog.QuestForm.SubquestOf', {name: parent.name})}`; - return mergeObject(super.getData(), { - options: options, + return { isGM: game.user.isGM, subquest: this.subquest, - parent: parent - }); + parent: parent, + options: mergeObject(this.options, options) + }; } /** @@ -107,6 +107,12 @@ export default class QuestForm extends FormApplication { permission = 3; } + if (formData.giver === 'abstract') { + data.giver = formData.giver; + data.image = formData.sourceImage; + data.giverName = formData.giverName; + } + if (this.subquest) { data.parent = this.object._id; } @@ -165,6 +171,19 @@ export default class QuestForm extends FormApplication { } + /** + * Need to override because of earlier bad design caused bug with text editors inheriting parent's data + * + * @param div + * @private + */ + _activateEditor(div) { + const temp = this.object; + this.object = undefined; + super._activateEditor(div); + this.object = temp; + } + /** * Fired whenever any of TinyMCE editors is saved. * Just pass data to object's property, we handle save in one go after submit @@ -208,15 +227,16 @@ export default class QuestForm extends FormApplication { if (giver) { if (giver.data.img.length) { - html.find('.giver-portrait').attr('src', giver.data.img).removeClass('hidden'); + html.find('.giver-portrait').attr({ + 'style': 'background-image:url(' + giver.data.img + ')', + 'title': giver.name + }).removeClass('hidden'); } else { - html.find('.giver-portrait').addClass('hidden'); + html.find('.giver-portrait').attr('style', '').addClass('hidden'); } - html.find('.giver-name').text(giver.name).removeClass('hidden'); html.find('.drop-info').addClass('hidden'); } else { html.find('.giver-portrait').addClass('hidden'); - html.find('.giver-name').addClass('hidden'); html.find('.drop-info').removeClass('hidden'); } }); @@ -226,7 +246,8 @@ export default class QuestForm extends FormApplication { let data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); if (['Actor', 'Item', 'JournalEntry'].includes(data.type)) { let uuid = `${data.type}.${data.id}`; - html.find('#giver').val(uuid).change(); + html.find('#giver').val(uuid).prop('readonly', false).change(); + html.find('.quest-giver-name').slideUp(); } }); @@ -240,5 +261,20 @@ export default class QuestForm extends FormApplication { }); }); }); + + html.on("click", ".source-image", () => { + let currentPath = html.find('.quest-giver-name').val(); + new FilePicker({ + type: "image", + current: currentPath, + callback: path => { + html.find('#giver').val('abstract').prop('readonly', true); + html.find('#sourceImage').val(path); + html.find('.quest-giver-name').slideDown(); + html.find('.giver-portrait').css('background-image', `url(${path})`).removeClass('hidden'); + html.find('.drop-info').addClass('hidden'); + }, + }).browse(currentPath); + }); } }; diff --git a/modules/apps/quest-log.mjs b/modules/apps/quest-log.mjs index cd52f9a2..742712a5 100644 --- a/modules/apps/quest-log.mjs +++ b/modules/apps/quest-log.mjs @@ -1,7 +1,6 @@ import Quest from "../entities/quest.mjs"; import QuestPreview from "./quest-preview.mjs"; import QuestForm from "./quest-form.mjs"; -import renderWelcomeScreen from "../versioning/welcome-screen.mjs"; import Socket from "../utility/socket.mjs"; export default class QuestLog extends Application { @@ -27,19 +26,6 @@ export default class QuestLog extends Application { }); } - _getHeaderButtons() { - const buttons = super._getHeaderButtons(); - - buttons.unshift({ - label: "", - class: "help", - icon: "fas fa-question-circle", - onclick: ev => renderWelcomeScreen() - }); - - return buttons - } - /** * Retrieves Data to be used in rendering template. * @@ -56,7 +42,7 @@ export default class QuestLog extends Application { canCreate: game.settings.get("forien-quest-log", "allowPlayersCreate"), showTasks: game.settings.get("forien-quest-log", "showTasks"), style: game.settings.get("forien-quest-log", "navStyle"), - titleAlign: game.settings.get("forien-quest-log", "titleAlign"), + // titleAlign: game.settings.get("forien-quest-log", "titleAlign"), questTypes: Quest.getQuestTypes(), quests: Quest.getQuests(this.sortBy, this.sortDirection, available, true) }); @@ -109,7 +95,7 @@ export default class QuestLog extends Application { }); html.on("click", ".title", event => { - let questId = $(event.target).data('quest-id'); + let questId = $(event.target).closest('.title').data('quest-id'); let questPreview = new QuestPreview(questId); questPreview.render(true); }); @@ -127,5 +113,26 @@ export default class QuestLog extends Application { event.originalEvent.dataTransfer.setData("text/plain", JSON.stringify(dataTransfer)); }); + + html.on("drop", ".tab", event => { + const dt = event.target.closest('.drag-quest') || null; + if (!dt) return; + + const data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); + const id = data.id; + const journal = game.journal.get(id); + if (!journal) return; + + const quest = Quest.get(id); + if (!quest) return; + + const sortData = {sortKey: "sort", sortBefore: true}; + const targetId = dt.dataset.questId; + sortData.target = game.journal.get(targetId); + const ids = Quest.getQuests()[quest.status].map(q => q.id); + sortData.siblings = game.journal.filter(e => (e._id !== data.id && ids.includes(e._id))); + + journal.sortRelative(sortData).then(() => this.render()); + }); } }; diff --git a/modules/apps/quest-preview.mjs b/modules/apps/quest-preview.mjs index ebbb1d60..2e3b0d0e 100644 --- a/modules/apps/quest-preview.mjs +++ b/modules/apps/quest-preview.mjs @@ -16,6 +16,12 @@ export default class QuestPreview extends FormApplication { if (!this.quest) throw new Error(game.i18n.localize("ForienQuestLog.QuestPreview.InvalidQuestId")); } + set object(value) {} + + get object() { + return this.quest; + } + /** * Default Application options * @@ -46,8 +52,8 @@ export default class QuestPreview extends FormApplication { * @returns {Promise} */ async getData(options = {}) { - let content = duplicate(this.quest); - content = Quest.populate(content, this.quest.entry); + let quest = duplicate(this.quest); + let content = Quest.populate(quest, this.quest.entry); this.canEdit = (content.playerEdit || game.user.isGM); this.playerEdit = content.playerEdit; @@ -234,6 +240,21 @@ export default class QuestPreview extends FormApplication { activateListeners(html) { super.activateListeners(html); + html.on('click', '.splash-image-link', (event) => { + (new ImagePopout(this.quest.splash, {shareable: true})).render(true) + }); + + html.on('dragstart', '.fa-sort', (event) => { + event.stopPropagation(); + const li = event.target.closest('li') || null; + if (!li) return; + let dataTransfer = { + mode: "Sort", + index: $(li).data('index') + }; + event.originalEvent.dataTransfer.setData("text/plain", JSON.stringify(dataTransfer)); + }); + html.on('dragstart', '.item-reward', (event) => { let dataTransfer = { type: "Item", @@ -242,15 +263,23 @@ export default class QuestPreview extends FormApplication { event.originalEvent.dataTransfer.setData("text/plain", JSON.stringify(dataTransfer)); }); + html.on("click", ".item-reward", (event) => { + let data = $(event.currentTarget).data('transfer'); + delete data._id; + delete data.permission; + let item = new CONFIG.Item.entityClass(data); + item.sheet.render(true); + }); + html.on("click", ".quest-name", (event) => { - let id = $(event.target).data('id'); + let id = $(event.currentTarget).data('id'); Quests.open(id); }); html.on("click", ".open-actor-sheet", (event) => { let actorId = $(event.target).data('actor-id'); let actor = game.actors.get(actorId); - if (actor.permission > 0) + if (actor?.permission > 0) actor.sheet.render(true); }); @@ -271,7 +300,9 @@ export default class QuestPreview extends FormApplication { event.preventDefault(); let item; let data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); - if (data.type === 'Item') { + if (data.mode === 'Sort') { + this.quest.sortRewards(event, data); + } else if (data.type === 'Item') { if (data.pack) { item = await this.getItemFromPack(data.pack, data.id); } else if (data.data) { @@ -289,6 +320,14 @@ export default class QuestPreview extends FormApplication { } }); + html.on("drop", ".tasks-box", async (event) => { + event.preventDefault(); + let data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); + if (data.mode === 'Sort') { + this.quest.sortTasks(event, data); + } + }); + html.on("drop", ".quest-giver-gc", (event) => { event.preventDefault(); let data = JSON.parse(event.originalEvent.dataTransfer.getData('text/plain')); @@ -308,10 +347,14 @@ export default class QuestPreview extends FormApplication { index = $(event.target).data('index'); value = this.quest.tasks[index].name; } + if (target === 'reward.name') { + index = $(event.target).data('index'); + value = this.quest.rewards[index].data.name; + } value = value.replace(/"/g, '"'); let input = $(``); - let parent = $(event.target).parent('.editable-container'); + let parent = $(event.target).closest('.actions').prev('.editable-container'); parent.html(''); parent.append(input); @@ -329,7 +372,7 @@ export default class QuestPreview extends FormApplication { break; case 'reward.name': index = $(event.target).data('index'); - this.quest.rewards[index].name = value; + this.quest.rewards[index].data.name = value; break; default: if (this.quest[target] !== undefined) @@ -364,14 +407,15 @@ export default class QuestPreview extends FormApplication { }); html.on("click", ".add-new-task", (event) => { - let div = $('
'); + event.preventDefault(); + let li = $('
  • '); let placeholder = $(''); let input = $(``); - let box = $(event.target).parent().parent('.tasks-gc').find('.tasks-box'); + let box = $(event.target).closest('.quest-tasks').find('.tasks-box ul'); - div.append(placeholder); - div.append(input); - box.append(div); + li.append(placeholder); + li.append(input); + box.append(li); input.focus(); @@ -398,16 +442,16 @@ export default class QuestPreview extends FormApplication { }); html.on("click", ".add-abstract", (event) => { - let div = $('
    '); + let li = $('
  • '); let input = $(``); - let box = $(event.target).parents('.rewards-gc').find('.rewards-box'); + let box = $(event.target).closest('.quest-rewards').find('.rewards-box ul'); - $(box).children('.drop-info').each(function () { - $(this).remove(); - }); + // $(box).children('.drop-info').each(function () { + // $(this).remove(); + // }); - div.append(input); - box.append(div); + li.append(input); + box.append(li); input.focus(); @@ -426,7 +470,7 @@ export default class QuestPreview extends FormApplication { }); }); - html.on("click", ".abstract-reward img", (event) => { + html.on("click", ".abstract-reward .reward-image", (event) => { let index = $(event.target).data('index'); let currentPath = this.quest.rewards[index].data.img; new FilePicker({ diff --git a/modules/constants.mjs b/modules/constants.mjs index 511eef1b..bd9a9b63 100644 --- a/modules/constants.mjs +++ b/modules/constants.mjs @@ -1,4 +1,5 @@ let constants = { - moduleName: "forien-quest-log" + moduleName: "forien-quest-log", + moduleLabel: "Forien's Quest Log" }; export default constants; diff --git a/modules/entities/collection/quests-collection.mjs b/modules/entities/collection/quests-collection.mjs index 8646b62f..77e486b0 100644 --- a/modules/entities/collection/quests-collection.mjs +++ b/modules/entities/collection/quests-collection.mjs @@ -31,6 +31,10 @@ export default class QuestsCollection { return Quest.get(questId); } + static getName(name) { + return this.entities.find(e => e.name === name); + } + static get instance() { return this; } diff --git a/modules/entities/quest.mjs b/modules/entities/quest.mjs index 32c96319..aac1cda5 100644 --- a/modules/entities/quest.mjs +++ b/modules/entities/quest.mjs @@ -3,6 +3,7 @@ import QuestFolder from "./quest-folder.mjs"; import Reward from "./reward.mjs"; import Task from "./task.mjs"; import QuestsCollection from "./collection/quests-collection.mjs"; +import constants from "../constants.mjs"; /** * Class that acts "kind of" like Entity, to help Manage everything Quest Related @@ -29,6 +30,7 @@ export default class Quest { this._description = data.description || ''; this._gmnotes = data.gmnotes || ''; this._image = data.image || 'actor'; + this._giverName = data.giverName || 'actor'; this._splash = data.splash || ''; this._personal = data.personal || false; this._parent = data.parent || null; @@ -208,6 +210,32 @@ export default class Quest { this.entryPermission = entryData.permission; } + sortRewards(event, data) { + const dt = event.target.closest('li.reward') || null; + const index = data.index; + let targetIdx = dt?.dataset.index; + + this.sortParts(index, targetIdx, this.rewards) + } + + sortTasks(event, data) { + const dt = event.target.closest('li.task') || null; + const index = data.index; + let targetIdx = dt?.dataset.index; + this.sortParts(index, targetIdx, this.tasks) + } + + sortParts(index, targetIdx, array) { + const entry = array.splice(index, 1)[0]; + if (targetIdx) { + if (index < targetIdx) targetIdx--; + array.splice(targetIdx, 0, entry); + } else { + array.push(entry); + } + this.save().then(() => Socket.refreshQuestPreview(this.id)); + } + /** * Saves Quest to JournalEntry's content, and if needed, moves JournalEntry to different folder. * Can also update JournalEntry's permissions. @@ -262,25 +290,33 @@ export default class Quest { let countHidden = game.settings.get("forien-quest-log", "countHidden"); if (content.giver) { - fromUuid(content.giver).then((entity) => { - if (entity === null) { - content.giver = false; - return; - } - content.giver = duplicate(entity); - - switch (entity.entity) { - case Actor.entity: - if (content.image === 'token') - content.giver.img = entity.data.token.img; - break; - case Item.entity: - case JournalEntry.entity: - break; - default: + if (content.giver === 'abstract') { + content.giver = { + name: content.giverName, + img: content.image + }; + content.image = undefined; + } else { + fromUuid(content.giver).then((entity) => { + if (entity === null) { content.giver = false; - } - }); + return; + } + content.giver = duplicate(entity); + + switch (entity.entity) { + case Actor.entity: + if (content.image === 'token') + content.giver.img = entity.data.token.img; + break; + case Item.entity: + case JournalEntry.entity: + break; + default: + content.giver = false; + } + }); + } } content.isSubquest = false; @@ -364,8 +400,14 @@ export default class Quest { static getContent(entry, populate = false) { let content = entry.data.content; - content = JSON.parse(content); - content.id = entry._id; + try { + content = JSON.parse(content); + content.id = entry._id; + } catch (e) { + console.log(`${constants.moduleLabel} | Quest Folder contains invalid entry. The "${entry.data.name}" is either corrupted Quest Entry, or non-Quest Journal Entry.`); + console.error(e); + return null; + } if (populate) content = this.populate(content, entry); @@ -388,7 +430,7 @@ export default class Quest { folder.content.forEach(entry => { let content = this.getContent(entry, populate); - entries.push(content); + if (content) entries.push(content); }); if (sortTarget !== undefined) { @@ -642,6 +684,14 @@ export default class Quest { return QuestsCollection; } + get giverName() { + return this._giverName; + } + + set giverName(value) { + this._giverName = value; + } + get name() { return this._title; } @@ -659,6 +709,7 @@ export default class Quest { gmnotes: this._gmnotes, personal: this._personal, image: this._image, + giverName: this._giverName, splash: this._splash, parent: this._parent, subquests: this._subquests, diff --git a/modules/init.mjs b/modules/init.mjs index 598e6e9c..e348a25d 100644 --- a/modules/init.mjs +++ b/modules/init.mjs @@ -1,13 +1,10 @@ import registerApiHooks from "./api/hooks.js"; import QuestApi from "./api/quest-api.mjs"; import QuestLogClass from "./apps/quest-log.mjs"; -import constants from "./constants.mjs"; import QuestFolder from "./entities/quest-folder.mjs"; import ModuleSettings from "./utility/config.mjs"; import Socket from "./utility/socket.mjs"; import Utils from "./utility/utils.mjs"; -import VersionCheck from "./versioning/version-check.mjs"; -import renderWelcomeScreen from "./versioning/welcome-screen.mjs"; import Quest from "./entities/quest.mjs"; import QuestsCollection from "./entities/collection/quests-collection.mjs"; @@ -15,7 +12,8 @@ import QuestsCollection from "./entities/collection/quests-collection.mjs"; Hooks.once('init', () => { ModuleSettings.register(); - CONST.ENTITY_LINK_TYPES.push("Quest"); + CONST.ENTITY_TYPES?.push("Quest"); + CONST.ENTITY_LINK_TYPES?.push("Quest"); CONFIG["Quest"] = { entityClass: Quest, collection: QuestsCollection, @@ -37,20 +35,6 @@ Hooks.once('setup', () => { }); Hooks.once("ready", () => { - QuestFolder.initializeJournals().then(() => { - if (VersionCheck.check(constants.moduleName)) { - console.log('Starting Quest Log migration.'); - Utils.updateQuests(); - console.log('Quest Log migration finished.'); - } - }); - - if (VersionCheck.check(constants.moduleName)) { - if (game.user.isGM || game.settings.get('forien-quest-log', 'playersWelcomeScreen')) { - renderWelcomeScreen(); - } - } - registerApiHooks(); // Allow and process incoming socket data diff --git a/modules/utility/config.mjs b/modules/utility/config.mjs index 4aa8adce..9c91d2ad 100644 --- a/modules/utility/config.mjs +++ b/modules/utility/config.mjs @@ -103,6 +103,7 @@ export default class ModuleSettings { } }); +/* game.settings.register("forien-quest-log", "titleAlign", { name: "ForienQuestLog.Settings.titleAlign.Enable", hint: "ForienQuestLog.Settings.titleAlign.EnableHint", @@ -119,16 +120,7 @@ export default class ModuleSettings { QuestLog.render(); } }); - - game.settings.register("forien-quest-log", "playersWelcomeScreen", { - name: "ForienQuestLog.Settings.playersWelcomeScreen.Enable", - hint: "ForienQuestLog.Settings.playersWelcomeScreen.EnableHint", - scope: "world", - config: true, - default: true, - type: Boolean - }); - +*/ game.settings.register("forien-quest-log", "showFolder", { name: "ForienQuestLog.Settings.showFolder.Enable", hint: "ForienQuestLog.Settings.showFolder.EnableHint", diff --git a/modules/versioning/version-check.mjs b/modules/versioning/version-check.mjs deleted file mode 100644 index 4f00a4b6..00000000 --- a/modules/versioning/version-check.mjs +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Simple class that can help with checking if module has been updated. - * - * Check if module is updated by calling VersionCheck.check(yourModuleName) - * - * Set new version afterwards by calling VersionCheck.set(yourModuleName, version) - * - * @author Forien - */ -export default class VersionCheck { - static _r = false; - - static _reg(mN) { - if (this._r) return; - - game.settings.register(mN, 'version', { - name: `${mN} Version`, - default: "0.0.0", - type: String, - scope: 'client', - }); - - this._r = true; - } - - static check(mN) { - if (!this._r) this._reg(mN); - - let mV = this.get(mN); - let oV = game.settings.get(mN, "version"); - - return isNewerVersion(mV, oV); - }; - - static set(mN, v) { - if (!this._r) this._reg(mN); - - game.settings.set(mN, "version", v); - } - - static get(mN) { - return game.modules.get(mN).data.version; - } -} diff --git a/modules/versioning/welcome-screen.mjs b/modules/versioning/welcome-screen.mjs deleted file mode 100644 index bf61ab0d..00000000 --- a/modules/versioning/welcome-screen.mjs +++ /dev/null @@ -1,54 +0,0 @@ -import constants from "../constants.mjs"; -import VersionCheck from "./version-check.mjs"; - - -/** - * Based on https://github.com/Moerill/mess - * with permission from Moerill - * - * @author Forien - */ -class WelcomeScreen extends Application { - static get defaultOptions() { - let title = game.modules.get(constants.moduleName).data.title; - return mergeObject(super.defaultOptions, { - template: `modules/${constants.moduleName}/templates/welcome-screen.html`, - resizable: true, - width: 450, - height: 636, - classes: ["welcome-screen"], - title: `${title} - Welcome Screen` - }); - } - - getData(options = {}) { - options = super.getData(options); - options.wfrp4e = game.system.data.name === 'wfrp4e'; - options.isChecked = !VersionCheck.check(constants.moduleName); - options.moduleName = constants.moduleName; - return options; - } - - activateListeners(html) { - super.activateListeners(html); - - html.find(`.show-again-${constants.moduleName}`).on('change', event => { - let version = "0.0.0"; - if (event.currentTarget.checked) - version = VersionCheck.get(constants.moduleName); - - VersionCheck.set(constants.moduleName, version) - }); - - $(`#section-${constants.moduleName}`).on("click", ".expand", event => { - event.preventDefault(); - let target = $(event.currentTarget).data('target'); - $(`#section-${constants.moduleName} .${target}`).slideToggle(200); - $(event.currentTarget).toggleClass('expanded'); - }) - } -} - -export default function renderWelcomeScreen() { - (new WelcomeScreen()).render(true); -} diff --git a/scripts/prompt.js b/scripts/prompt.js new file mode 100644 index 00000000..ec6b8152 --- /dev/null +++ b/scripts/prompt.js @@ -0,0 +1,154 @@ +(() => { + const module = "Forien's Quest Log"; + const author = "Forien"; + const message = "

    Thank you for downloading our modules! We are implementing a new, unified Welcome Screen to contain information for any/all of our Foundry Workshop modules.

    We strongly recommend you install it so that you are updated and notified about new versions. The new Welcome Screen is highly customizable and offers several different display options.

    "; + const messageEnable = "You have installed Foundry Workshop Welcome Screen. Do you want to enable it now?"; + const disclaimer = "Clicking 'Install' will download the 'Foundry Workshop Welcome Screen' module and install it into your Foundry instance. It will also send you back to the setup screen where you will need to re-launch your world."; + const ending = "Sincerely,"; + const manifest = 'https://raw.githubusercontent.com/Foundry-Workshop/welcome-screen/master/module.json'; + const wsID = 'workshop-welcome-screen'; + + let testSetup = async () => { + let response = {}; + try { + response = await fetch(SetupConfiguration.setupURL, { + method: "POST", + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({}) + }); + } catch (e) { + return false; + } + + return response.status !== 403; + }; + + let tryInstall = async () => { + let test = await testSetup(); + + if (test === true) { + ui.notifications.active = []; + ui.notifications.info("Preparing to download module…", {permanent: true}); + const notif = ui.notifications.active[0]; + game.socket.on("progress", data => { + notif.html(data.msg); + }); + await SetupConfiguration.installPackage({type: "module", manifest: manifest}); + await game.shutDown(); + } else { + new Dialog({ + title: `Foundry is protected`, + content: `

    Your Foundry VTT instance's setup is password protected (which is good!). Because of it, you need to 'back to setup' and install the module manually, or come back after you login as an administrator.

    Click on the link below to copy it:

    `, + buttons: { + shutdown: { + label: "Back to Setup", + callback: () => { + game.shutDown(); + } + }, + close: { + label: "Close", + } + } + })._render(true).then(() => { + document.getElementById("workshop-welcome-screen-manifest").onclick = function () { + this.select(); + document.execCommand('copy'); + ui.notifications.info("Manifest URL copied!", {}); + } + }); + } + }; + + let installPrompt = () => { + if (window.workshopWS.app) return; + game.settings.register(wsID, 'showPrompt', {scope: "client", config: false, default: true}); + if (!game.settings.get(wsID, 'showPrompt')) return; + + let authors = Object.keys(window.workshopWS.authors).join(' and '); + let modules = window.workshopWS.modules.map(m => `
  • ${m}
  • `).join(''); + + window.workshopWS.app = new Dialog({ + title: `Install Welcome Screen for Foundry Workshop's modules?`, + content: `${message}
    Installed modules:
      ${modules}

    ${ending}
    ${authors}

    ${disclaimer}

    `, + buttons: { + cancel: { + label: "No" + }, + never: { + label: "Never show again", + callback: () => { + game.settings.set(wsID, 'showPrompt', false) + } + }, + install: { + label: "Install", + callback: () => { + tryInstall() + } + } + }, + default: 'install' + }, + {id: `${wsID}-install-prompt`, width: 420, height: 540}); + window.workshopWS.app.render(true); + }; + + let enablePrompt = () => { + if (window.workshopWS.app) return; + game.settings.register(wsID, 'showPrompt', {scope: "client", config: false, default: true}); + if (!game.settings.get(wsID, 'showPrompt')) return; + + window.workshopWS.app = new Dialog({ + title: `Enable Welcome Screen?`, + content: `

    ${messageEnable}

    `, + buttons: { + cancel: { + label: "No" + }, + never: { + label: "Never show again", + callback: () => { + game.settings.set(wsID, 'showPrompt', false) + } + }, + install: { + label: "Enable", + callback: () => { + const settings = game.settings.get("core", ModuleManagement.CONFIG_SETTING); + const setting = mergeObject(settings, {[wsID]: true}); + game.settings.set("core", ModuleManagement.CONFIG_SETTING, setting); + } + } + }, + default: 'install' + }); + window.workshopWS.app.render(true); + }; + + Hooks.on("init", () => { + if (window.workshopWS === undefined) { + window.workshopWS = { + modules: [module], + authors: { + [author]: true + }, + app: undefined + }; + } else { + window.workshopWS.modules.push(module); + window.workshopWS.authors[author] = true; + } + }); + + Hooks.on("ready", () => { + if (!game.user.isGM) return; + + const ws = game.modules.get(wsID); + if (ws === undefined) { + installPrompt(); + } else if (!ws.active) { + enablePrompt(); + } + }); +})(); \ No newline at end of file diff --git a/styles/init.css b/styles/init.css index d32440af..4611368b 100644 --- a/styles/init.css +++ b/styles/init.css @@ -1,431 +1,820 @@ +#forien-quest-log .window-content, +#forien-quest-log-form .window-content, +.window-app.forien-quest-preview .window-content { + padding: 0; + height: 100%; } +#forien-quest-log .tab, +#forien-quest-log-form .tab, +.window-app.forien-quest-preview .tab { + height: 100%; + display: none; } + #forien-quest-log .tab.active, + #forien-quest-log-form .tab.active, + .window-app.forien-quest-preview .tab.active { + display: block; } +#forien-quest-log h1, +#forien-quest-log-form h1, +.window-app.forien-quest-preview h1 { + flex: 0 0 1px; + font-size: 22px; + line-height: 1; + font-weight: 700; + padding: 0 0 4px 0; + margin: 0 0 8px 0; } +#forien-quest-log h2, +#forien-quest-log-form h2, +.window-app.forien-quest-preview h2 { + font-size: 18px; + line-height: 1; + font-weight: 700; + padding: 0 0 2px 0; + margin: 0 0 4px 0; + border-width: 2px; } +#forien-quest-log label, +#forien-quest-log-form label, +.window-app.forien-quest-preview label { + display: block; + margin-bottom: 3px; } +#forien-quest-log input[type="text"], +#forien-quest-log-form input[type="text"], +.window-app.forien-quest-preview input[type="text"] { + border: none; + background: rgba(255, 255, 255, 0.5); + padding: 4px 8px; + box-shadow: 0 0 3px 1px transparent inset; + transition: box-shadow .3s ease; + height: 26px; } + #forien-quest-log input[type="text"]:hover, + #forien-quest-log-form input[type="text"]:hover, + .window-app.forien-quest-preview input[type="text"]:hover { + box-shadow: 0 0 0 1px #ff6400 inset; } +#forien-quest-log button, +#forien-quest-log-form button, +.window-app.forien-quest-preview button { + background: #F2F1EA; + height: 30px; + border: 1px solid #333; + border-radius: 5px; + margin: 0 0 0 8px; + transition: border-color .3s ease, background .3s ease, box-shadow .3s ease; + cursor: pointer; } + #forien-quest-log button:hover, + #forien-quest-log-form button:hover, + .window-app.forien-quest-preview button:hover { + box-shadow: 0 0 2px #ff6400 inset; + border-color: #ff6400; + background: #efefef; } + #forien-quest-log button:first-child, + #forien-quest-log-form button:first-child, + .window-app.forien-quest-preview button:first-child { + margin-left: 0; } +#forien-quest-log nav, +#forien-quest-log-form nav, +.window-app.forien-quest-preview nav { + flex: 0 0 40px; + background: rgba(255, 255, 255, 0.3); + justify-content: flex-start; + align-items: center; + padding: 0 16px; } + #forien-quest-log nav .item, + #forien-quest-log-form nav .item, + .window-app.forien-quest-preview nav .item { + text-align: left; + flex: 0 0 1px; + margin-left: 1rem; + white-space: nowrap; + transition: color .3s ease; } + #forien-quest-log nav .item:hover, + #forien-quest-log-form nav .item:hover, + .window-app.forien-quest-preview nav .item:hover { + text-shadow: none; + color: #ff6400; } + #forien-quest-log nav .item:first-child, + #forien-quest-log-form nav .item:first-child, + .window-app.forien-quest-preview nav .item:first-child { + margin-left: 0; } + #forien-quest-log nav .item.active, #forien-quest-log nav .item.active:hover, + #forien-quest-log-form nav .item.active, + #forien-quest-log-form nav .item.active:hover, + .window-app.forien-quest-preview nav .item.active, + .window-app.forien-quest-preview nav .item.active:hover { + font-weight: 700; + text-shadow: none; + color: inherit; } +#forien-quest-log .hidden, +#forien-quest-log-form .hidden, +.window-app.forien-quest-preview .hidden { + display: none; } +#forien-quest-log .editor, +#forien-quest-log-form .editor, +.window-app.forien-quest-preview .editor { + height: 100%; + padding: 8px; + background: rgba(255, 255, 255, 0.5); + border-radius: 5px; } + #forien-quest-log .editor .editor-content, + #forien-quest-log-form .editor .editor-content, + .window-app.forien-quest-preview .editor .editor-content { + height: 100%; + padding: 0; + padding: 0 4px 0 0; + overflow: auto; } +#forien-quest-log .actions, +#forien-quest-log-form .actions, +.window-app.forien-quest-preview .actions { + flex: 0 0 100px; + border-left: 1px solid rgba(0, 0, 0, 0.15); + height: 100%; + display: flex; + justify-content: center; + align-items: center; } + #forien-quest-log .actions i, + #forien-quest-log-form .actions i, + .window-app.forien-quest-preview .actions i { + font-size: 16px; + margin-left: 4px; + cursor: pointer; + color: rgba(0, 0, 0, 0.75); + transition: color .3s ease; } + #forien-quest-log .actions i.delete, + #forien-quest-log-form .actions i.delete, + .window-app.forien-quest-preview .actions i.delete { + color: rgba(255, 0, 0, 0.4); } + #forien-quest-log .actions i.fa-play, + #forien-quest-log-form .actions i.fa-play, + .window-app.forien-quest-preview .actions i.fa-play { + font-size: 14px; + padding-top: 2px; } + #forien-quest-log .actions i:hover, + #forien-quest-log-form .actions i:hover, + .window-app.forien-quest-preview .actions i:hover { + color: #ff6400; } + #forien-quest-log .actions i:first-child, + #forien-quest-log-form .actions i:first-child, + .window-app.forien-quest-preview .actions i:first-child { + margin: 0; } + #forien-quest-log { min-width: 500px; - min-height: 300px; - /** - * Only applies if setting set to Bookmarks. - * Shows tabs on the left from the window with custom style - */ } - #forien-quest-log div.quest-log { + min-height: 640px; } + #forien-quest-log .quest-log { height: 100%; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: minmax(0, 1fr) auto; - gap: 1px 1px; } - #forien-quest-log div.quest-log.classic { - grid-template-rows: auto minmax(0, 1fr) auto; } - #forien-quest-log nav.log-tabs.bookmarks { - display: block; + overflow-y: auto; + display: flex; + flex-direction: column; + background: rgba(0, 0, 0, 0.1); + padding: 0 0 24px 0; } + #forien-quest-log .quest-log.bookmarks nav { position: absolute; - left: -120px; - top: 32px; - z-index: -10; } - #forien-quest-log nav.log-tabs.bookmarks a.item { - display: block; - width: 125px; - height: 32px; - overflow: hidden; - text-align: right; - padding: 7px 15px; - margin-bottom: 5px; - border: 1px solid #333; + left: 0; + transform: translateX(-100%); + flex-direction: column; + align-items: flex-end; + background: none; + padding: 0; + flex: 0; } + #forien-quest-log .quest-log.bookmarks nav .item { background: url("/ui/parchment.jpg") repeat; - box-shadow: inset 0 0 0 2000px rgba(133, 133, 133, 0.1); } - #forien-quest-log nav.log-tabs.bookmarks a.item.active { - border: 2px solid #833; - box-shadow: inset 0 0 0 2000px rgba(250, 250, 250, 0.1); } - #forien-quest-log section.log-body.classic { - min-height: calc(100% - 60px); } - #forien-quest-log section.log-body .tab { - height: 100%; - grid-template-columns: 1fr; - grid-template-rows: auto 1fr; - gap: 1px 1px; } - #forien-quest-log section.log-body .tab.active { - display: grid; } - #forien-quest-log section.log-body .tab h1 { - margin: 0; } - #forien-quest-log section.log-body .tab .table { - overflow: auto; } - #forien-quest-log section.log-body .tab .table table { + text-align: right; + margin: 0; + margin-bottom: 4px; + padding: 8px 16px; + width: 150px; + border-radius: 5px 0 0 5px; + position: relative; + z-index: 1; + box-shadow: -5px 0 5px -5px rgba(0, 0, 0, 0.25) inset, 0 5px 5px -5px rgba(0, 0, 0, 0.3), 0 -5px 5px -5px rgba(0, 0, 0, 0.3), -2px 0 5px -2px rgba(0, 0, 0, 0.3); + transition: padding .3s ease, width .3s ease, color .3s ease; } + #forien-quest-log .quest-log.bookmarks nav .item:hover { + padding-right: 32px; + width: 166px; } + #forien-quest-log .quest-log.bookmarks nav .item.active { + padding-right: 32px; + width: 166px; } + #forien-quest-log .quest-log.bookmarks nav .item.active::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: rgba(0, 0, 0, 0.1); + border-radius: 5px 0 0 5px; + z-index: -1; } + #forien-quest-log .quest-log .log-body { + flex: 1; + overflow-y: hidden; + padding: 0 16px; } + #forien-quest-log .quest-log .tab { + flex-direction: column; + padding: 16px 0 0 0; } + #forien-quest-log .quest-log .tab.active { + display: flex; } + #forien-quest-log .quest-log .tab .table { + flex: 1; + overflow-y: auto; } + #forien-quest-log .quest-log .table ul { + list-style: none; + margin: 0; + padding: 0; } + #forien-quest-log .quest-log .table ul li { + display: flex; + justify-content: flex-start; + align-items: center; + margin: 0 4px 2px 0; + background: rgba(255, 255, 255, 0.3); + border: 1px solid transparent; + border-radius: 5px; + height: 42px; + transition: border-color .3s ease, box-shadow .3s ease; } + #forien-quest-log .quest-log .table ul li:hover { + border-color: #ff6400; + box-shadow: 0 0 2px #ff6400 inset; } + #forien-quest-log .quest-log .table ul .img { + flex: 0 0 40px; + width: 40px; + height: 40px; + border-radius: 5px 0 0 5px; + background-size: cover; + background-position: center; } + #forien-quest-log .quest-log .table ul .personal-quest-icon { + margin-left: 8px; } + #forien-quest-log .quest-log .table ul .title { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + height: 100%; + padding: 0 8px; + cursor: pointer; } + #forien-quest-log .quest-log .table ul .title h2 { margin: 0; + padding: 0; + line-height: 1; border: none; - background: none; } - #forien-quest-log section.log-body .tab .table table thead { - background: none; - color: #000; - text-shadow: none; - border-bottom: none; } - #forien-quest-log section.log-body .tab .table table tr { - height: 30px; } - #forien-quest-log section.log-body .tab .table table tr th { - border-bottom: 1px #666 solid; } - #forien-quest-log section.log-body .tab .table table tr th.quest-giver-col { - width: 120px; } - #forien-quest-log section.log-body .tab .table table tr th.actions-col { - width: 100px; } - #forien-quest-log section.log-body .tab .table table tr th.tasks-col { - width: 60px; } - #forien-quest-log section.log-body .tab .table table tr th.sortable { - cursor: pointer; } - #forien-quest-log section.log-body .tab .table table tr td { - text-align: center; } - #forien-quest-log section.log-body .tab .table table tr td.title { - font-weight: bold; - cursor: pointer; } - #forien-quest-log section.log-body .tab .table table tr td.title small { - display: block; - font-style: italic; - margin-left: 20px; - font-weight: normal; } - #forien-quest-log section.log-body .tab .table table tr td.title.left { - text-align: left; } - #forien-quest-log section.log-body .tab .table table tr td.title.center { - text-align: center; } - #forien-quest-log section.log-body .tab .table table tr td.title:hover { - text-shadow: 2px 2px 5px rgba(51, 51, 51, 0.4); } - #forien-quest-log section.log-body .tab .table table tr td.img { - cursor: pointer; } - #forien-quest-log section.log-body .tab .table table tr td.img img { - width: 55px; - height: 55px; - border: none; - object-fit: cover; - border-radius: 4px; } - #forien-quest-log section.log-body .tab .table table tr td.actions i.fas { - cursor: pointer; - margin-right: 5px; } - #forien-quest-log section.log-body .tab .table table tr td.actions i.fas:last-of-type { - margin-right: 0; } - #forien-quest-log section.log-body .tab .table table tr:nth-child(2n) { - background: rgba(0, 0, 0, 0.05); } - #forien-quest-log footer { - height: 40px; - padding: 4px; } - -/** - * DARK MODE compatibility - */ -.dark-mode #forien-quest-log nav.log-tabs.bookmarks a.item { - background: url("/modules/dnd5e-dark-mode/ui/parchment_dark.jpg") repeat; } -.dark-mode #forien-quest-log section.log-body .tab .table table thead { - color: #b5b5b5; } + font-size: 16px; + font-weight: 700; } + #forien-quest-log .quest-log .table ul .title p { + margin: 0; + padding: 0; + font-size: 12px; + font-weight: 400; } + #forien-quest-log .quest-log .table ul .tasks { + flex: 0 0 60px; + border-left: 1px solid rgba(0, 0, 0, 0.15); + height: 100%; + display: flex; + justify-content: center; + align-items: center; } + #forien-quest-log .quest-log footer { + flex: 0 0 1px; + padding: 8px 16px 0 16px; + display: flex; } -#forien-quest-log-form .grid-container { - display: grid; - grid-template-columns: 50% 50fr; - grid-template-rows: auto 240px 217px auto; - gap: 1px 1px; - grid-template-areas: ". ." ". ." "tasks tasks" "footer footer"; } - #forien-quest-log-form .grid-container .tasks { - grid-area: tasks; } - #forien-quest-log-form .grid-container .footer { - grid-area: footer; } -#forien-quest-log-form fieldset { - box-sizing: border-box; - margin: 0; } - #forien-quest-log-form fieldset.giver-data-fieldset { - height: 100%; - position: relative; } - #forien-quest-log-form fieldset.giver-data-fieldset .drop-info { - font-size: 1.4em; - font-variant: small-caps; - text-align: center; - color: #666; - opacity: 0.7; - margin: 0 20px; - position: absolute; - top: 50%; - transform: translate(0, -50%); - padding: 0 10%; } - #forien-quest-log-form fieldset.giver-data-fieldset img.giver-portrait { - width: 82px; - height: 82px; - border: none; - float: left; - margin-right: 12px; - object-fit: cover; } - #forien-quest-log-form fieldset.giver-data-fieldset h3.giver-name { - line-height: 82px; - margin: 0; } - #forien-quest-log-form fieldset.giver-data-fieldset .hidden { +#forien-quest-log-form form { + padding: 1rem; + display: flex; + flex-direction: column; + background: rgba(0, 0, 0, 0.1); + height: 100%; } +#forien-quest-log-form form header { + flex: 0 0 1px; } + #forien-quest-log-form form header .source-details { + display: flex; } + #forien-quest-log-form form header .source-image { + flex: 0 0 100px; + height: 100px; + font-size: 12px; + line-height: 1.2; + font-weight: 700; + text-align: center; + margin-right: 8px; } + #forien-quest-log-form form header .source-image .giver-portrait { + width: 100%; + height: 100%; + background-size: cover; + background-position: center; + border-radius: 5px; } + #forien-quest-log-form form header .source-image .hidden { display: none; } - #forien-quest-log-form fieldset.tasks { - margin-top: 10px; - border: none; - overflow: hidden; } - #forien-quest-log-form fieldset.tasks .add-new-task { - cursor: pointer; } - #forien-quest-log-form fieldset.tasks .list { - overflow-y: scroll; - height: calc(100% - 35px); } - #forien-quest-log-form fieldset.tasks .list .task-entry input { - width: 97%; - margin: 4px; } - #forien-quest-log-form fieldset.tasks .list .task-entry .del-btn { - cursor: pointer; } - #forien-quest-log-form fieldset.tasks .list .task-entry .del-btn .fa-times { - pointer-events: none; } - #forien-quest-log-form fieldset.tinymce-fieldset { - min-height: 240px; - border: none; } - #forien-quest-log-form fieldset.tinymce-fieldset .editor { - height: 100%; } - #forien-quest-log-form fieldset.tinymce-fieldset .editor .editor-content { - height: 100%; } + #forien-quest-log-form form header .source-image span { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + border: 2px dashed rgba(0, 0, 0, 0.5); + border-radius: 5px; + padding: 8px; } + #forien-quest-log-form form header .source-info { + flex: 1; + height: 100px; } + #forien-quest-log-form form header .quest-giver { + margin-bottom: 8px; } +#forien-quest-log-form .quest-title { + margin-top: 8px; } +#forien-quest-log-form .quest-text { + margin-top: 8px; + display: flex; + flex: 1; + overflow-y: hidden; } + #forien-quest-log-form .quest-text .quest-description, + #forien-quest-log-form .quest-text .quest-notes { + flex: 1; } + #forien-quest-log-form .quest-text .quest-notes { + margin-left: 8px; } + #forien-quest-log-form .quest-text .editor { + padding: 8px; + background: rgba(255, 255, 255, 0.5); + border-radius: 5px; + height: calc(100% - 30px); } + #forien-quest-log-form .quest-text .editor .tox .tox-toolbar-overlord { + background-color: transparent; + border-bottom: 1px solid #222; + padding-bottom: 4px; } + #forien-quest-log-form .quest-text .editor .tox .tox-toolbar, + #forien-quest-log-form .quest-text .editor .tox .tox-toolbar__overflow, + #forien-quest-log-form .quest-text .editor .tox .tox-toolbar__primary { + background: transparent; + background-color: transparent; } + #forien-quest-log-form .quest-text .editor .tox.tox-tinymce .tox-tbtn { + padding: 0; + margin: 0 0 0 4px; + width: 32px; } + #forien-quest-log-form .quest-text .editor .tox.tox-tinymce .tox-tbtn[title="Formats"] { + width: 90px; } + #forien-quest-log-form .quest-text .editor .editor-content { + height: 100%; + overflow-y: auto; + margin: 0; + padding: 0 12px 0 0; } +#forien-quest-log-form footer { + flex: 0 0 1px; + margin-top: 8px; } -.forien-quest-preview { - min-width: 620px; - min-height: 500px; } - .forien-quest-preview .window-content { - height: 100%; } - .forien-quest-preview .quest-preview { - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; - height: 100%; } - .forien-quest-preview nav.quest-tabs .hidden { - display: none; } - .forien-quest-preview .quest-body { - height: 100%; } - .forien-quest-preview .quest-body .details { - height: 100%; } - .forien-quest-preview .quest-body .details .details-tab { - height: 100%; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; } - .forien-quest-preview .quest-body .details .grid-container { - height: 100%; - display: grid; - grid-template-columns: 1fr 1.3fr 0.8fr 1fr; - grid-template-rows: 200px minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "quest-giver-gc description-gc description-gc description-gc" "tasks-gc tasks-gc rewards-gc rewards-gc"; } - .forien-quest-preview .quest-body .details .grid-container .quest-giver-gc { - grid-area: quest-giver-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; } - .forien-quest-preview .quest-body .details .grid-container .description-gc { - grid-area: description-gc; } - .forien-quest-preview .quest-body .details .grid-container .tasks-gc { - grid-area: tasks-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; } - .forien-quest-preview .quest-body .details .grid-container .rewards-gc { - grid-area: rewards-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; } - .forien-quest-preview .quest-body .details .details-header { +.window-app.forien-quest-preview { + min-width: 940px; + min-height: 640px; } + .window-app.forien-quest-preview .tab.active { + display: flex; + flex-direction: column; } + .window-app.forien-quest-preview .quest-preview { + height: 100%; + overflow-y: hidden; + display: flex; + flex-direction: column; + background: rgba(0, 0, 0, 0.1); + padding: 0 0 24px 0; } + .window-app.forien-quest-preview .quest-body { + height: 100%; + flex: 1; + overflow-y: auto; + padding: 16px 16px 0 16px; } + .window-app.forien-quest-preview .quest-body .details-header { + display: flex; + flex: 0 0 1px; + margin-bottom: 16px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-giver-gc { + width: 100px; + height: 100px; + background-color: rgba(0, 0, 0, 0.1); + border-radius: 5px; + flex: 0 0 100px; + margin-right: 16px; position: relative; } - .forien-quest-preview .quest-body .details .details-header small { - font-size: 0.9rem; + .window-app.forien-quest-preview .quest-body .details-header .quest-giver-gc .quest-giver-image { + height: 100%; + width: 100%; + background-size: cover; + background-position: center; cursor: pointer; - font-style: italic; - margin-left: 20px; } - .forien-quest-preview .quest-body .details .details-header .actions { + border-radius: 5px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-giver-gc .toggleImage { position: absolute; - right: 0; - top: 8px; } - .forien-quest-preview .quest-body .details .details-header .actions i { + top: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + background: #efefef; + border-radius: 5px; + width: 22px; + height: 22px; + transition: color .3s ease; } + .window-app.forien-quest-preview .quest-body .details-header .quest-giver-gc .toggleImage:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .details-header .quest-giver-gc .toggleImage i { + font-size: 16px; + border-radius: 50%; + line-height: 1; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup { + flex: 1; + display: flex; + flex-direction: column; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-title { + display: flex; + justify-content: space-between; + align-items: center; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .editable-container { + flex: 1; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .editable-container input { + margin-bottom: 8px; + height: 28px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .splash-image-link { + flex: 0 0 100px; + background-size: cover; + background-position: center; + position: relative; + cursor: pointer; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .splash-image-link span { + position: absolute; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + background: rgba(0, 0, 0, 0.3); + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 28px; + color: rgba(255, 255, 255, 0.65); + opacity: 1; + transition: opacity .3s ease; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .splash-image-link span:hover { + opacity: 0; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .actions { + flex: 0 0 1px; + padding: 0 8px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .actions i { + font-size: 18px; + transition: color .3s ease; cursor: pointer; } - .forien-quest-preview .quest-body .details .quest-giver-gc div { - text-align: center; - position: relative; } - .forien-quest-preview .quest-body .details .quest-giver-gc div span { - font-weight: bold; - text-align: center; } - .forien-quest-preview .quest-body .details .quest-giver-gc div img { - width: 120px; - height: 120px; + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .actions i:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-title .actions { + border: none; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup section { + flex: 1; + display: flex; + background: rgba(255, 255, 255, 0.15); + border-radius: 5px; + overflow: hidden; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-details { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + padding: 8px 16px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-giver-name h2 { + display: inline-block; + margin: 0; border: none; - object-fit: cover; - border-radius: 6px; } - .forien-quest-preview .quest-body .details .quest-giver-gc div .toggleImage { - position: absolute; - bottom: 5px; - right: 5px; } - .forien-quest-preview .quest-body .details .quest-giver-gc div span, .forien-quest-preview .quest-body .details .quest-giver-gc div img, .forien-quest-preview .quest-body .details .quest-giver-gc div .toggleImage { - cursor: pointer; } - .forien-quest-preview .quest-body .details .description-gc .description { + cursor: pointer; + transition: color .3s ease; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-giver-name h2:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status { + display: flex; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status p { + margin: 0 8px 0 0; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status p::after { + content: '|'; + margin-left: 8px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status p:last-child { + margin: 0; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status p:last-child::after { + content: none; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status .quest-name { + transition: color .3s ease; + cursor: pointer; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status .quest-name i { + font-size: 12px; } + .window-app.forien-quest-preview .quest-body .details-header .quest-setup .quest-status .quest-name:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .quest-info { + display: flex; + flex: 1; + overflow-y: hidden; } + .window-app.forien-quest-preview .quest-body .quest-info header { + display: flex; + justify-content: space-between; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right button { + flex: 0 0 1px; + white-space: nowrap; + height: 18px; + font-size: 12px; + line-height: 1; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right button i { + font-size: 10px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-description { + flex: 0 0 50%; height: 100%; - overflow: auto; } - .forien-quest-preview .quest-body .details .description-gc .editor { - height: 100%; } - .forien-quest-preview .quest-body .details .description-gc .editor .editor-content { - height: 100%; - overflow: auto; } - .forien-quest-preview .quest-body .details .del-btn { - cursor: pointer; - margin-left: 10px; } - .forien-quest-preview .quest-body .details .del-btn i { - pointer-events: none; } - .forien-quest-preview .quest-body .details .tasks-gc .add-new-task { - cursor: pointer; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box { - overflow: auto; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task { - display: grid; - grid-template-columns: 26px auto 18px; - gap: 1px 1px; - grid-template-areas: ". . ."; - margin-right: 15px; - margin-top: 5px; - min-height: 20px; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .quest-name { - font-weight: bold; + overflow-y: hidden; + margin-right: 8px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-description .description { + height: calc(100% - 26px); + overflow: hidden; + background: rgba(255, 255, 255, 0.4); + border-radius: 5px; + padding: 8px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-description .description .description-content { + height: 100%; + overflow: auto; + padding: 0 4px 0 0; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right { + flex: 1; + display: flex; + flex-direction: column; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right h2 { + border: none; + margin: 0; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right header { + border-bottom: 2px solid #782e22; + margin-bottom: 4px; + flex: 0 0 1px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards { + flex: 0 0 calc(50% - 8px); + display: flex; + flex-direction: column; + overflow-y: hidden; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .quest-box, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .quest-box { + flex: 1; + overflow-y: hidden; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks ul, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards ul { + height: 100%; + overflow-y: auto; + margin: 0; + padding: 0; + list-style: none; + display: flex; + flex-direction: column; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks ul li, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards ul li { + display: flex; + border-radius: 5px; + background: rgba(255, 255, 255, 0.3); + margin: 0 4px 2px 0; + align-items: center; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions { + flex: 0 0 100px; + height: 100%; + cursor: default; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions i, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions i { + min-width: 16px; + text-align: center; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions .fa-sort, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions .fa-sort { + cursor: move; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions .del-btn, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions .del-btn { + color: rgba(255, 0, 0, 0.4); } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions .del-btn:hover, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions .del-btn:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .actions .fa-pen, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .actions .fa-pen { + font-size: 14px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .editable-container, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .editable-container { + flex: 1; + padding: 4px 8px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .editable-container p, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .editable-container p { + margin: 0; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .editable-container input, + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .editable-container input { + padding: 0 4px; + line-height: 14px; + height: 16px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks { + margin-bottom: 16px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .toggleState { + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 32px; + height: 100%; + border-right: 1px solid rgba(0, 0, 0, 0.15); + font-size: 18px; cursor: pointer; - font-style: italic; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .editable-container { + transition: color .3s ease; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .toggleState:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .state-container { display: flex; - align-items: center; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .editable-container .toggleHidden { - margin-right: 4px; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container { - position: relative; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state { - top: 2px; - left: 3px; - font-size: 1.1em; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state.fa-check, .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state.fa-times { - position: absolute; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state.fa-check { - color: #229933; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state.fa-times { - color: #993322; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state.hidden { - display: none; } - .forien-quest-preview .quest-body .details .tasks-gc .tasks-box .task .state-container i.state-background { - top: 1px; - font-size: 1.35em; - position: absolute; - opacity: 0.6; } - .forien-quest-preview .quest-body .details .rewards-gc .add-abstract { - opacity: 0.7; - cursor: pointer; } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box { - height: 100%; - position: relative; - overflow: auto; } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box .drop-info { - font-size: 1.6em; - font-variant: small-caps; + align-items: center; + justify-content: center; + flex: 0 0 32px; + height: 100%; + border-right: 1px solid rgba(0, 0, 0, 0.15); + font-size: 18px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .state-container .state-display { + background: rgba(0, 0, 0, 0.05); + border: 1px solid rgba(0, 0, 0, 0.3); + width: 16px; + height: 16px; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .state-container .state-display i { + font-size: 11px; + line-height: 16px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .quest-name { + cursor: pointer; + transition: color .3s ease; + margin: 0; + padding: 4px 8px; + display: inline-block; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .quest-name:hover { + color: #ff6400; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .quest-name i { + font-size: 12px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .task-hidden { + background: rgba(0, 0, 0, 0.15); } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-tasks .task-hidden .task-name { + opacity: .5; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward { + flex: 0 0 25px; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .drop-info { + flex: 1 0 25px; + line-height: 20px; + border: 2px dashed rgba(0, 0, 0, 0.5); + border-radius: 5px; + padding: 0 16px; text-align: center; - color: #666; - margin: 0 20px; - position: absolute; - top: 50%; - transform: translate(0, -50%); } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box .reward { - margin-bottom: 2px; } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box .reward img { - width: 34px; - height: 34px; - margin-right: 8px; - float: left; } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box .reward .name { - line-height: 34px; } - .forien-quest-preview .quest-body .details .rewards-gc .rewards-box .reward.abstract-reward { - opacity: 0.85; - font-style: italic; } - .forien-quest-preview .quest-body .details i.fas.toggleHidden { - cursor: pointer; } - .forien-quest-preview .quest-body .details i.fas.toggleHidden.fa-eye-slash { - color: #666; } - .forien-quest-preview .quest-body .management { - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); - gap: 1px 1px; - height: 100%; } - .forien-quest-preview .quest-body .management.active { - display: grid; } - .forien-quest-preview .quest-body .management .part.personal-quest { - display: grid; - grid-auto-rows: auto minmax(0, 1fr); - grid-template-columns: minmax(0, 1fr); - gap: 1px 1px; } - .forien-quest-preview .quest-body .management .part.personal-quest .quest-is-personal { - display: grid; - grid-template-columns: auto 1fr; - grid-template-rows: auto auto; - gap: 1px 1px; - grid-template-areas: ". ." "desc desc"; } - .forien-quest-preview .quest-body .management .part.personal-quest .quest-is-personal label { - display: flex; - align-items: center; } - .forien-quest-preview .quest-body .management .part.personal-quest .quest-is-personal .personal-quest-description { - grid-area: desc; } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container { - overflow-y: scroll; - overflow-x: hidden; - width: 100%; - /*modify to suit*/ + margin-right: 4px; + margin-bottom: 4px; + background: transparent; + justify-content: center; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-hidden { + background: rgba(0, 0, 0, 0.15); } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-hidden .reward-image { + opacity: .5; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-hidden .reward-name { + opacity: .5; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-image-container { height: 100%; - /*modify to suit*/ } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container .user-columns { - padding: 8px; - columns: 2; - overflow-y: hidden; - overflow-x: hidden; - column-fill: balance; } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container .user-columns .users { - height: 100%; } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container .user-columns .users .user { - break-inside: avoid-column; - display: flex; } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container .user-columns .users .user.disabled { - color: #666666; } - .forien-quest-preview .quest-body .management .part.personal-quest .user-column-container .user-columns .users .user label { - align-self: center; } - .forien-quest-preview .quest-body .management .part.quest-splash { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - height: 100%; } - .forien-quest-preview .quest-body .management .part.quest-splash > * { - justify-self: center; } - .forien-quest-preview .quest-body .management .part.quest-splash .label { - font-weight: bold; } - .forien-quest-preview .quest-body .management .part.quest-splash .splash-img { - height: 100%; - min-width: 50%; - object-fit: cover; } - .forien-quest-preview .quest-body .management .part.subquests { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: auto minmax(0, 1fr) auto; - gap: 1px 1px; - height: 100%; } - .forien-quest-preview .quest-body .management .part.subquests ul.subquests-box { - overflow-y: auto; } - .forien-quest-preview .quest-body .management .part.subquests ul.subquests-box li .subquest { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 1px 1px; } - .forien-quest-preview .quest-body .management .part.subquests ul.subquests-box li .subquest .quest-name { - font-weight: bold; - cursor: pointer; } - .forien-quest-preview .quest-body .management .part.subquests ul.subquests-box li .subquest .actions i { - margin-left: 6px; - cursor: pointer; } - .forien-quest-preview .quest-body .gmnotes { - height: 100%; } - .forien-quest-preview .quest-body .gmnotes .editor { - height: 100%; } - .forien-quest-preview .quest-body .gmnotes .editor .editor-content { + flex: 0 0 25px; + display: flex; + align-items: center; + border-radius: 5px 0 0 5px; + overflow: hidden; + background-color: #222; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-image { + width: 25px; + height: 25px; + background-size: cover; + background-position: center; } + .window-app.forien-quest-preview .quest-body .quest-info .quest-col-right .quest-rewards .reward-name { + flex: 1; + font-size: 14px; + font-weight: 400; + margin: 0; + padding-right: 8px; } + .window-app.forien-quest-preview .quest-body .management .row { + display: flex; + flex: 0 0 1px; } + .window-app.forien-quest-preview .quest-body .management .quest-settings { + display: flex; + flex-direction: column; + flex: 1; + margin-right: 8px; + height: 226px; } + .window-app.forien-quest-preview .quest-body .management .quest-settings .setting-groups { + flex: 0 0 1px; } + .window-app.forien-quest-preview .quest-body .management .quest-settings .setting-groups .personal-quest-description { + font-size: 13px; + margin: 4px 0 2px 26px; } + .window-app.forien-quest-preview .quest-body .management .quest-settings .input-group { + display: flex; + align-items: center; + background: rgba(255, 255, 255, 0.4); + border-radius: 5px; + padding: 2px; + margin-bottom: 2px; } + .window-app.forien-quest-preview .quest-body .management .quest-settings input[type="checkbox"] { + flex: 0 0 20px; + width: 20px; + height: 20px; + margin: 0; } + .window-app.forien-quest-preview .quest-body .management .quest-settings label { + margin: 0 0 0 4px; + width: calc(100% - 20px); + overflow: hidden; + text-overflow: ellipsis; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings { + margin-left: 26px; + flex: 1; + overflow: hidden; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul { + margin: 0; + padding: 0 2px 0 0; + list-style: none; + display: flex; + flex-wrap: wrap; + width: calc(100% + 2px); + margin-left: -2px; + height: 100%; + overflow-y: auto; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul.disabled { + opacity: .5; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul.disabled li { + cursor: default; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul.disabled li:hover { + background: inherit; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul.disabled input, .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul.disabled label { + cursor: default; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul li { + cursor: pointer; + flex: 0 0 calc(100% / 4 - 4px); + display: flex; + align-items: center; + background: rgba(255, 255, 255, 0.4); + border-radius: 5px; + padding: 2px 8px 2px 2px; + margin: 2px; + white-space: nowrap; + overflow: hidden; } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul li:hover { + background: rgba(255, 255, 255, 0.6); } + .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul li input, .window-app.forien-quest-preview .quest-body .management .personal-quest-settings ul li label { + cursor: pointer; } + .window-app.forien-quest-preview .quest-body .management .quest-splash { + flex: 0 0 calc(100% / 3); } + .window-app.forien-quest-preview .quest-body .management .quest-splash .splash-image { + width: 100%; + height: 200px; + background-size: cover; + background-position: center; + background-color: rgba(255, 255, 255, 0.4); + border-radius: 5px; + cursor: pointer; } + .window-app.forien-quest-preview .quest-body .management .quest-splash .splash-image:hover { + background-color: rgba(255, 255, 255, 0.6); } + .window-app.forien-quest-preview .quest-body .management .subquests { + flex: 1; + display: flex; + flex-direction: column; + margin-top: 16px; + overflow: hidden; } + .window-app.forien-quest-preview .quest-body .management .subquests h2 { + flex: 0 0 1px; } + .window-app.forien-quest-preview .quest-body .management .subquests .subquests-box { + flex: 1; + overflow-y: auto; + margin: 0; + padding: 0; + list-style: none; } + .window-app.forien-quest-preview .quest-body .management .subquests .subquests-box li { + display: flex; + align-items: center; + background: rgba(255, 255, 255, 0.3); + height: 30px; + border-radius: 5px; + margin: 0 4px 2px 0; + border: 1px solid transparent; + transition: border-color .3s ease, box-shadow .3s ease; } + .window-app.forien-quest-preview .quest-body .management .subquests .subquests-box li:hover { + border-color: #ff6400; + box-shadow: 0 0 2px #ff6400 inset; } + .window-app.forien-quest-preview .quest-body .management .subquests .subquests-box h2 { + flex: 1; + border: none; + margin: 0 8px; + font-size: 14px; + line-height: 30px; + cursor: pointer; + transition: color .3s ease; } + .window-app.forien-quest-preview .quest-body .management .subquests .subquests-box .actions { + flex: 0 0 100px; height: 100%; } + .window-app.forien-quest-preview .quest-body .management .subquests footer { + flex: 0 0 1px; + margin: 8px 0 0 0; } + .window-app.forien-quest-preview .quest-body .editor { + height: calc(100% - 26px); } + .window-app.forien-quest-preview .quest-body .gmnotes .editor { + height: calc(100% - 36px); } + .window-app.forien-quest-preview .quest-body .tox .tox-toolbar-overlord { + background-color: transparent; + border-bottom: 1px solid #222; + padding-bottom: 4px; } + .window-app.forien-quest-preview .quest-body .tox .tox-toolbar, + .window-app.forien-quest-preview .quest-body .tox .tox-toolbar__overflow, + .window-app.forien-quest-preview .quest-body .tox .tox-toolbar__primary { + background: transparent; + background-color: transparent; } + .window-app.forien-quest-preview .quest-body .tox.tox-tinymce .tox-tbtn { + padding: 0; + margin: 0 0 0 4px; + width: 32px; } + .window-app.forien-quest-preview .quest-body .tox.tox-tinymce .tox-tbtn[title="Formats"] { + width: 90px; } /*# sourceMappingURL=init.css.map */ diff --git a/styles/init.css.map b/styles/init.css.map index 88b0338c..234a97d1 100644 --- a/styles/init.css.map +++ b/styles/init.css.map @@ -1,7 +1,7 @@ { "version": 3, -"mappings": "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", -"sources": ["quest-log.scss","init.scss","quest-form.scss","quest-preview.scss"], +"mappings": "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", +"sources": ["quest-general.scss","init.scss","quest-log.scss","quest-form.scss","quest-preview.scss"], "names": [], "file": "init.css" } diff --git a/styles/init.scss b/styles/init.scss index 1dff358b..784ee59d 100644 --- a/styles/init.scss +++ b/styles/init.scss @@ -1,13 +1,11 @@ -$background: #aaa; $background-parchment: url("/ui/parchment.jpg") repeat; -//$background-parchment-dark: url("../dnd5e-dark-mode/ui/parchment_dark.jpg") repeat; $background-parchment-dark: url("/modules/dnd5e-dark-mode/ui/parchment_dark.jpg") repeat; -$background-header: #666; -$border: #333; -$border-active: #833; -$footer-padding: 4px; -$footer-size: 32px + 2*$footer-padding; +$background-color-light: rgba(255,255,255,.5); +$primary-accent-color: #ff6400; -@import 'quest-log', 'quest-form', 'quest-preview'; +$button-background: #F2F1EA; +$button-hover: #efefef; +$button-border: #333; +@import 'quest-general', 'quest-log', 'quest-form', 'quest-preview'; \ No newline at end of file diff --git a/styles/quest-form.scss b/styles/quest-form.scss index 01ce3ced..4bf1e96a 100644 --- a/styles/quest-form.scss +++ b/styles/quest-form.scss @@ -1,106 +1,125 @@ #forien-quest-log-form { - .grid-container { - display: grid; - grid-template-columns: 50% 50fr; - grid-template-rows: auto 240px 217px auto; - gap: 1px 1px; - grid-template-areas: ". ." ". ." "tasks tasks" "footer footer"; - - .tasks { - grid-area: tasks; - } - - .footer { - grid-area: footer; + + form { + padding: 1rem; + display: flex; + flex-direction: column; + background: rgba(0,0,0,.1); + height: 100%; + // overflow-y: hidden; } - } + + form header { + flex: 0 0 1px; + .source-details { + display: flex; + } - fieldset { - box-sizing: border-box; - margin: 0; + .source-image { + flex: 0 0 100px; + height: 100px; + font-size: 12px; + line-height: 1.2; + font-weight: 700; + text-align: center; + margin-right: 8px; - &.giver-data-fieldset { - height: 100%; - position: relative; + .giver-portrait { + width: 100%; + height: 100%; + background-size: cover; + background-position: center; + border-radius: 5px; + } - .drop-info { - font-size: 1.4em; - font-variant: small-caps; - text-align: center; - color: #666; - opacity: 0.7; - margin: 0 20px; - position: absolute; - top: 50%; - transform: translate(0, -50%); - padding: 0 10%; - } + .hidden { + display: none; + } - img { - &.giver-portrait { - width: 82px; - height: 82px; - border: none; - float: left; - margin-right: 12px; - object-fit: cover; + span { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + border: 2px dashed rgba(0,0,0,.5); + border-radius: 5px; + padding: 8px; } } - h3 { - &.giver-name { - line-height: 82px; - margin: 0; - } + .source-info { + flex: 1; + height: 100px; } - .hidden { - display: none; + .quest-giver { + margin-bottom: 8px; } + + } - &.tasks { - margin-top: 10px; - border: none; - overflow: hidden; + .quest-title { + margin-top: 8px; + } - .add-new-task { - cursor: pointer; - } + .quest-text { + margin-top: 8px; + display: flex; + flex: 1; + overflow-y: hidden; - .list { - overflow-y: scroll; - height: calc(100% - 35px); + .quest-description, + .quest-notes { + flex: 1; + } - .task-entry { - input { - width: 97%; - margin: 4px; - } + .quest-notes { + margin-left: 8px; + } - .del-btn { - cursor: pointer; + .editor { + padding: 8px; + background: $background-color-light; + border-radius: 5px; + height: calc(100% - 30px); + + .tox .tox-toolbar-overlord { + background-color: transparent; + border-bottom: 1px solid #222; + padding-bottom: 4px; + } - .fa-times { - pointer-events: none; - } - } + .tox .tox-toolbar, + .tox .tox-toolbar__overflow, + .tox .tox-toolbar__primary { + background: transparent; + background-color: transparent; } - } - } - &.tinymce-fieldset { - min-height: 240px; - border: none; + .tox.tox-tinymce .tox-tbtn { + padding: 0; + margin: 0 0 0 4px; + width: 32px; + } - .editor { - height: 100%; + .tox.tox-tinymce .tox-tbtn[title="Formats"] { + width: 90px; + } .editor-content { height: 100%; + overflow-y: auto; + margin: 0; + padding: 0 12px 0 0; } } + + } + + footer { + flex: 0 0 1px; + margin-top: 8px; } - } } diff --git a/styles/quest-general.scss b/styles/quest-general.scss new file mode 100644 index 00000000..0384a5de --- /dev/null +++ b/styles/quest-general.scss @@ -0,0 +1,162 @@ +#forien-quest-log, +#forien-quest-log-form, +.window-app.forien-quest-preview { + + .window-content { + padding: 0; + height: 100%; + } + + .tab { + height: 100%; + display: none; + + &.active { + display: block; + } + } + + h1 { + flex: 0 0 1px; + font-size: 22px; + line-height: 1; + font-weight: 700; + padding: 0 0 4px 0; + margin: 0 0 8px 0; + } + + h2 { + font-size: 18px; + line-height: 1; + font-weight: 700; + padding: 0 0 2px 0; + margin: 0 0 4px 0; + border-width: 2px; + } + + label { + display: block; + margin-bottom: 3px; + } + + input[type="text"] { + border: none; + background: $background-color-light; + padding: 4px 8px; + box-shadow: 0 0 3px 1px transparent inset; + transition: box-shadow .3s ease; + height: 26px; + + &:hover { + box-shadow: 0 0 0 1px $primary-accent-color inset; + } + } + + button { + background: $button-background; + height: 30px; + border: 1px solid $button-border; + border-radius: 5px; + margin: 0 0 0 8px; + transition: + border-color .3s ease, + background .3s ease, + box-shadow .3s ease; + cursor: pointer; + + &:hover { + box-shadow: 0 0 2px $primary-accent-color inset; + border-color: $primary-accent-color; + background: $button-hover; + } + + &:first-child { + margin-left: 0; + } + } + + nav { + flex: 0 0 40px; + background: rgba(255,255,255,.3); + justify-content: flex-start; + align-items: center; + padding: 0 16px; + + .item { + text-align: left; + flex: 0 0 1px; + margin-left: 1rem; + white-space: nowrap; + transition: color .3s ease; + + &:hover { + text-shadow: none; + color: $primary-accent-color; + } + + &:first-child { + margin-left: 0 + } + + &.active, + &.active:hover { + font-weight: 700; + text-shadow: none; + color: inherit; + } + } + } + + .hidden { + display: none; + } + + .editor { + height: 100%; + padding: 8px; + background: $background-color-light; + border-radius: 5px; + + .editor-content { + height: 100%; + padding: 0; + padding: 0 4px 0 0; + overflow: auto; + } + } + + .actions { + flex: 0 0 100px; + border-left: 1px solid rgba(0,0,0,.15); + height: 100%; + display: flex; + justify-content: center; + align-items: center; + + i { + font-size: 16px; + margin-left: 4px; + cursor: pointer; + color: rgba(0,0,0,.75); + transition: color .3s ease; + + &.delete { + color: rgba(255,0,0,.4); + } + + &.fa-play { + font-size: 14px; + padding-top: 2px; + } + + &:hover { + color: $primary-accent-color; + } + + &:first-child { + margin: 0; + } + } + } + +} \ No newline at end of file diff --git a/styles/quest-log.scss b/styles/quest-log.scss index 7c429df2..e5922721 100644 --- a/styles/quest-log.scss +++ b/styles/quest-log.scss @@ -1,199 +1,162 @@ #forien-quest-log { min-width: 500px; - min-height: 300px; + min-height: 640px; - div.quest-log { + .quest-log { height: 100%; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: minmax(0, 1fr) auto; - gap: 1px 1px; - - &.classic { - grid-template-rows: auto minmax(0, 1fr) auto; - } + overflow-y: auto; + display: flex; + flex-direction: column; + background: rgba(0,0,0,.1); + padding: 0 0 24px 0; } - /** - * Only applies if setting set to Bookmarks. - * Shows tabs on the left from the window with custom style - */ - nav.log-tabs.bookmarks { - display: block; + .quest-log.bookmarks nav { position: absolute; - left: -120px; - top: 32px; - z-index: -10; - - a.item { - display: block; - width: 125px; - height: 32px; - overflow: hidden; - text-align: right; - - padding: 7px 15px; - margin-bottom: 5px; - - border: 1px solid $border; + left: 0; + transform: translateX(-100%); + flex-direction: column; + align-items: flex-end; + background: none; + padding: 0; + flex: 0; + + .item { background: $background-parchment; - box-shadow: inset 0 0 0 2000px rgba(133, 133, 133, 0.1); + text-align: right; + margin: 0; + margin-bottom: 4px; + padding: 8px 16px; + width: 150px; + border-radius: 5px 0 0 5px; + position: relative; + z-index: 1; + box-shadow: + -5px 0 5px -5px rgba(0, 0, 0, 0.25) inset, + 0 5px 5px -5px rgba(0, 0, 0, 0.3), + 0 -5px 5px -5px rgba(0, 0, 0, 0.3), + -2px 0 5px -2px rgba(0, 0, 0, 0.3); + transition: padding .3s ease, width .3s ease, color .3s ease; + + &:hover { + padding-right: 32px; + width: 166px; + } + } - &.active { - border: 2px solid $border-active; - box-shadow: inset 0 0 0 2000px rgba(250, 250, 250, 0.1); + .item.active { + padding-right: 32px; + width: 166px; + + &::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: rgba(0,0,0,.1); + border-radius: 5px 0 0 5px; + z-index: -1; } } } - section.log-body { + .quest-log .log-body { + flex: 1; + overflow-y: hidden; + padding: 0 16px; + } - &.classic { - min-height: calc(100% - #{$footer-size + 20px}); - } + .quest-log .tab { + flex-direction: column; + padding: 16px 0 0 0; - .tab { - height: 100%; - grid-template-columns: 1fr; - grid-template-rows: auto 1fr; - gap: 1px 1px; + &.active { + display: flex; + } - &.active { - display: grid; - } + .table { + flex: 1; + overflow-y: auto; + } + } - h1 { - margin: 0; + .quest-log .table ul { + list-style: none; + margin: 0; + padding: 0; + + li { + display: flex; + justify-content: flex-start; + align-items: center; + margin: 0 4px 2px 0; + background: rgba(255, 255, 255, .3); + border: 1px solid transparent; + border-radius: 5px; + height: 42px; + transition: border-color .3s ease, box-shadow .3s ease; + + &:hover { + border-color: $primary-accent-color; + box-shadow: 0 0 2px $primary-accent-color inset; } + } - .table { - overflow: auto; - - table { - margin: 0; - border: none; - background: none; - - thead { - background: none; - color: #000; - text-shadow: none; - border-bottom: none; - } - - tr { - height: 30px; - - th { - border-bottom: 1px #666 solid; - - &.quest-giver-col { - width: 120px; - } - - &.actions-col { - width: 100px; - } - - &.tasks-col { - width: 60px; - } - - &.sortable { - cursor: pointer; - } - } - - td { - text-align: center; - - &.title { - font-weight: bold; - cursor: pointer; - - small { - display: block; - font-style: italic; - margin-left: 20px; - font-weight: normal; - } - - &.left { - text-align: left; - } - - &.center { - text-align: center; - } - - &:hover { - text-shadow: 2px 2px 5px rgba(51, 51, 51, 0.4); - } - } - - &.img { - cursor: pointer; - - img { - width: 55px; - height: 55px; - border: none; - object-fit: cover; - border-radius: 4px; - } - } - - &.actions { - i.fas { - cursor: pointer; - margin-right: 5px; - - &:last-of-type { - margin-right: 0; - } - } - } - - } - - &:nth-child(2n) { - background: rgba(0, 0, 0, 0.05) - } - } - } - } + .img { + flex: 0 0 40px; + width: 40px; + height: 40px; + border-radius: 5px 0 0 5px; + background-size: cover; + background-position: center; + } + .personal-quest-icon { + margin-left: 8px } - } - footer { - height: $footer-size; - padding: $footer-padding; - } + .title { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + height: 100%; + padding: 0 8px; + cursor: pointer; -} + h2 { + margin: 0; + padding: 0; + line-height: 1; + border: none; + font-size: 16px; + font-weight: 700; + } -/** - * DARK MODE compatibility - */ -.dark-mode { - #forien-quest-log { - nav.log-tabs.bookmarks { - a.item { - background: $background-parchment-dark; + p { + margin: 0; + padding: 0; + font-size: 12px; + font-weight: 400; } } - section.log-body { - .tab { - .table { - table { - thead { - color: #b5b5b5; - } - } - } - } + .tasks { + flex: 0 0 60px; + border-left: 1px solid rgba(0,0,0,.15); + height: 100%; + display: flex; + justify-content: center; + align-items: center; } } + + .quest-log footer { + flex: 0 0 1px; + padding: 8px 16px 0 16px; + display: flex; + } + } \ No newline at end of file diff --git a/styles/quest-preview.scss b/styles/quest-preview.scss index 4c81b183..7c3c7320 100644 --- a/styles/quest-preview.scss +++ b/styles/quest-preview.scss @@ -1,416 +1,677 @@ -.forien-quest-preview { - min-width: 620px; - min-height: 500px; +.window-app.forien-quest-preview { + min-width: 940px; + min-height: 640px; - .window-content { - height: 100%; + .tab.active { + display: flex; + flex-direction: column; } .quest-preview { - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; height: 100%; - } - - nav { - &.quest-tabs { - .hidden { - display: none; - } - } + overflow-y: hidden; + display: flex; + flex-direction: column; + background: rgba(0, 0, 0, .1); + padding: 0 0 24px 0; } .quest-body { height: 100%; + flex: 1; + overflow-y: auto; + padding: 16px 16px 0 16px; - .details { - height: 100%; + .details-header { + display: flex; + flex: 0 0 1px; + margin-bottom: 16px; - .details-tab { - height: 100%; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; - } + .quest-giver-gc { + width: 100px; + height: 100px; + background-color: rgba(0, 0, 0, .1); + border-radius: 5px; + flex: 0 0 100px; + margin-right: 16px; + position: relative; - .grid-container { - height: 100%; - display: grid; - grid-template-columns: 1fr 1.3fr 0.8fr 1fr; - grid-template-rows: 200px minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "quest-giver-gc description-gc description-gc description-gc" "tasks-gc tasks-gc rewards-gc rewards-gc"; - - .quest-giver-gc { - grid-area: quest-giver-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; + .quest-giver-image { + height: 100%; + width: 100%; + background-size: cover; + background-position: center; + cursor: pointer; + border-radius: 5px; } - .description-gc { - grid-area: description-gc; - } + .toggleImage { + position: absolute; + top: 0; + left: 0; + display: flex; + justify-content: center; + align-items: center; + background: #efefef; + border-radius: 5px; + width: 22px; + height: 22px; + transition: color .3s ease; + + &:hover { + color: $primary-accent-color; + } - .tasks-gc { - grid-area: tasks-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; + i { + font-size: 16px; + border-radius: 50%; + line-height: 1; + } } + } + + .quest-setup { + flex: 1; + display: flex; + flex-direction: column; - .rewards-gc { - grid-area: rewards-gc; - display: grid; - grid-template-columns: 1fr; - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - grid-template-areas: "." "."; + .quest-title { + display: flex; + justify-content: space-between; + align-items: center; } - } - .details-header { - position: relative; + .editable-container { + flex: 1; + + input { + margin-bottom: 8px; + height: 28px; + } + } - small { - font-size: 0.9rem; + .splash-image-link { + flex: 0 0 100px; + background-size: cover; + background-position: center; + position: relative; cursor: pointer; - font-style: italic; - margin-left: 20px; + + span { + position: absolute; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + background: rgba(0, 0, 0, .3); + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 28px; + color: rgba(255, 255, 255, .65); + opacity: 1; + transition: opacity .3s ease; + + &:hover { + opacity: 0; + } + } } .actions { - position: absolute; - right: 0; - top: 8px; + flex: 0 0 1px; + padding: 0 8px; i { + font-size: 18px; + transition: color .3s ease; cursor: pointer; + + &:hover { + color: $primary-accent-color; + } } } - } - .quest-giver-gc { - div { - text-align: center; - position: relative; + .quest-title .actions { + border: none; + } - span { - font-weight: bold; - text-align: center; + section { + flex: 1; + display: flex; + background: rgba(255, 255, 255, .15); + border-radius: 5px; + overflow: hidden; + } + + .quest-details { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + padding: 8px 16px; + } + + .quest-giver-name h2 { + display: inline-block; + margin: 0; + border: none; + cursor: pointer; + transition: color .3s ease; + + &:hover { + color: $primary-accent-color; } + } - img { - width: 120px; - height: 120px; - border: none; - object-fit: cover; - border-radius: 6px; + .quest-status { + display: flex; + + p { + margin: 0 8px 0 0; } - .toggleImage { - position: absolute; - bottom: 5px; - right: 5px; + p::after { + content: '|'; + margin-left: 8px; + } + + p:last-child { + margin: 0; + } + + p:last-child::after { + content: none; } - span, img, .toggleImage { + .quest-name { + transition: color .3s ease; cursor: pointer; + + i { + font-size: 12px; + } + + &:hover { + color: $primary-accent-color; + } } } } + } - .description-gc { - .description { - height: 100%; - overflow: auto; + .quest-info { + display: flex; + flex: 1; + overflow-y: hidden; + + header { + display: flex; + justify-content: space-between; + } + + .quest-col-right button { + flex: 0 0 1px; + white-space: nowrap; + height: 18px; + font-size: 12px; + line-height: 1; + + i { + font-size: 10px; } + } - .editor { - height: 100%; + .quest-description { + flex: 0 0 50%; + height: 100%; + overflow-y: hidden; + margin-right: 8px; - .editor-content { + .description { + height: calc(100% - 26px); + overflow: hidden; + background: rgba(255, 255, 255, .4); + border-radius: 5px; + padding: 8px; + + .description-content { height: 100%; overflow: auto; + padding: 0 4px 0 0; } } } - .del-btn { - cursor: pointer; - margin-left: 10px; + .quest-col-right { + flex: 1; + display: flex; + flex-direction: column; - i { - pointer-events: none; + h2 { + border: none; + margin: 0; } - } - .tasks-gc { - .add-new-task { - cursor: pointer; + header { + border-bottom: 2px solid #782e22; + margin-bottom: 4px; + flex: 0 0 1px; } - .tasks-box { - overflow: auto; + .quest-tasks, + .quest-rewards { + flex: 0 0 calc(50% - 8px); + display: flex; + flex-direction: column; + overflow-y: hidden; - .task { - display: grid; - grid-template-columns: 26px auto 18px; - gap: 1px 1px; - grid-template-areas: ". . ."; - margin-right: 15px; - margin-top: 5px; - min-height: 20px; + .quest-box { + flex: 1; + overflow-y: hidden; + } - .quest-name { - font-weight: bold; - cursor: pointer; - font-style: italic; - } + ul { + height: 100%; + overflow-y: auto; + margin: 0; + padding: 0; + list-style: none; + display: flex; + flex-direction: column; - .editable-container { + li { display: flex; + border-radius: 5px; + background: rgba(255, 255, 255, .3); + margin: 0 4px 2px 0; align-items: center; + } + } + + .actions { + flex: 0 0 100px; + height: 100%; + cursor: default; - .toggleHidden { - margin-right: 4px; + i { + min-width: 16px; + text-align: center; + } + + .fa-sort { + cursor: move; + } + + .del-btn { + color: rgba(255, 0, 0, .4); + + &:hover { + color: $primary-accent-color; } } - .state-container { - position: relative; + .fa-pen { + font-size: 14px; + } + } + + .editable-container { + flex: 1; + padding: 4px 8px; + + p { + margin: 0; + } + + input { + padding: 0 4px; + line-height: 14px; + height: 16px; + } + } + } + + .quest-tasks { + margin-bottom: 16px; + + .toggleState { + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 32px; + height: 100%; + border-right: 1px solid rgba(0, 0, 0, .15); + font-size: 18px; + cursor: pointer; + transition: color .3s ease; + + &:hover { + color: $primary-accent-color; + } + } + + .state-container { + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 32px; + height: 100%; + border-right: 1px solid rgba(0, 0, 0, .15); + font-size: 18px; + + .state-display { + background: rgba(0, 0, 0, .05); + border: 1px solid rgba(0, 0, 0, .3); + width: 16px; + height: 16px; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; i { - &.state { - top: 2px; - left: 3px; - font-size: 1.1em; - - &.fa-check, &.fa-times { - position: absolute; - } - - &.fa-check { - color: #229933; - } - - &.fa-times { - color: #993322; - } - - &.hidden { - display: none; - } - } - - &.state-background { - top: 1px; - font-size: 1.35em; - position: absolute; - opacity: 0.6; - } + font-size: 11px; + line-height: 16px; } } } - } - } - .rewards-gc { + .quest-name { + cursor: pointer; + transition: color .3s ease; + margin: 0; + padding: 4px 8px; + display: inline-block; + + &:hover { + color: $primary-accent-color; + } - .add-abstract { - opacity: 0.7; - cursor: pointer; + i { + font-size: 12px; + } + } + + .task-hidden { + background: rgba(0, 0, 0, .15); + + .task-name { + opacity: .5; + } + } } - .rewards-box { - height: 100%; - position: relative; - overflow: auto; + .quest-rewards { + + .reward { + flex: 0 0 25px; + } .drop-info { - font-size: 1.6em; - font-variant: small-caps; + flex: 1 0 25px; + line-height: 20px; + border: 2px dashed rgba(0, 0, 0, .5); + border-radius: 5px; + padding: 0 16px; text-align: center; - color: #666; - margin: 0 20px; - position: absolute; - top: 50%; - transform: translate(0, -50%); + margin-right: 4px; + margin-bottom: 4px; + background: transparent; + justify-content: center; } - .reward { - margin-bottom: 2px; + .reward-hidden { + background: rgba(0, 0, 0, .15); - img { - width: 34px; - height: 34px; - margin-right: 8px; - float: left; + .reward-image { + opacity: .5; } - .name { - line-height: 34px; + .reward-name { + opacity: .5; } + } - &.abstract-reward { - opacity: 0.85; - font-style: italic; - } + .reward-image-container { + height: 100%; + flex: 0 0 25px; + display: flex; + align-items: center; + border-radius: 5px 0 0 5px; + overflow: hidden; + background-color: #222; } - } - } - i.fas.toggleHidden { - cursor: pointer; + .reward-image { + width: 25px; + height: 25px; + background-size: cover; + background-position: center; + } - &.fa-eye-slash { - color: #666; + .reward-name { + flex: 1; + font-size: 14px; + font-weight: 400; + margin: 0; + padding-right: 8px; + } } } + } .management { - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); - gap: 1px 1px; - height: 100%; - &.active { - display: grid; + .row { + display: flex; + flex: 0 0 1px; } - .part { - &.personal-quest { - display: grid; - grid-auto-rows: auto minmax(0, 1fr); - grid-template-columns: minmax(0, 1fr); - gap: 1px 1px; - - .quest-is-personal { - display: grid; - grid-template-columns: auto 1fr; - grid-template-rows: auto auto; - gap: 1px 1px; - grid-template-areas: ". ." "desc desc"; - - label { - display: flex; - align-items: center; - } + .quest-settings { + display: flex; + flex-direction: column; + flex: 1; + margin-right: 8px; + height: 226px; - .personal-quest-description { - grid-area: desc; - } + .setting-groups { + flex: 0 0 1px; + + .personal-quest-description { + font-size: 13px; + margin: 4px 0 2px 26px; } + } - .user-column-container { - overflow-y: scroll; - overflow-x: hidden; - width: 100%; /*modify to suit*/ - height: 100%; /*modify to suit*/ + .input-group { + display: flex; + align-items: center; + background: rgba(255, 255, 255, .4); + border-radius: 5px; + padding: 2px; + margin-bottom: 2px; + } - .user-columns { - padding: 8px; - columns: 2; - overflow-y: hidden; - overflow-x: hidden; - column-fill: balance; + input[type="checkbox"] { + flex: 0 0 20px; + width: 20px; + height: 20px; + margin: 0; + } - .users { - height: 100%; + label { + margin: 0 0 0 4px; + width: calc(100% - 20px); + overflow: hidden; + text-overflow: ellipsis; + } + } + + .personal-quest-settings { + margin-left: 26px; + flex: 1; + overflow: hidden; + + ul { + margin: 0; + padding: 0 2px 0 0; + list-style: none; + display: flex; + flex-wrap: wrap; + width: calc(100% + 2px); + margin-left: -2px; + height: 100%; + overflow-y: auto; - .user { - break-inside: avoid-column; - display: flex; + &.disabled { + opacity: .5; - &.disabled { - color: #666666; - } + li { + cursor: default; - label { - align-self: center; - } - } + &:hover { + background: inherit; } } + + input, label { + cursor: default; + } } - } - &.quest-splash { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: auto minmax(0, 1fr); - gap: 1px 1px; - height: 100%; + li { + cursor: pointer; + flex: 0 0 calc(100% / 4 - 4px); + display: flex; + align-items: center; + background: rgba(255, 255, 255, .4); + border-radius: 5px; + padding: 2px 8px 2px 2px; + margin: 2px; + white-space: nowrap; + overflow: hidden; + + &:hover { + background: rgba(255, 255, 255, .6); + } - & > * { - justify-self: center; + input, label { + cursor: pointer; + } } + } + } - .label { - font-weight: bold; - } + .quest-splash { + flex: 0 0 calc(100% / 3); - .splash-img { - height: 100%; - min-width: 50%; - object-fit: cover; + .splash-image { + width: 100%; + height: 200px; + background-size: cover; + background-position: center; + background-color: rgba(255, 255, 255, .4); + border-radius: 5px; + cursor: pointer; + + &:hover { + background-color: rgba(255, 255, 255, .6); } } + } - &.subquests { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: auto minmax(0, 1fr) auto; - gap: 1px 1px; - height: 100%; + .subquests { + flex: 1; + display: flex; + flex-direction: column; + margin-top: 16px; + overflow: hidden; - ul.subquests-box { - overflow-y: auto; + h2 { + flex: 0 0 1px; + } - li { - .subquest { - display: grid; - grid-template-columns: minmax(0, 1fr) auto; - gap: 1px 1px; - - .quest-name { - font-weight: bold; - cursor: pointer; - } - - .actions { - i { - margin-left: 6px; - cursor: pointer; - } - } - } + .subquests-box { + flex: 1; + overflow-y: auto; + margin: 0; + padding: 0; + list-style: none; + + li { + display: flex; + align-items: center; + background: rgba(255, 255, 255, .3); + height: 30px; + border-radius: 5px; + margin: 0 4px 2px 0; + border: 1px solid transparent; + transition: border-color .3s ease, box-shadow .3s ease; + + &:hover { + border-color: $primary-accent-color; + box-shadow: 0 0 2px $primary-accent-color inset; } } + + h2 { + flex: 1; + border: none; + margin: 0 8px; + font-size: 14px; + line-height: 30px; + cursor: pointer; + transition: color .3s ease; + } + + .actions { + flex: 0 0 100px; + height: 100%; + } + } + + footer { + flex: 0 0 1px; + margin: 8px 0 0 0; } } + + } + + .editor { + height: calc(100% - 26px); } - .gmnotes { - height: 100%; + .gmnotes .editor { + height: calc(100% - 36px); + } - .editor { - height: 100%; + .tox .tox-toolbar-overlord { + background-color: transparent; + border-bottom: 1px solid #222; + padding-bottom: 4px; + } - .editor-content { - height: 100%; - } - } + .tox .tox-toolbar, + .tox .tox-toolbar__overflow, + .tox .tox-toolbar__primary { + background: transparent; + background-color: transparent; + } + + .tox.tox-tinymce .tox-tbtn { + padding: 0; + margin: 0 0 0 4px; + width: 32px; } + + .tox.tox-tinymce .tox-tbtn[title="Formats"] { + width: 90px; + } + } } diff --git a/templates/partials/quest-log/tab.html b/templates/partials/quest-log/tab.html index 8efa6174..a25eb723 100644 --- a/templates/partials/quest-log/tab.html +++ b/templates/partials/quest-log/tab.html @@ -1,57 +1,45 @@

    {{format 'ForienQuestLog.Quests' (localize (lookup questTypes tab))}}

    - - - - - - {{#unless (eq showTasks 'no')}} - - {{/unless}} - {{#if (or isGM canAccept)}} - - {{/if}} - - - - {{#each quests}} - - - - {{#unless (eq ../showTasks 'no')}} - - {{/unless}} - {{#if (or ../isGM ../canAccept)}} - - {{/if}} - - {{/each}} - -
    {{localize 'ForienQuestLog.QuestLog.Table.QuestGiver'}}{{localize 'ForienQuestLog.QuestLog.Table.QuestTitle'}}{{localize 'ForienQuestLog.QuestLog.Table.Tasks'}}{{localize 'ForienQuestLog.QuestLog.Table.Actions'}}
    {{#if giver.img}}{{/if}} - {{#if (and personal ../isGM)}} - - {{/if}} - {{title}} {{#if isSubquest}} - {{format 'ForienQuestLog.QuestPreview.SubTitle' parent.name}} - {{/if}} - {{checkedTasks}}{{#unless (eq ../showTasks 'onlyCurrent')}}/{{totalTasks}}{{/unless}} - {{#if ../isGM}} - {{#if (and (eq ../tab 'hidden') ../availableTab)}} - - {{/if}} - {{/if}} - {{#if (or (eq ../tab 'hidden') (eq ../tab 'available'))}} - - {{/if}} - {{#if ../isGM}} - {{#if (eq ../tab 'active')}} - - - {{/if}} - {{#unless (eq ../tab 'hidden')}} - - {{/unless}} - - {{/if}} -
    +
    diff --git a/templates/partials/quest-preview/details.html b/templates/partials/quest-preview/details.html index b86aa828..e7e9d3d4 100644 --- a/templates/partials/quest-preview/details.html +++ b/templates/partials/quest-preview/details.html @@ -1,118 +1,179 @@ -
    -
    -

    - {{title}} - {{#if isSubquest}} - {{format 'ForienQuestLog.QuestPreview.SubTitle' parent.name}} - {{/if}} -

    -
    - {{#if canEdit}} - {{#if (eq status 'hidden')}} - - {{/if}} - {{#if (or (eq status 'hidden') (eq status 'available'))}} - - {{/if}} - {{#if (eq status 'active')}} - - - {{/if}} - {{#unless (eq status 'hidden')}} - - {{/unless}} - {{/if}} +
    +
    + {{#with giver}} +
    + {{#if (and ../canEdit ../image)}} + + {{/if}} + + {{/with}} +
    + +
    +
    +
    +

    + {{title}} +

    +
    + {{#if canEdit}} +
    + +
    + {{/if}} +
    +
    +
    + +
    + {{#with giver}} +

    {{name}}

    + {{/with}} +
    +
    +

    + Quest is {{this.statusLabel}} +

    + {{#if isSubquest}} +

    {{format 'ForienQuestLog.QuestPreview.SubTitle' parent.name}}

    + {{/if}}
    +
    + + {{#if splash.length}} + + {{/if}} + + {{#if canEdit}} +
    + {{#if (or (eq status 'hidden') (eq status 'available'))}} + + {{/if}} + {{#if (eq status 'hidden')}} + + {{/if}} + {{#if (eq status 'active')}} + + + {{/if}} + {{#unless (eq status 'hidden')}} + + {{/unless}} +
    + {{/if}} +
    + +
    + +
    + +
    + +
    +

    Quest Description

    + {{#if canEdit}} + {{{editor target="description" content=description button=true editable=true owner=canEdit}}} + {{else}} +
    +
    {{{description}}}
    -
    -
    - {{#with giver}} -
    - - {{#if ../canEdit}} - - {{/if}} -
    -
    - {{name}} + {{/if}} +
    + +
    + +
    +
    +

    {{localize 'ForienQuestLog.QuestPreview.Objectives'}}

    + {{#if canEdit}}{{/if}} +
    +
    +
      + {{#each subquests}} + {{#if this.name}} +
    • +
      + + + +
      - {{/with}} -
      {{this.statusLabel}}
      -
    -
    - {{#if canEdit}} - {{{editor target="description" content=description button=true editable=true owner=canEdit}}} +

    {{name}}

    + + {{/if}} + {{/each}} + {{#each tasks}} +
  • + {{#if ../canEdit}} + {{else}} -
    {{{description}}}
    +
    + + + + +
    {{/if}} -
  • -
    -

    {{localize 'ForienQuestLog.QuestPreview.Objectives'}} {{#if canEdit}}| {{localize 'ForienQuestLog.Buttons.AddNewTask'}}{{/if}}

    -
    - {{#each subquests}} - {{#if this.name}} -
    - - - - - - - {{name}} - -
    - {{/if}} - {{/each}} - {{#each tasks}} -
    - {{#if ../canEdit}} - - {{else}} - - - - - - {{/if}} - - {{#if ../canEdit}} - {{#if hidden}} - - {{else}} - - {{/if}} - {{/if}} - {{{name}}} - - {{#if ../canEdit}} - - {{/if}} -
    - {{/each}} +
    +

    {{{name}}}

    -
    -
    -

    {{localize 'ForienQuestLog.QuestPreview.Rewards'}}{{#if canEdit}} | {{/if}}

    -
    - {{#if noRewards}} - {{localize 'ForienQuestLog.QuestPreview.DragDropRewards'}} - {{else}} - {{#each rewards}} -
    - - {{#if ../canEdit}} - {{#if hidden}} - - {{else}} - - {{/if}} - {{/if}} - {{data.name}} - {{#if ../canEdit}}{{/if}} -
    - {{/each}} - {{/if}} + {{#if ../canEdit}} +
    + + + {{#if hidden}} + + {{else}} + + {{/if}} +
    -
    + {{/if}} + + {{/each}} + +
    +
    + +
    +
    +

    {{localize 'ForienQuestLog.QuestPreview.Rewards'}}

    + {{#if canEdit}} {{/if}} +
    +
    +
      + {{#each rewards}} +
    • +
      +
      +
      +
      +

      {{data.name}}

      +
      + {{#if ../canEdit}} +
      + + + {{#if hidden}} + + {{else}} + + {{/if}} + +
      + {{/if}} + +
    • + {{/each}} + {{#if canEdit}} +
    • {{localize 'ForienQuestLog.QuestPreview.DragDropRewards'}}
    • + {{/if}} +
    +
    -
    + + + + diff --git a/templates/partials/quest-preview/gmnotes.html b/templates/partials/quest-preview/gmnotes.html index d12c1d2a..80963822 100644 --- a/templates/partials/quest-preview/gmnotes.html +++ b/templates/partials/quest-preview/gmnotes.html @@ -1 +1,2 @@ +

    {{localize 'ForienQuestLog.QuestPreview.Tabs.GMNotes'}}

    {{{editor target="gmnotes" content=gmnotes button=true editable=true owner=true}}} diff --git a/templates/partials/quest-preview/management.html b/templates/partials/quest-preview/management.html index 28768111..5529c732 100644 --- a/templates/partials/quest-preview/management.html +++ b/templates/partials/quest-preview/management.html @@ -1,52 +1,57 @@ -
    -
    +
    +
    +

    Quest Settings

    +
    +
    + + +
    +
    - {{localize 'ForienQuestLog.QuestPreview.Management.IsPersonalQuestDescription'}} -
    -
    -
    -
    - {{#each users}} -
    - - -
    - {{/each}} -
    -
    +
    +

    {{localize 'ForienQuestLog.QuestPreview.Management.IsPersonalQuestDescription'}}

    -
    -
    -
    {{localize 'ForienQuestLog.QuestPreview.Management.SplashArt'}}
    - -
    -
    -
    {{localize 'ForienQuestLog.QuestPreview.Management.QuestBranching'}}
    -
      - {{#each subquests}} -
    • - - {{this.name}} - - {{#if (eq this.status 'hidden')}} - - {{/if}} - {{#if (eq this.status 'active')}} - - - {{/if}} - - - +
      +
        + {{#each users}} +
      • + +
      • {{/each}} -
      - -
    -
    -
    - - +
    +
    + +
    +

    {{localize 'ForienQuestLog.QuestPreview.Management.SplashArt'}}

    +
    +
    +
    +
    +

    {{localize 'ForienQuestLog.QuestPreview.Management.QuestBranching'}}

    +
      + {{#each subquests}} +
    • +

      {{this.name}}

      +
      + + {{#if (eq this.status 'active')}} + + + {{/if}} + {{#if (eq this.status 'hidden')}} + + {{else}} + + {{/if}} + +
      +
    • + {{/each}} +
    +
    + +
    diff --git a/templates/quest-form.html b/templates/quest-form.html index cfa5c1ac..d3e69e9a 100644 --- a/templates/quest-form.html +++ b/templates/quest-form.html @@ -1,35 +1,42 @@
    -
    - -
    - - - - -
    -
    - - - {{localize 'ForienQuestLog.QuestForm.DragDropActor'}} -
    +
    +

    {{localize 'ForienQuestLog.QuestForm.QuestGiver'}}

    +
    +
    + + {{localize 'ForienQuestLog.QuestForm.DragDropActor'}} + +
    +
    +
    + + +
    + +
    +
    +
    -
    - - {{editor target="description" button=true editable=true}} -
    -
    - - {{editor target="gmnotes" button=true editable=true}} -
    -
    -

    {{localize 'ForienQuestLog.QuestLog.Table.Tasks'}} | {{localize 'ForienQuestLog.Buttons.AddNewTask'}}

    -
    +
    +

    {{localize 'ForienQuestLog.QuestForm.QuestTitle'}}

    + +
    -
    -
    - +
    +
    +

    {{localize 'ForienQuestLog.QuestForm.QuestDescription'}}

    + {{editor target="description" button=true editable=true}} +
    +
    +

    {{localize 'ForienQuestLog.QuestForm.QuestGMNotes'}}

    + {{editor target="gmnotes" button=true editable=true}}
    +
    +
    + +
    diff --git a/templates/quest-log.html b/templates/quest-log.html index c4005f07..fc511e18 100644 --- a/templates/quest-log.html +++ b/templates/quest-log.html @@ -34,6 +34,7 @@ {{#if (or isGM canCreate)}}
    +
    {{/if}}
    diff --git a/templates/quest-preview.html b/templates/quest-preview.html index 8447442b..59253833 100644 --- a/templates/quest-preview.html +++ b/templates/quest-preview.html @@ -1,20 +1,22 @@
    -