diff --git a/README.md b/README.md index 93c202b..1d6d2f7 100644 --- a/README.md +++ b/README.md @@ -105,21 +105,10 @@ TABLE=true SMILE=true # Allow Markdown in item notes. Does not work with TABLE=false. Defaults to false. MARKDOWN=false - -## Custom HTML Snippets -# These are inserted into specific locations in the relevant page -# HTML is not escaped. Don't put untrusted data here. -# CUSTOM_HTML_LOGIN=

Some custom text for the Login page

-# CUSTOM_HTML_WISHLISTS= - -# Custom CSS stylesheet -# If you wish to include a custom stylesheet you can add the filename in the variable here. -# Remember to add the stylesheet to the filesystem at `static/css/custom.css`. In docker, mount `/usr/src/app/src/static/css/custom.css`. -# CUSTOM_CSS=custom.css ``` ## Default Profile Pictures -To replace the default snowman profile pictures, replace the files in `static/img/default-pfps`. In docker, mount `/usr/src/app/src/static/img/default-pfps`. +To replace the default snowman profile pictures, replace the files in `static/img/default-pfps`. In docker, mount `/usr/src/app/static/img/default-pfps`. ## Startup ```sh diff --git a/docker-compose.yml b/docker-compose.yml index fb67f56..38878c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,5 @@ services: build: . environment: NODE_ENV: production - BULMASWATCH: Cosmo - MARKDOWN: true - SITE_TITLE: Christmas 2023 ports: - - 80:80 + - 80:80 \ No newline at end of file diff --git a/package.json b/package.json index 7b97059..fd95d4f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "christmas-community", - "version": "1.32.0", + "version": "1.30.3", "description": "Christmas lists for communities", "main": "src/index.js", "scripts": { diff --git a/src/config/index.js b/src/config/index.js index 1ee79e9..75f22bc 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -16,12 +16,7 @@ module.exports = { bulmaswatch: (process.env.BULMASWATCH || 'default').toLowerCase(), pfp: process.env.PFP !== 'false', language: process.env.LANGUAGE?.toLowerCase() || 'en-us', - guestPassword: process.env.GUEST_PASSWORD, - customHtml: { - wishlists: process.env.CUSTOM_HTML_WISHLISTS, - login: process.env.CUSTOM_HTML_LOGIN - }, - customCSS: process.env.CUSTOM_CSS || null + guestPassword: process.env.GUEST_PASSWORD } if (module.exports.guestPassword) module.exports.wishlist.public = false diff --git a/src/languages/cs-cz.js b/src/languages/cs-cz.js index f967765..1b4abd7 100644 --- a/src/languages/cs-cz.js +++ b/src/languages/cs-cz.js @@ -173,7 +173,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_MISSING: 'Položka nenalezena', WISHLIST_UNPLEDGE_SUCCESS: 'Rezervace zrušena!', WISHLIST_UNPLEDGE: 'Zrušit rezervaci', - WISHLIST_URL_LABEL: `Jméno položky nebo odkaz na ni (odkazy na CZ obchody nefunkční) (Podporované obchody)`, + WISHLIST_URL_LABEL: 'Jméno položky nebo odkaz na ni (odkazy na CZ obchody nefunkční) (Podporované obchody)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: 'Nevyplněna položka nebo odkaz na ni.', WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/da-dk.js b/src/languages/da-dk.js deleted file mode 100644 index 6fa5265..0000000 --- a/src/languages/da-dk.js +++ /dev/null @@ -1,187 +0,0 @@ -module.exports.momentLocale = 'da' - -module.exports.strings = { - _NOT_LOCALIZED: key => `${key} er ikke blevet oversat til dansk endnu.`, - ADMIN_CLEAR_WISHLISTS_BUTTON: 'Slet alle ønskelister', - ADMIN_CLEAR_WISHLISTS_DESCRIPTION: 'Advarsel: Dette vil slette alt data! Foretag venligst backup inden du fortsætter.', - ADMIN_CLEAR_WISHLISTS_HEADER: 'Slet ønskelister', - ADMIN_SETTINGS_CLEARDB_BUTTON: 'Slet ønskelister', - ADMIN_SETTINGS_CLEARDB_DESCRIPTION: 'Advarsel: Dette vil slette alt data! Foretag venligst backup inden du fortsætter.', - ADMIN_SETTINGS_CLEARDB_HEADER: 'Slet data', - ADMIN_SETTINGS_CLEARDB_SUCCESS: 'Slet alle ønskelister', - ADMIN_SETTINGS_HEADER: 'Administration', - ADMIN_SETTINGS_USERS_ADD_BUTTON: 'Tilføj bruger', - ADMIN_SETTINGS_USERS_ADD_HEADER: 'Tilføj bruger', - ADMIN_SETTINGS_USERS_ADD_PLACEHOLDER: 'john', - ADMIN_SETTINGS_USERS_ADD_USERNAME: 'Brugernavn', - ADMIN_SETTINGS_USERS_ADD_ERROR_USERNAME_EMPTY: 'Brugernavn er påkrævet', - ADMIN_SETTINGS_USERS_EDIT_DELETE_FAIL_ADMIN: 'Brugeren er administrator', - ADMIN_SETTINGS_USERS_EDIT_DELETE_SUCCESS: name => `Brugeren blev fjernet - ${name}`, - ADMIN_SETTINGS_USERS_EDIT_DEMOTE_NOT_ADMIN: 'Bruger er ikke administrator', - ADMIN_SETTINGS_USERS_EDIT_DEMOTE_SELF: 'Du kan ikke degradere dig selv.', - ADMIN_SETTINGS_USERS_EDIT_DEMOTE_SUCCESS: name => `${name} er ikke længere administrator.`, - ADMIN_SETTINGS_USERS_EDIT_IMPERSONATE_SUCCESS: name => `Du er nu logget ind som ${name}.`, - ADMIN_SETTINGS_USERS_EDIT_NO_USERNAME_PROVIDED: 'Brugernavn er påkrævet', - ADMIN_SETTINGS_USERS_EDIT_PROMOTE_ALREADY_ADMIN: 'Brugeren er allerede administrator', - ADMIN_SETTINGS_USERS_EDIT_PROMOTE_DEMOTE_NOT_FOUND: 'Brugeren blev ikke fundet', - ADMIN_SETTINGS_USERS_EDIT_PROMOTE_SUCCESS: name => `${name} er nu administrator.`, - ADMIN_SETTINGS_USERS_EDIT_RENAMED_USER: 'Omdøb bruger', - ADMIN_SETTINGS_USERS_EDIT_SAME_NAME: 'Brugernavnet er optaget.', - ADMIN_SETTINGS_USERS_EDIT: 'Redigér', - ADMIN_SETTINGS_USERS_HEADER: 'Brugere', - ADMIN_SETTINGS_VERSION_INFO: 'Version', - ADMIN_USER_EDIT_ACCOUNT_UNCONFIRMED: "Kontoen er ikke bekræftet.", - ADMIN_USER_EDIT_ADMIN_ISADMIN: name => `${name} er administrator.`, - ADMIN_USER_EDIT_ADMIN_NOTADMIN: name => `${name} er ikke administrator.`, - ADMIN_USER_EDIT_ADMIN: 'Administrator', - ADMIN_USER_EDIT_CHANGE_NAME: 'Ændre navn', - ADMIN_USER_EDIT_CHANGE_USERNAME: 'Ændre brugernavn', - ADMIN_USER_EDIT_CONFIRMATION_LINK: 'Bekræftelseslink', - ADMIN_USER_EDIT_DELETE_ADMIN: 'Brugeren er administrator', - ADMIN_USER_EDIT_DELETE_HEADER: 'Permanent sletning', - ADMIN_USER_EDIT_DELETE_USER: name => `Slet bruger - ${name}`, - ADMIN_USER_EDIT_DEMOTE_SELF: 'Du kan ikke degradere dig selv', - ADMIN_USER_EDIT_DEMOTE: name => `Degradér ${name}`, - ADMIN_USER_EDIT_EDITING_USER: name => `Rediger bruger - "${name}"`, - ADMIN_USER_EDIT_GENERATE_NEW_LINK: 'Generér nyt link', - ADMIN_USER_EDIT_IMPERSONATE_BUTTON: name => `Log ind som ${name}`, - ADMIN_USER_EDIT_IMPERSONATE_HEADER: 'Log ind som bruger', - ADMIN_USER_EDIT_LINK_EXPIRY_FUTURE: fromNow => `Linket udløbet ${fromNow}`, // fromNow is localized by moment - ADMIN_USER_EDIT_LINK_EXPIRY_PAST: fromNow => `Linket udløb ${fromNow}`, - ADMIN_USER_EDIT_PROMOTE: name => `Forfrem ${name}`, - ADMIN_USER_EDIT_RESET_PASSWORD_HASLINK_EXPIRY_FUTURE: fromNow => `Udløber ${fromNow}`, - ADMIN_USER_EDIT_RESET_PASSWORD_HASLINK_EXPIRY_PAST: fromNow => `Udløb ${fromNow}`, - ADMIN_USER_EDIT_RESET_PASSWORD_HASLINK: 'Der eksistere ikke et gendannelseslink for denne bruger', - ADMIN_USER_EDIT_RESET_PASSWORD_HEADER: 'Gendan adgangskode', - ADMIN_USER_EDIT_RESET_PASSWORD_LINK_CANCEL: 'Annullér gendannelseslink', - ADMIN_USER_EDIT_RESET_PASSWORD_LINK_CREATE: 'Opret gendannelseslink', - ADMIN_USER_EDIT_RESET_PASSWORD_LINK_REFRESH: 'Opdatér gendannelseslink', - ADMIN_USER_EDIT_USERNAME: 'Brugernavn', - BACK_BUTTON: 'Tilbage', - CONFIRM_ACCOUNT_EXPIRED: 'Dit bekræftelseslink er udløbet. Kontakt venligst administoren for et nyt.', - CONFIRM_ACCOUNT_HEADER_INVALID: `${_CC.config.siteTitle} | Bekræftelseslink er ugyldigt`, - CONFIRM_ACCOUNT_HEADER_VALID: `${_CC.config.siteTitle} | Bekræft konto`, - CONFIRM_ACCOUNT_INVALID: "Bekræftelseslinket er ikke gyldigt - kontrollér venligst at linket er komplet.", - CONFIRM_ACCOUNT_SET_PW_BUTTON: `Opret bruger`, - CONFIRM_ACCOUNT_SET_PW_PLACEHOLDER: 'pa$$word!', - CONFIRM_ACCOUNT_SET_PW_TEXT: name => `Hej ${name}! Vælg venligst din adgangskode her.`, - CONFIRM_ACCOUNT_SUCCESS: `Velkommen til ${_CC.config.siteTitle}!`, - LOGIN_BUTTON: 'Log ind', - LOGIN_PASSWORD_PLACEHOLDER: 'pa$$word!', - LOGIN_PASSWORD: 'Adgangskode', - LOGIN_USERNAME_PLACEHOLDER: 'john', - LOGIN_USERNAME: 'Brugernavn', - LOGOUT_BUTTON: 'Log ud', - NAVBAR_ADMIN: 'Adminstration', - NAVBAR_LOGIN: 'Log ind', - NAVBAR_LOGOUT: 'Log ud', - NAVBAR_PROFILE: 'Profil', - NAVBAR_WISHLIST: 'Min ønskeliste', - NOTE_BACK: name => `Tilbage til ${name}'s ønskeliste`, - NOTE_GET_PRODUCT_DATA: 'Hent produktdata', - NOTE_GUARD: 'Forkert bruger', - NOTE_IMAGE_URL: 'Billedlink', - NOTE_MISSING_PROP: prop => `Mangler feltet ${prop}`, // not really possible to localize this unfortunately - NOTE_NAME: 'Navn', - NOTE_NOTE: 'Note', - NOTE_PRICE: 'Pris', - NOTE_REFRESH_DATA: 'Genindlæs data', - NOTE_REMOVE_GUARD: 'Forkert bruger', - NOTE_REMOVE_MISSING: 'Ingen note er tilføjet', - NOTE_REMOVE_SUCCESS: 'Noten er slettet', - NOTE_SAVE_BUTTON: 'Gem note', - NOTE_SUCCESS: 'Noten er gemt', - NOTE_URL: 'Link', - PROFILE_HEADER: 'Profil', - PROFILE_PASSWORD_BUTTON: 'Gem', - PROFILE_PASSWORD_NEW: 'Ny adgangskode', - PROFILE_PASSWORD_OLD_MISMATCH: 'Nuværende adgangskode er forkert', - PROFILE_PASSWORD_OLD: 'Nuværende adgangskode', - PROFILE_PASSWORD_PLACEHOLDER: 'pa$$word!', - PROFILE_PASSWORD_REQUIRED_NEW: 'Ny adgangskode er påkrævet', - PROFILE_PASSWORD_REQUIRED_OLD: 'Nuværende adgangskode er påkrævet', - PROFILE_PASSWORD_SUCCESS: 'Ændringerne er gemt.', - PROFILE_PASSWORD_TITLE: name => `Profilindstillinger - Adgangskode - ${name}`, - PROFILE_PFP_IMAGE_URL: 'Billedlink', - PROFILE_SAVE_PFP_DISABLED: 'Profilbilleder er deaktiveret', - PROFILE_SAVE_PFP_SUCCESS: 'Profilbilledet er gemt.', - PROFILE_SECURITY_CHANGE_PASSWORD: 'Ændre adgangskode', - PROFILE_SECURITY: 'Sikkerhedsindstillinger', - PROFILE_TITLE: name => `Kontoindstillinger - ${name}`, - RESET_PASSWORD_BUTTON: 'Gendan adgangskode', - RESET_PASSWORD_GREETING_EXPIRED: 'Gendannelseslinket er udløbet. Kontakt administrator for at få et nyt.', - RESET_PASSWORD_GREETING_INVALID: "Ugyldigt gendannelseslink - kontrollér venligst at linket er komplet.", - RESET_PASSWORD_GREETING_VALID: name => `Hej ${name}! Vælg din nye adgangskode her.`, - RESET_PASSWORD_HEADER_INVALID: `${_CC.config.siteTitle} | Ugyldigt link`, - RESET_PASSWORD_HEADER_VALID: `${_CC.config.siteTitle} | Gendan adgangskode`, - RESET_PASSWORD_PASSWORD_PLACEHOLDER: 'pa$$word!', - RESET_PASSWORD_PASSWORD: 'Adgangskode', - RESET_PASSWORD_SUCCESS: 'Adgangskoden er blevet ændret', - SETUP_ADMIN_USER: 'Admin bruger', - SETUP_BUTTON: 'Installér', - SETUP_HEADER: 'Installation', - SETUP_PASSWORD_PLACEHOLDER: 'pa$$word!', - SETUP_PASSWORD: 'Adgangskode', - SETUP_USERNAME_PLACEHOLDER: 'john', - SETUP_USERNAME: 'Brugernavn', - SUPPORTED_SITES_HEADER: 'Supporterede hjemmesider', - SUPPORTED_SITES_TEXT: 'Is a site missing or broken? Open an issue here! :)', - UPDATE_NOTICE: (current, latest) => ` - - Christmas Community is out of date. There may be new features or bug fixes. Consider updating! :) - -
- (you can turn this off with UPDATE_CHECK=false) -

