diff --git a/komga-webui/src/components/ItemCard.vue b/komga-webui/src/components/ItemCard.vue index 8c5054834..fb2c8bb53 100644 --- a/komga-webui/src/components/ItemCard.vue +++ b/komga-webui/src/components/ItemCard.vue @@ -10,7 +10,7 @@ import Vue from 'vue' -import { bookPageThumbnailUrl } from '@/functions/urls' +import {bookPageThumbnailUrl} from '@/functions/urls' export default Vue.extend({ name: 'ThumbnailExplorerDialog', diff --git a/komga-webui/src/types/image.ts b/komga-webui/src/types/image.ts new file mode 100644 index 000000000..839b279d6 --- /dev/null +++ b/komga-webui/src/types/image.ts @@ -0,0 +1 @@ +export const coverBase64 = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgICAgICB4bWxuczpvc2I9Imh0dHA6Ly93d3cub3BlbnN3YXRjaGJvb2sub3JnL3VyaS8yMDA5L29zYiIKICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgICAgICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgICAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgICAgICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgICAgICBoZWlnaHQ9IjI5N21tIgogICAgICAgIHZpZXdCb3g9IjAgMCA3OTMuNzAwODEgMTEyMi41MTk3IgogICAgICAgIHdpZHRoPSIyMTBtbSIKICAgICAgICB2ZXJzaW9uPSIxLjEiCiAgICAgICAgaWQ9InN2ZzQ1ODYiCiAgICAgICAgc29kaXBvZGk6ZG9jbmFtZT0iY292ZXIuc3ZnIgogICAgICAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAoNWRhNjg5YzMxMywgMjAxOS0wMS0xNCkiPgogICAgPG1ldGFkYXRhCiAgICAgICAgICAgIGlkPSJtZXRhZGF0YTQ1OTIiPgogICAgICAgIDxyZGY6UkRGPgogICAgICAgICAgICA8Y2M6V29yawogICAgICAgICAgICAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgICAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPgogICAgICAgICAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgICAgICAgIDwvY2M6V29yaz4KICAgICAgICA8L3JkZjpSREY+CiAgICA8L21ldGFkYXRhPgogICAgPGRlZnMKICAgICAgICAgICAgaWQ9ImRlZnM0NTkwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDYwODIiCiAgICAgICAgICAgICAgICBvc2I6cGFpbnQ9InNvbGlkIj4KICAgICAgICAgICAgPHN0b3AKICAgICAgICAgICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICAgICAgaWQ9InN0b3A2MDgwIi8+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDYwNzYiCiAgICAgICAgICAgICAgICBvc2I6cGFpbnQ9InNvbGlkIj4KICAgICAgICAgICAgPHN0b3AKICAgICAgICAgICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICAgICAgaWQ9InN0b3A2MDc0Ii8+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgICAgICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDYwODIiCiAgICAgICAgICAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ2MDg0IgogICAgICAgICAgICAgICAgeDE9Ijc3Ljg2NjgxNCIKICAgICAgICAgICAgICAgIHkxPSIzODYuMDA2NzciCiAgICAgICAgICAgICAgICB4Mj0iMjE3LjIwMjU5IgogICAgICAgICAgICAgICAgeTI9IjM4Ni4wMDY3NyIKICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIi8+CiAgICAgICAgPGZpbHRlcgogICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpzUkdCIgogICAgICAgICAgICAgICAgaW5rc2NhcGU6bGFiZWw9IkdyZXlzY2FsZSIKICAgICAgICAgICAgICAgIGlkPSJmaWx0ZXI0NTQxIj4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXgKICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjAuMjEgMC43MiAwLjA3MiAwIDAgMC4yMSAwLjcyIDAuMDcyIDAgMCAwLjIxIDAuNzIgMC4wNzIgMCAwIDAgMCAwIDEgMCAiCiAgICAgICAgICAgICAgICAgICAgaWQ9ImZlQ29sb3JNYXRyaXg0NTM5Ii8+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGZpbHRlcgogICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpzUkdCIgogICAgICAgICAgICAgICAgaW5rc2NhcGU6bGFiZWw9IkdyZXlzY2FsZSIKICAgICAgICAgICAgICAgIGlkPSJmaWx0ZXI0NTQ1Ij4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXgKICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IjAuMjEgMC43MiAwLjA3MiAwIDAgMC4yMSAwLjcyIDAuMDcyIDAgMCAwLjIxIDAuNzIgMC4wNzIgMCAwIDAgMCAwIDEgMCAiCiAgICAgICAgICAgICAgICAgICAgaWQ9ImZlQ29sb3JNYXRyaXg0NTQzIi8+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgICAgICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICAgICAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgICAgICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgICAgICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgICAgICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgICAgICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgICAgICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgICAgICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgICAgICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE2NTYiCiAgICAgICAgICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEzNjgiCiAgICAgICAgICAgIGlkPSJuYW1lZHZpZXc0NTg4IgogICAgICAgICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgICAgICAgIGlua3NjYXBlOnpvb209IjAuMzEyODExODgiCiAgICAgICAgICAgIGlua3NjYXBlOmN4PSI1NDYuMjg4MjciCiAgICAgICAgICAgIGlua3NjYXBlOmN5PSIxNDU2LjcxNjkiCiAgICAgICAgICAgIGlua3NjYXBlOndpbmRvdy14PSItNyIKICAgICAgICAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgICAgICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjAiCiAgICAgICAgICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQ1ODYiCiAgICAgICAgICAgIGlua3NjYXBlOnNuYXAtcGFnZT0idHJ1ZSIKICAgICAgICAgICAgdW5pdHM9Im1tIgogICAgICAgICAgICBzaG93Ym9yZGVyPSJ0cnVlIgogICAgICAgICAgICB2aWV3Ym94LXdpZHRoPSIxIgogICAgICAgICAgICB2aWV3Ym94LWhlaWdodD0iMSIKICAgICAgICAgICAgc2NhbGUteD0iMC42MDAwMSIvPgogICAgPHJlY3QKICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzAwNWVkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi4yMTI3NDk3MjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjQ1NDEpIgogICAgICAgICAgICBpZD0icmVjdDgyNiIKICAgICAgICAgICAgd2lkdGg9IjU5NS4yNzU1NyIKICAgICAgICAgICAgaGVpZ2h0PSI4NDEuODg5NzciCiAgICAgICAgICAgIHg9IjEuNzc2MzU2OGUtMTQiCiAgICAgICAgICAgIHk9Ii0yLjM3ODkyOTNlLTA1IgogICAgICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzMzQsMCwwLDEuMzMzMzMzMywwLDcuOTI5NzYyOWUtNikiLz4KICAgIDxnCiAgICAgICAgICAgIGlkPSJnNDUzNyIKICAgICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzMzM0LDAsMCwxLjMzMzMzMzMsMjMuNTE3MDYyLDE2LjA3MzUxNykiCiAgICAgICAgICAgIHN0eWxlPSJmaWx0ZXI6dXJsKCNmaWx0ZXI0NTQ1KSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiNmZjAzMzUiCiAgICAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgICAgaWQ9InBhdGg0NTYwIgogICAgICAgICAgICAgICAgZD0ibSAyODAsMjM5LjYzMTk0IDM3LjEwOTM3LDYzLjczODI4IDcwLjU3NDIyLC0zMS40MTQwNiAtMTAuNTI3MzQsNzEuNzE4NzUgNzcuMDc4MTIsMTIuOTEwMTUgLTU0LjE0NDUzLDUyLjMwNDY5IDU0LjE0NDUzLDUyLjMwNDY5IC03Ny4wNzgxMiwxMi45MTAxNSAxMC41MjczNCw3MS43MTg3NSBMIDMxNy4xMDkzNyw1MTQuNDA5MjggMjgwLDU3OC4xNDc1NiBsIC0zNy4xMDkzOCwtNjMuNzM4MjggLTcwLjU3NDIxLDMxLjQxNDA2IDEwLjUyNzM0LC03MS43MTg3NSAtNzcuMDc4MTMsLTEyLjkxMDE1IDU0LjE0NDU0LC01Mi4zMDQ2OSAtNTQuMTQ0NTQsLTUyLjMwNDY5IDc3LjA3ODEzLC0xMi45MTAxNSAtMTAuNTI3MzQsLTcxLjcxODc1IDcwLjU3NDIxLDMxLjQxNDA2IHogbSAwLDAiLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2MyMDAxYiIKICAgICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICAgICBpZD0icGF0aDQ1NjIiCiAgICAgICAgICAgICAgICBkPSJtIDQ1NC4yMzA0Nyw0NjEuMTkwNTMgLTc3LjA3MDMxLDEyLjkxMDE2IDEwLjUxOTUzLDcxLjcxODc1IEwgMzE3LjEwOTM4LDUxNC40MDkyOCAyODAsNTc4LjE1MTQ3IFYgMjM5LjYyODAzIGwgMzcuMTA5MzgsNjMuNzQyMTkgNzAuNTcwMzEsLTMxLjQxMDE2IC02Ljc1NzgxLDQ2LjEwMTU2IC0zLjc2MTcyLDI1LjYxNzE5IDU4LjgwMDc4LDkuODUxNTYgMTguMjY5NTMsMy4wNTg2IC0xMy4zOTA2MywxMi45Mjk2OSAtNDAuNzUsMzkuMzcxMDkgMTEuMzc4OTEsMTAuOTg4MjggeiBtIDAsMCIvPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDojZmZkZjQ3IgogICAgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgICAgIGlkPSJwYXRoNDU2NCIKICAgICAgICAgICAgICAgIGQ9Ik0gMjgwLDYwNy45NTYxNiAyMzYuNjk1MzEsNTMzLjU4NTA2IDE1My41MTk1Myw1NzAuNjA4NSAxNjUuODY3MTksNDg2LjQ2Nzg3IDczLjk0OTIxOSw0NzEuMDczMzQgMTM4LjMyMDMxLDQwOC44ODk3NSA3My45NDkyMTksMzQ2LjcwNjE2IDE2NS44NjcxOSwzMzEuMzExNjIgMTUzLjUxOTUzLDI0Ny4xNzEgMjM2LjY5OTIyLDI4NC4xOTQ0NCAyODAsMjA5LjgyMzM1IGwgNDMuMzA0NjksNzQuMzcxMDkgODMuMTc1NzgsLTM3LjAyMzQ0IC0xMi4zNDc2Niw4NC4xNDA2MiA5MS45MTc5NywxNS4zOTQ1NCAtNjQuMzcxMDksNjIuMTgzNTkgNjQuMzcxMDksNjIuMTgzNTkgLTkxLjkxNzk3LDE1LjM5ODQ0IDEyLjM0NzY2LDg0LjEzNjcyIC04My4xNzU3OCwtMzcuMDIzNDQgeiBNIDI0OS4wODIwMyw0OTUuMjMzNSAyODAsNTQ4LjMzNTA2IDMxMC45MTc5Nyw0OTUuMjMzNSAzNjguODgyODEsNTIxLjAzNDI4IDM2MC4xNzk2OSw0NjEuNzQxMzEgNDIyLjQxNzk3LDQ1MS4zMTU1MyAzNzguNSw0MDguODg5NzUgNDIyLjQxNzk3LDM2Ni40NjM5NyAzNjAuMTc5NjksMzU2LjAzODE5IDM2OC44ODI4MSwyOTYuNzQ1MjIgMzEwLjkxNzk3LDMyMi41NDYgMjgwLDI2OS40NDQ0NCAyNDkuMDgyMDMsMzIyLjU0NiBsIC01Ny45NjQ4NCwtMjUuODAwNzggOC43MDMxMiw1OS4yOTI5NyAtNjIuMjM4MjgsMTAuNDI1NzggNDMuOTE3OTcsNDIuNDI1NzggLTQzLjkxNzk3LDQyLjQyNTc4IDYyLjIzODI4LDEwLjQyNTc4IC04LjcwMzEyLDU5LjI5Mjk3IHogbSAwLDAiLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZlYzAwMCIKICAgICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICAgICBpZD0icGF0aDQ1NjYiCiAgICAgICAgICAgICAgICBkPSJtIDQyNy4zMDg1OSw0MTQuMzMxMTYgLTUuNjI4OSwtNS40NDE0MSAyNS4xNjAxNSwtMjQuMzAwNzggMzkuMjEwOTQsLTM3Ljg3ODkxIC01NS43NSwtOS4zMzk4NCAtMzYuMTcxODcsLTYuMDU4NiAyLjgwMDc4LC0xOS4wOTM3NSA5LjU1MDc4LC02NS4wNDY4NyAtODMuMTc5NjksMzcuMDE5NTMgTCAyODAsMjA5LjgxOTQ0IHYgNTkuNjIxMDkgbCAzMC45MjE4OCw1My4xMDkzOCA1Ny45NTcwMywtMjUuODA4NiAtMy45MTAxNiwyNi42Njc5NyAtMi41NDY4NywxNy4zNzg5MSAtMi4yNDIxOSwxNS4yNSAyLjQ4MDQ3LDAuNDIxODcgNTkuNzYxNzIsMTAuMDA3ODEgLTQzLjkyMTg4LDQyLjQyMTg4IDE2Ljk2ODc1LDE2LjM5MDYyIDI2Ljk1MzEzLDI2LjAzMTI1IC02Mi4yNDIxOSwxMC40Mjk2OSA4LjY5OTIyLDU5LjI5Njg4IC01Ny45NTcwMywtMjUuODA4NiBMIDI4MCw1NDguMzM4OTcgdiA1OS42MjEwOSBsIDQzLjMwMDc4LC03NC4zNzEwOSA4My4xNzk2OSwzNy4wMTk1MyAtMTIuMzUxNTYsLTg0LjE0MDYzIDkxLjkyMTg3LC0xNS4zOTg0MyB6IG0gMCwwIi8+CiAgICAgICAgPGcKICAgICAgICAgICAgICAgIGlkPSJ0ZXh0NDU5NiIKICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToyOTYuNTU5NjkyMzhweDtsaW5lLWhlaWdodDoxMjUlO2ZvbnQtZmFtaWx5OkltcGFjdDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOkltcGFjdDtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuNTQ1Mjg5OTk7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgICAgICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMTU5MDg0NiwtMC4zNDQ2NzIyMSwwLjIyNzg5NjkzLDAuNzk0OTgxLDI0LDE1Mi44ODk3NSkiCiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJLIj4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgICAgICAgIGlkPSJwYXRoODI0IgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Mjk2LjU1OTY5MjM4cHg7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjU0NTI4OTk5O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICAgICAgICAgICAgICAgZD0ibSAyMjAuOTE0OTcsMjY2LjkwMzUgLTM0Ljg5Nzg5LDEwNS44NTIxMSAzOC4yMjg0LDEyOC41ODY0MyBIIDE2MS4yNTU1IEwgMTM2LjYzODczLDQwMC44NDc2OSBWIDUwMS4zNDIwNCBIIDc1LjY3NjAyMSBWIDI2Ni45MDM1IGggNjAuOTYyNzA5IHYgOTEuMDgyMDUgbCAyNy4wNzg0NSwtOTEuMDgyMDUgeiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg=='