- Current: ${current} -
- Latest: ${latest} - This message is only visible to admins`, - WISHLIST_ADD: 'Tilføj ønske', - WISHLIST_ADDED_BY_USER: addedBy => `Tilføjet af: ${addedBy}`, - WISHLIST_ADDED_BY: 'Tilføjet af', - WISHLIST_ADDED_ITEM_TO_OWN_WISHLIST: 'Ønsket er tilføjet.', - WISHLIST_CONFLICT: 'Gaver tilføjet for hurtigt. Prøv igen om lidt.', - WISHLIST_DELETE: 'Slet', - WISHLIST_EDIT_ITEM: 'Ændre ønske', - WISHLIST_FETCH_FAIL: 'Ønskelisten blev ikke fundet', - WISHLIST_IMAGE: 'Billede', - WISHLIST_ITEM_MISSING: 'Gaven blev ikke fundet', - WISHLIST_MOVE_DOWN: 'Flyt ned', - WISHLIST_MOVE_GUARD: 'Forkert bruger', - WISHLIST_MOVE_INVALID: 'Ukendt retning', - WISHLIST_MOVE_ITEM_DOWN: 'Flyt ned', - WISHLIST_MOVE_ITEM_TOP: 'Flyt til toppen', - WISHLIST_MOVE_ITEM_UP: 'Flyt op', - WISHLIST_MOVE_SUCCESS: 'Gaven er flyttet', - WISHLIST_MOVE_TOP: 'Flyt til toppen', - WISHLIST_MOVE_UNKNOWN_DIRECTION: 'Ukendt retning', - WISHLIST_MOVE_UP: 'Flyt op', - WISHLIST_NAME: 'Titel', - WISHLIST_NOTE: 'Beskrivelse', - WISHLIST_OPTIONAL: 'Frivilligt', - WISHLIST_PLEDGE_DUPLICATE: 'Gaven er allerede reserveret', - WISHLIST_PLEDGE_ITEM: 'Reservér gave', - WISHLIST_PLEDGE_SUCCESS: 'Gaven er nu reserveret', - WISHLIST_PLEDGE: 'Reservér', - WISHLIST_PLEDGED: pledgedBy => `Reserveret af ${pledgedBy}`, - WISHLIST_PLEDGED_GUEST: 'Reserveret af en gæst', - WISHLIST_PLEDGED_ITEM_FOR_USER: user => `Reserveret gave for ${user}.`, - WISHLIST_PRICE: 'Pris', - WISHLIST_REFRESH_GUARD: 'Forkert bruger', - WISHLIST_REFRESH_NO_URL: 'Mangler link', - WISHLIST_REFRESH_SUCCESS: 'Gavedata er genindlæst', - WISHLIST_REMOVE_GUARD: 'Forkert bruger', - WISHLIST_REMOVE_SUCCESS: 'Gaven er fjernet fra ønskelisten', - WISHLIST_SUGGEST: 'Foreslå gave', - WISHLIST_TITLE: name => `Ønskeliste - ${name}`, - WISHLIST_UNPLEDGE_GUARD: 'Fejl - du har ikke reserveret denne gave', // should never happen unless someone makes their own http requests - WISHLIST_UNPLEDGE_SUCCESS: 'Reservationen er nu fjernet', - WISHLIST_UNPLEDGE: 'Fjern reservation', - WISHLIST_URL_LABEL: `Link eller titel (Supporterede hjemmesider)`, - WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', - WISHLIST_URL_REQUIRED: 'Link eller titel er påkrævet', - WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, - WISHLISTS_COUNTS: (name, pledged, total) => `${name}: ${pledged}/${total}`, - WISHLISTS_TITLE: `Ønskelister` -} diff --git a/src/languages/de-de.js b/src/languages/de-de.js index 8414d2d..d1c70d3 100644 --- a/src/languages/de-de.js +++ b/src/languages/de-de.js @@ -39,7 +39,7 @@ module.exports.strings = { ADMIN_USER_EDIT_CONFIRMATION_LINK: 'Bestätigungslink', ADMIN_USER_EDIT_DELETE_ADMIN: 'Nutzer ist Admin', ADMIN_USER_EDIT_DELETE_HEADER: 'Unwiderrufliche Löschung', - ADMIN_USER_EDIT_DELETE_USER: name => `Nutzer ${name} löschen`, + ADMIN_USER_EDIT_DELETE_USER: name => `Benutzer ${name} löschen`, ADMIN_USER_EDIT_DEMOTE_SELF: 'Du kannst Dir nicht selbst den Admin-Status entziehen.', ADMIN_USER_EDIT_DEMOTE: name => `${name} den Admin-Status entziehen`, ADMIN_USER_EDIT_EDITING_USER: name => `Nutzer "${name}" wird bearbeitet`, @@ -140,13 +140,10 @@ module.exports.strings = { WISHLIST_ADD: 'Eintrag zur Wunschliste hinzufügen', WISHLIST_ADDED_BY_USER: addedBy => `Hinzugefügt von: ${addedBy}`, WISHLIST_ADDED_BY: 'Hinzugefügt von', - WISHLIST_ADDED_ITEM_TO_OWN_WISHLIST: 'Eintrag wurde zur Wunschliste hinzugefügt.', WISHLIST_CONFLICT: 'Einträge werden zu schnell hinzugefügt. Bitte probier es nocheinmal.', WISHLIST_DELETE: 'Löschen', WISHLIST_EDIT_ITEM: 'Eintrag bearbeiten', - WISHLIST_FETCH_FAIL: 'Die Wunschliste konnte nicht abgerufen werden -- existiert der Nutzer?', WISHLIST_IMAGE: 'Bild', - WISHLIST_ITEM_MISSING: 'Eintrag konnte nicht gefunden werden', WISHLIST_MOVE_DOWN: 'Runterschieben', WISHLIST_MOVE_GUARD: 'Falscher Nutzer', WISHLIST_MOVE_INVALID: 'Ungültige Verschiebung', @@ -155,7 +152,6 @@ module.exports.strings = { WISHLIST_MOVE_ITEM_UP: 'Einstrag hochschieben', WISHLIST_MOVE_SUCCESS: 'Eintrag erfolgreich verschoben!', WISHLIST_MOVE_TOP: 'An den Anfang setzen', - WISHLIST_MOVE_UNKNOWN_DIRECTION: 'Unbekannte Richtung', WISHLIST_MOVE_UP: 'Hochschieben', WISHLIST_NAME: 'Name', WISHLIST_NOTE: 'Bemerkung', @@ -165,20 +161,21 @@ module.exports.strings = { WISHLIST_PLEDGE_SUCCESS: 'Eintrag erfolgreich reserviert!', WISHLIST_PLEDGE: 'Reservieren', WISHLIST_PLEDGED: pledgedBy => `Reserviert von ${pledgedBy}`, - WISHLIST_PLEDGED_GUEST: 'Reserviert von einem Gastnutzer', - WISHLIST_PLEDGED_ITEM_FOR_USER: user => `Eintrag reserviert für ${user}.`, + WISHLIST_PLEDGED_GUEST: 'Reserviert von einem Gast Benutzer', WISHLIST_PRICE: 'Preis', WISHLIST_REFRESH_GUARD: 'Ungültiger Nutzer', WISHLIST_REFRESH_NO_URL: 'Eintrag hat keine URL.', WISHLIST_REFRESH_SUCCESS: 'Daten erfolgreich erneuert!', WISHLIST_REMOVE_GUARD: 'Falscher Nutzer', + WISHLIST_REMOVE_MISSING: 'Eintrag nicht gefunden', WISHLIST_REMOVE_SUCCESS: 'Erfolgreich von der Wunschliste entfernt', WISHLIST_SUGGEST: 'Eintrag vorschlagen', WISHLIST_TITLE: name => `${_CC.config.siteTitle} - Wunschliste - ${name}`, WISHLIST_UNPLEDGE_GUARD: 'Du hast das nicht reserviert', // should never happen unless someone makes their own http requests + WISHLIST_UNPLEDGE_MISSING: 'Eintrag nicht gefunden', WISHLIST_UNPLEDGE_SUCCESS: 'Reservierung erfolgreich aufgehoben!', WISHLIST_UNPLEDGE: 'Reservierung aufheben', - WISHLIST_URL_LABEL: `URL oder Name (Unterstützte Seiten)`, + WISHLIST_URL_LABEL: 'URL oder Name (Unterstützte Seiten)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: 'URL oder Name wird benötigt', WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/en-us.js b/src/languages/en-us.js index 232f169..6353daa 100644 --- a/src/languages/en-us.js +++ b/src/languages/en-us.js @@ -2,13 +2,13 @@ module.exports.momentLocale = 'en' module.exports.strings = { _NOT_LOCALIZED: key => `${key} hasn't been translated to English yet.`, - ADMIN_CLEAR_WISHLISTS_BUTTON: 'Clear all lists', - ADMIN_CLEAR_WISHLISTS_DESCRIPTION: 'This will instantly irreversibly delete all lists! Consider making a backup of the database before using this.', - ADMIN_CLEAR_WISHLISTS_HEADER: 'List Deletion', - ADMIN_SETTINGS_CLEARDB_BUTTON: 'Clear lists', + ADMIN_CLEAR_WISHLISTS_BUTTON: 'Clear all wishlists', + ADMIN_CLEAR_WISHLISTS_DESCRIPTION: 'This will instantly irreversibly delete all wishlists! Consider making a backup of the database before using this.', + ADMIN_CLEAR_WISHLISTS_HEADER: 'Wishlist Deletion', + ADMIN_SETTINGS_CLEARDB_BUTTON: 'Clear Wishlists', ADMIN_SETTINGS_CLEARDB_DESCRIPTION: 'Warning: These options destroy data! You may want to back up the database before using these options.', ADMIN_SETTINGS_CLEARDB_HEADER: 'Data Destruction', - ADMIN_SETTINGS_CLEARDB_SUCCESS: 'Cleared all lists.', + ADMIN_SETTINGS_CLEARDB_SUCCESS: 'Cleared all wishlists.', ADMIN_SETTINGS_HEADER: 'Admin Settings', ADMIN_SETTINGS_USERS_ADD_BUTTON: 'Add User', ADMIN_SETTINGS_USERS_ADD_HEADER: 'Add user', @@ -72,11 +72,11 @@ module.exports.strings = { LOGIN_USERNAME_PLACEHOLDER: 'john', LOGIN_USERNAME: 'Username', LOGOUT_BUTTON: 'Log Out', - NAVBAR_ADMIN: 'Admin Panel', + NAVBAR_ADMIN: 'Admin Settings', NAVBAR_LOGIN: 'Log In', NAVBAR_LOGOUT: 'Log Out', - NAVBAR_PROFILE: 'Settings', - NAVBAR_WISHLIST: 'My List', + NAVBAR_PROFILE: 'Profile', + NAVBAR_WISHLIST: 'My Wishlist', NOTE_BACK: name => `Back to ${name}'s wishlist`, NOTE_GET_PRODUCT_DATA: 'Get Product Data', NOTE_GUARD: 'Invalid user', @@ -124,8 +124,8 @@ module.exports.strings = { SETUP_PASSWORD: 'Password', SETUP_USERNAME_PLACEHOLDER: 'john', SETUP_USERNAME: 'Username', - SUPPORTED_SITES_HEADER: 'Working Sites', - SUPPORTED_SITES_TEXT: 'You can still add items from other sites, but it can\'t autopopulate the information, so do that yourself.', + SUPPORTED_SITES_HEADER: 'Supported Sites', + SUPPORTED_SITES_TEXT: 'Is a site missing or broken? Open an issue here! :)', UPDATE_NOTICE: (current, latest) => ` Christmas Community is out of date. There may be new features or bug fixes. Consider updating! :) @@ -138,13 +138,13 @@ module.exports.strings = { Latest: ${latest} This message is only visible to admins`, WISHLIST_ADD: 'Add item to wishlist', - WISHLIST_ADDED_BY_USER: addedBy => `Suggested by: ${addedBy}`, - WISHLIST_ADDED_BY: 'Suggested by', - WISHLIST_ADDED_ITEM_TO_OWN_WISHLIST: 'Added item to your list.', + WISHLIST_ADDED_BY_USER: addedBy => `Added by: ${addedBy}`, + WISHLIST_ADDED_BY: 'Added By', + WISHLIST_ADDED_ITEM_TO_OWN_WISHLIST: 'Added item to wishlist.', WISHLIST_CONFLICT: 'Items are being added too quickly. Please try again.', WISHLIST_DELETE: 'Delete', WISHLIST_EDIT_ITEM: 'Edit Item', - WISHLIST_FETCH_FAIL: 'Failed to fetch the list -- does the user exist?', + WISHLIST_FETCH_FAIL: 'Failed to fetch the wishlist -- does the user exist?', WISHLIST_IMAGE: 'Image', WISHLIST_ITEM_MISSING: 'Failed to find item', WISHLIST_MOVE_DOWN: 'Move Down', @@ -161,27 +161,27 @@ module.exports.strings = { WISHLIST_NOTE: 'Note', WISHLIST_OPTIONAL: 'Optional', WISHLIST_PLEDGE_DUPLICATE: 'Item already pledged for', - WISHLIST_PLEDGE_ITEM: 'Get this', - WISHLIST_PLEDGE_SUCCESS: 'You pledged for something! Good job!', + WISHLIST_PLEDGE_ITEM: 'Pledge item', + WISHLIST_PLEDGE_SUCCESS: 'Successfully pledged for item!', WISHLIST_PLEDGE: 'Pledge', - WISHLIST_PLEDGED: pledgedBy => `${pledgedBy} is getting this`, - WISHLIST_PLEDGED_GUEST: 'Someone is getting this', + WISHLIST_PLEDGED: pledgedBy => `Pledged for by ${pledgedBy}`, + WISHLIST_PLEDGED_GUEST: 'Pledged for by a guest user', WISHLIST_PLEDGED_ITEM_FOR_USER: user => `Pledged item for ${user}.`, WISHLIST_PRICE: 'Price', WISHLIST_REFRESH_GUARD: 'Invalid user', - WISHLIST_REFRESH_NO_URL: 'Item has no URL. Fix that, probably.', - WISHLIST_REFRESH_SUCCESS: 'Refreshed data!', + WISHLIST_REFRESH_NO_URL: 'Item has no URL.', + WISHLIST_REFRESH_SUCCESS: 'Successfully refreshed data!', WISHLIST_REMOVE_GUARD: 'Not correct user', - WISHLIST_REMOVE_SUCCESS: 'Removed from your list', + WISHLIST_REMOVE_SUCCESS: 'Successfully removed from wishlist', WISHLIST_SUGGEST: 'Suggest item', - WISHLIST_TITLE: name => `${_CC.config.siteTitle}: ${name}`, - WISHLIST_UNPLEDGE_GUARD: 'You didn\'t pledge for this', // should never happen unless someone makes their own http requests - WISHLIST_UNPLEDGE_SUCCESS: 'Unpledged!', - WISHLIST_UNPLEDGE: 'Not getting this anymore', - WISHLIST_URL_LABEL: `Item URL or Name (List of sites that auto-populate from a URL)`, + WISHLIST_TITLE: name => `${_CC.config.siteTitle} - Wishlist - ${name}`, + WISHLIST_UNPLEDGE_GUARD: 'You did not pledge for this', // should never happen unless someone makes their own http requests + WISHLIST_UNPLEDGE_SUCCESS: 'Successfully unpledged for item!', + WISHLIST_UNPLEDGE: 'Unpledge', + WISHLIST_URL_LABEL: 'Item URL or Name (Supported Sites)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', - WISHLIST_URL_REQUIRED: 'Item URL or at least a name is required', - WISHLISTS_COUNTS_SELF: name => `

${name}

You don't get to see how many of your items have been pledged for. Where's the fun in that?`, - WISHLISTS_COUNTS: (name, pledged, total) => `

${name}

${pledged}/${total}`, - WISHLISTS_TITLE: `${_CC.config.siteTitle}` + WISHLIST_URL_REQUIRED: 'Item URL or Name is required', + WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, + WISHLISTS_COUNTS: (name, pledged, total) => `${name}: ${pledged}/${total}`, + WISHLISTS_TITLE: `${_CC.config.siteTitle} - Wishlists` } diff --git a/src/languages/es-es.js b/src/languages/es-es.js index bb3a22d..3d2c5d1 100644 --- a/src/languages/es-es.js +++ b/src/languages/es-es.js @@ -175,7 +175,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_MISSING: 'No se pudo encontrar producto', WISHLIST_UNPLEDGE_SUCCESS: '¡Comprometido para producto eliminado!', WISHLIST_UNPLEDGE: 'Eliminar comprometido', - WISHLIST_URL_LABEL: `Nombre de producto o URL (Sitios web compatibles)`, + WISHLIST_URL_LABEL: 'Nombre de producto o URL (Sitios web compatibles)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: 'Necesita un nombre de producto o URL', WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/fr-ca.js b/src/languages/fr-ca.js index d499dd1..7bf9dea 100644 --- a/src/languages/fr-ca.js +++ b/src/languages/fr-ca.js @@ -174,7 +174,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_MISSING: 'Impossible de trouver l\'article', WISHLIST_UNPLEDGE_SUCCESS: 'L\'article a été annulé avec succès', WISHLIST_UNPLEDGE: 'Se désengager', - WISHLIST_URL_LABEL: 'URL ou nom de l\`article (Sites supportés)`, + WISHLIST_URL_LABEL: 'URL ou nom de l\'article (Sites supportés)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: "L'URL ou le nom de l'article est requis", WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/fr-fr.js b/src/languages/fr-fr.js index 8a5a822..28088c5 100644 --- a/src/languages/fr-fr.js +++ b/src/languages/fr-fr.js @@ -174,7 +174,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_MISSING: "Impossible de trouver l'article", WISHLIST_UNPLEDGE_SUCCESS: "L'article a été annulé avec succès !", WISHLIST_UNPLEDGE: 'Se désengager', - WISHLIST_URL_LABEL: 'URL ou nom de l\`article (Sites supportés)`, + WISHLIST_URL_LABEL: 'URL ou nom de l\'article (Sites supportés)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: "L'URL ou le nom de l'article est requis", WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/nl-nl.js b/src/languages/nl-nl.js index 3c9f4ac..a7123d4 100644 --- a/src/languages/nl-nl.js +++ b/src/languages/nl-nl.js @@ -178,7 +178,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_GUARD: 'Dit heb jij niet beloofd', // should never happen unless someone makes their own http requests WISHLIST_UNPLEDGE_SUCCESS: 'Belofte voor item verwijderd!', WISHLIST_UNPLEDGE: 'Verwijder belofte', - WISHLIST_URL_LABEL: `Item URL of naam (Ondersteunde websites)`, + WISHLIST_URL_LABEL: 'Item URL of naam (Ondersteunde websites)', WISHLIST_URL_PLACEHOLDER: 'https://www.bol.com/nl/nl/p/mens-erger-je-niet-dobbelautomaat-bordspel/1004004000017412/', WISHLIST_URL_REQUIRED: 'Item URL of naam is verplicht', WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/languages/ro-ro.js b/src/languages/ro-ro.js index b3a5a4b..018a837 100644 --- a/src/languages/ro-ro.js +++ b/src/languages/ro-ro.js @@ -175,7 +175,7 @@ module.exports.strings = { WISHLIST_UNPLEDGE_MISSING: 'Nu s-a putut găsi produsul', WISHLIST_UNPLEDGE_SUCCESS: 'Ați anulat cu succes rezervarea cadoului!', WISHLIST_UNPLEDGE: 'Anulați rezervarea', - WISHLIST_URL_LABEL: `URL-ul sau numele articolului (Site-uri Suportate)`, + WISHLIST_URL_LABEL: 'URL-ul sau numele articolului (Site-uri Suportate)', WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK', WISHLIST_URL_REQUIRED: 'URL-ul sau numele articolului trebuie completat', WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`, diff --git a/src/static/img/logo.png b/src/static/img/logo.png index 23bb47f..09366a2 100644 Binary files a/src/static/img/logo.png and b/src/static/img/logo.png differ diff --git a/src/static/img/logo.transparent.png b/src/static/img/logo.transparent.png new file mode 100644 index 0000000..91b5717 Binary files /dev/null and b/src/static/img/logo.transparent.png differ diff --git a/src/views/includes/navbar.pug b/src/views/includes/navbar.pug index 463365b..af148d5 100644 --- a/src/views/includes/navbar.pug +++ b/src/views/includes/navbar.pug @@ -4,33 +4,36 @@ mixin navBarLink(href, title) else a.navbar-item(href=href)= title -nav.navbar.is-fixed-top(role='navigation', aria-label='main navigation', style='box-shadow: 0px 0px 7px rgb(14, 15, 17);') +nav.navbar.is-fixed-top(role='navigation', aria-label='main navigation',style='box-shadow: 0px 0px 7px rgb(14, 15, 17);') .navbar-brand if _CC.config.base === req.path a.is-active.navbar-item(href=_CC.config.base) - img(src=`${_CC.config.base}img/logo.png`, alt='Castro Christmas') + img(src=`${_CC.config.base}img/logo.png`, alt='') + span #{config.siteTitle} else a.navbar-item(href=_CC.config.base) - img(src=`${_CC.config.base}img/logo.png`, alt='Castro Christmas') + img(src=`${_CC.config.base}img/logo.png`, alt='') + span #{config.siteTitle} a.navbar-burger#navBarBurger(role='button', aria-label='menu', aria-expanded='false') span(aria-hidden='true') span(aria-hidden='true') span(aria-hidden='true') .navbar-menu#navBarMenu - .navbar-end + .navbar-start if req.isAuthenticated() if req.user._id === '_CCUNKNOWN' .navbar-item - a.button.is-primary(href=`${_CC.config.base}login`)= lang('NAVBAR_LOGIN') + a.button.is-primary(href='/login')= lang('NAVBAR_LOGIN') else - .navbar-item - +navBarLink(`${_CC.config.base}wishlist/${req.user._id}`, lang('NAVBAR_WISHLIST')) - .navbar-item - +navBarLink(`${_CC.config.base}profile`, lang('NAVBAR_PROFILE')) - if req.user.admin - .navbar-item - +navBarLink(`${_CC.config.base}admin-settings`, lang('NAVBAR_ADMIN')) - .navbar-item - +navBarLink(`${_CC.config.base}logout`, lang('NAVBAR_LOGOUT')) - -script(src=`${_CC.config.base}js/nav.js`) + .navbar-item.has-dropdown.is-hoverable + a.navbar-link= req.user._id + .navbar-dropdown + +navBarLink(`${_CC.config.base}wishlist/${req.user._id}`, lang('NAVBAR_WISHLIST')) + +navBarLink(`${_CC.config.base}profile`, lang('NAVBAR_PROFILE')) + if req.user.admin + +navBarLink(`${_CC.config.base}admin-settings`, lang('NAVBAR_ADMIN')) + hr.navbar-divider + .navbar-item + form#logoutForm(action=`${_CC.config.base}logout`, method='POST') + button.button.is-warning(type='submit')= lang('NAVBAR_LOGOUT') + script(src=`${_CC.config.base}js/nav.js`) diff --git a/src/views/layout.pug b/src/views/layout.pug index 94dfc5f..daaa23b 100644 --- a/src/views/layout.pug +++ b/src/views/layout.pug @@ -15,8 +15,6 @@ html(lang='en') link(rel='stylesheet', href=`${_CC.config.base}libraries/fontawesome/css/all.css`) link(rel='stylesheet', href=`${_CC.config.base}libraries/animate.min.css`) link(rel='stylesheet', href=`${_CC.config.base}css/main.css`) - if _CC.config.customCSS - link(rel='stylesheet', href=`${_CC.config.base}css/${_CC.config.customCSS}`) body .print .content diff --git a/src/views/login.pug b/src/views/login.pug index f672210..5c3fc5b 100644 --- a/src/views/login.pug +++ b/src/views/login.pug @@ -17,5 +17,4 @@ block content .field .control input.button.is-primary(type='submit' value=lang('LOGIN_BUTTON')) - if _CC.config.customHtml.login - div!= _CC.config.customHtml.login \ No newline at end of file + diff --git a/src/views/wishlists.pug b/src/views/wishlists.pug index 7a632bf..732910b 100644 --- a/src/views/wishlists.pug +++ b/src/views/wishlists.pug @@ -44,9 +44,6 @@ block content display: inline-block; } - if _CC.config.customHtml.wishlists - div!= _CC.config.customHtml.wishlists - ul.noStyle.noLeftMargin if req.user._id !== '_CCUNKNOWN' li @@ -59,7 +56,8 @@ block content img.is-rounded.is-fullwidth(src=req.user.pfp, style='object-fit: cover;') .column span - span!=lang('WISHLISTS_COUNTS_SELF', req.user._id) + span=lang('WISHLISTS_COUNTS_SELF', req.user._id) + progress.progress(value=1, max=1) +wishlistDetails(req.user.wishlist, req.user._id) each user in users if req.user._id !== user.id @@ -72,7 +70,7 @@ block content figure.image.is-square.is-fullwidth.is-marginless(style='display: inline-block;') img.is-rounded.is-fullwidth(src=user.doc.pfp, style='object-fit: cover;') .column - span!= lang('WISHLISTS_COUNTS', user.id, totals(user.doc.wishlist).pledged, user.doc.wishlist.length) + span= lang('WISHLISTS_COUNTS', user.id, totals(user.doc.wishlist).pledged, user.doc.wishlist.length) progress.progress.is-info(value=totals(user.doc.wishlist).pledged, max=user.doc.wishlist.length) +wishlistDetails(user.doc.wishlist) script.