Compare commits

..

10 commits

Author SHA1 Message Date
hackish
91dbce8352 Initial castro 2023-08-02 12:36:50 -07:00
Daniel Barenholz
22174ee93f
Fix missing base path for supported sites in all languages (#87) 2023-07-11 14:09:22 -04:00
Daniel Barenholz
ad1141f378
Add fix for missing basepath in navbar login button (#86) 2023-07-11 12:52:32 -04:00
Jonas Læborg
394357c298
add ability to include custom stylesheet (#85)
* add da-dk language

* add ability to include custom stylesheet
2023-06-20 13:56:38 -04:00
Jonas Læborg
cbf9d8adee
add da-dk language (#84) 2023-06-19 17:03:38 -04:00
PeteS4
ad56279828
Update de-de.js (#81) 2023-05-23 07:18:38 -04:00
PeteS4
df68770943
Update de-de.js (#79) 2023-03-22 11:39:13 -04:00
Wingy
5912614e8f 1.32.0 2023-01-30 10:57:12 -05:00
Wingy
ae50a8b11d
Implement custom HTML placement (#78) 2023-01-30 10:55:40 -05:00
Wingy
014bd271b4 1.31.0 2022-12-24 20:58:24 -05:00
19 changed files with 279 additions and 68 deletions

View file

@ -105,10 +105,21 @@ 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=<p style="margin-top: 1em;">Some custom text for the Login page</p>
# 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/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/src/static/img/default-pfps`.
## Startup
```sh

View file

@ -6,5 +6,8 @@ services:
build: .
environment:
NODE_ENV: production
BULMASWATCH: Cosmo
MARKDOWN: true
SITE_TITLE: Christmas 2023
ports:
- 80:80

View file

@ -1,6 +1,6 @@
{
"name": "christmas-community",
"version": "1.30.3",
"version": "1.32.0",
"description": "Christmas lists for communities",
"main": "src/index.js",
"scripts": {

View file

@ -16,7 +16,12 @@ 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
guestPassword: process.env.GUEST_PASSWORD,
customHtml: {
wishlists: process.env.CUSTOM_HTML_WISHLISTS,
login: process.env.CUSTOM_HTML_LOGIN
},
customCSS: process.env.CUSTOM_CSS || null
}
if (module.exports.guestPassword) module.exports.wishlist.public = false

View file

@ -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í) (<a href="/supported-sites">Podporované obchody</a>)',
WISHLIST_URL_LABEL: `Jméno položky nebo odkaz na ni (odkazy na CZ obchody nefunkční) (<a href="${_CC.config.base}supported-sites">Podporované obchody</a>)`,
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}: ???/???`,

187
src/languages/da-dk.js Normal file
View file

@ -0,0 +1,187 @@
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: '<b>Advarsel</b>: Dette vil <b>slette alt data</b>! Foretag venligst backup inden du fortsætter.',
ADMIN_CLEAR_WISHLISTS_HEADER: 'Slet ønskelister',
ADMIN_SETTINGS_CLEARDB_BUTTON: 'Slet ønskelister',
ADMIN_SETTINGS_CLEARDB_DESCRIPTION: '<b>Advarsel</b>: Dette vil <b>slette alt data</b>! 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 <a href="https://gitlab.com/wingysam/get-product-name/-/issues/new">here</a>! :)',
UPDATE_NOTICE: (current, latest) => `
<span class="has-text-danger is-size-4 has-text-weight-bold">
Christmas Community is out of date. There may be new features or bug fixes. Consider updating! :)
</span>
<br>
<span>(you can turn this off with <code>UPDATE_CHECK=false</code>)</span>
<br><br>
<span>Current: ${current}</span>
<br>
<span>Latest: ${latest}</span>
<span class="has-text-info" style="float: right;">This message is only visible to admins</span>`,
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 (<a href="${_CC.config.base}supported-sites">Supporterede hjemmesider</a>)`,
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`
}

View file

@ -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 => `Benutzer ${name} löschen`,
ADMIN_USER_EDIT_DELETE_USER: name => `Nutzer ${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,10 +140,13 @@ 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',
@ -152,6 +155,7 @@ 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',
@ -161,21 +165,20 @@ module.exports.strings = {
WISHLIST_PLEDGE_SUCCESS: 'Eintrag erfolgreich reserviert!',
WISHLIST_PLEDGE: 'Reservieren',
WISHLIST_PLEDGED: pledgedBy => `Reserviert von ${pledgedBy}`,
WISHLIST_PLEDGED_GUEST: 'Reserviert von einem Gast Benutzer',
WISHLIST_PLEDGED_GUEST: 'Reserviert von einem Gastnutzer',
WISHLIST_PLEDGED_ITEM_FOR_USER: user => `Eintrag reserviert für ${user}.`,
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 (<a href="/supported-sites">Unterstützte Seiten</a>)',
WISHLIST_URL_LABEL: `URL oder Name (<a href="${_CC.config.base}supported-sites">Unterstützte Seiten</a>)`,
WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
WISHLIST_URL_REQUIRED: 'URL oder Name wird benötigt',
WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`,

View file

@ -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 wishlists',
ADMIN_CLEAR_WISHLISTS_DESCRIPTION: 'This will instantly <b>irreversibly delete all wishlists!</b> Consider making a backup of the database before using this.',
ADMIN_CLEAR_WISHLISTS_HEADER: 'Wishlist Deletion',
ADMIN_SETTINGS_CLEARDB_BUTTON: 'Clear Wishlists',
ADMIN_CLEAR_WISHLISTS_BUTTON: 'Clear all lists',
ADMIN_CLEAR_WISHLISTS_DESCRIPTION: 'This will instantly <b>irreversibly delete all lists!</b> Consider making a backup of the database before using this.',
ADMIN_CLEAR_WISHLISTS_HEADER: 'List Deletion',
ADMIN_SETTINGS_CLEARDB_BUTTON: 'Clear lists',
ADMIN_SETTINGS_CLEARDB_DESCRIPTION: '<b>Warning</b>: These options <b>destroy data</b>! You may want to back up the database before using these options.',
ADMIN_SETTINGS_CLEARDB_HEADER: 'Data Destruction',
ADMIN_SETTINGS_CLEARDB_SUCCESS: 'Cleared all wishlists.',
ADMIN_SETTINGS_CLEARDB_SUCCESS: 'Cleared all lists.',
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 Settings',
NAVBAR_ADMIN: 'Admin Panel',
NAVBAR_LOGIN: 'Log In',
NAVBAR_LOGOUT: 'Log Out',
NAVBAR_PROFILE: 'Profile',
NAVBAR_WISHLIST: 'My Wishlist',
NAVBAR_PROFILE: 'Settings',
NAVBAR_WISHLIST: 'My List',
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: 'Supported Sites',
SUPPORTED_SITES_TEXT: 'Is a site missing or broken? Open an issue <a href="https://gitlab.com/wingysam/get-product-name/-/issues/new">here</a>! :)',
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.',
UPDATE_NOTICE: (current, latest) => `
<span class="has-text-danger is-size-4 has-text-weight-bold">
Christmas Community is out of date. There may be new features or bug fixes. Consider updating! :)
@ -138,13 +138,13 @@ module.exports.strings = {
<span>Latest: ${latest}</span>
<span class="has-text-info" style="float: right;">This message is only visible to admins</span>`,
WISHLIST_ADD: 'Add item to wishlist',
WISHLIST_ADDED_BY_USER: addedBy => `Added by: ${addedBy}`,
WISHLIST_ADDED_BY: 'Added By',
WISHLIST_ADDED_ITEM_TO_OWN_WISHLIST: 'Added 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_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 wishlist -- does the user exist?',
WISHLIST_FETCH_FAIL: 'Failed to fetch the list -- 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: 'Pledge item',
WISHLIST_PLEDGE_SUCCESS: 'Successfully pledged for item!',
WISHLIST_PLEDGE_ITEM: 'Get this',
WISHLIST_PLEDGE_SUCCESS: 'You pledged for something! Good job!',
WISHLIST_PLEDGE: 'Pledge',
WISHLIST_PLEDGED: pledgedBy => `Pledged for by ${pledgedBy}`,
WISHLIST_PLEDGED_GUEST: 'Pledged for by a guest user',
WISHLIST_PLEDGED: pledgedBy => `${pledgedBy} is getting this`,
WISHLIST_PLEDGED_GUEST: 'Someone is getting this',
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.',
WISHLIST_REFRESH_SUCCESS: 'Successfully refreshed data!',
WISHLIST_REFRESH_NO_URL: 'Item has no URL. Fix that, probably.',
WISHLIST_REFRESH_SUCCESS: 'Refreshed data!',
WISHLIST_REMOVE_GUARD: 'Not correct user',
WISHLIST_REMOVE_SUCCESS: 'Successfully removed from wishlist',
WISHLIST_REMOVE_SUCCESS: 'Removed from your list',
WISHLIST_SUGGEST: 'Suggest item',
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 (<a href="/supported-sites">Supported Sites</a>)',
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 (<a href="${_CC.config.base}supported-sites">List of sites that auto-populate from a URL</a>)`,
WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
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`
WISHLIST_URL_REQUIRED: 'Item URL or at least a name is required',
WISHLISTS_COUNTS_SELF: name => `<h3>${name}</h3> 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) => `<h3>${name}</h3> ${pledged}/<em>${total}</em>`,
WISHLISTS_TITLE: `${_CC.config.siteTitle}`
}

View file

@ -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 (<a href="/supported-sites">Sitios web compatibles</a>)',
WISHLIST_URL_LABEL: `Nombre de producto o URL (<a href="${_CC.config.base}supported-sites">Sitios web compatibles</a>)`,
WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
WISHLIST_URL_REQUIRED: 'Necesita un nombre de producto o URL',
WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`,

View file

@ -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 (<a href="/supported-sites">Sites supportés</a>)',
WISHLIST_URL_LABEL: 'URL ou nom de l\`article (<a href="${_CC.config.base}supported-sites">Sites supportés</a>)`,
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}: ???/???`,

View file

@ -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 (<a href="/supported-sites">Sites supportés</a>)',
WISHLIST_URL_LABEL: 'URL ou nom de l\`article (<a href="${_CC.config.base}supported-sites">Sites supportés</a>)`,
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}: ???/???`,

View file

@ -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 (<a href="/supported-sites">Ondersteunde websites</a>)',
WISHLIST_URL_LABEL: `Item URL of naam (<a href="${_CC.config.base}supported-sites">Ondersteunde websites</a>)`,
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}: ???/???`,

View file

@ -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 (<a href="/supported-sites">Site-uri Suportate</a>)',
WISHLIST_URL_LABEL: `URL-ul sau numele articolului (<a href="${_CC.config.base}supported-sites">Site-uri Suportate</a>)`,
WISHLIST_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
WISHLIST_URL_REQUIRED: 'URL-ul sau numele articolului trebuie completat',
WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

View file

@ -4,36 +4,33 @@ 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='')
span #{config.siteTitle}
img(src=`${_CC.config.base}img/logo.png`, alt='Castro Christmas')
else
a.navbar-item(href=_CC.config.base)
img(src=`${_CC.config.base}img/logo.png`, alt='')
span #{config.siteTitle}
img(src=`${_CC.config.base}img/logo.png`, alt='Castro Christmas')
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-start
.navbar-end
if req.isAuthenticated()
if req.user._id === '_CCUNKNOWN'
.navbar-item
a.button.is-primary(href='/login')= lang('NAVBAR_LOGIN')
a.button.is-primary(href=`${_CC.config.base}login`)= lang('NAVBAR_LOGIN')
else
.navbar-item.has-dropdown.is-hoverable
a.navbar-link= req.user._id
.navbar-dropdown
.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
+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`)
+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`)

View file

@ -15,6 +15,8 @@ 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

View file

@ -17,4 +17,5 @@ block content
.field
.control
input.button.is-primary(type='submit' value=lang('LOGIN_BUTTON'))
if _CC.config.customHtml.login
div!= _CC.config.customHtml.login

View file

@ -44,6 +44,9 @@ block content
display: inline-block;
}
if _CC.config.customHtml.wishlists
div!= _CC.config.customHtml.wishlists
ul.noStyle.noLeftMargin
if req.user._id !== '_CCUNKNOWN'
li
@ -56,8 +59,7 @@ 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)
progress.progress(value=1, max=1)
span!=lang('WISHLISTS_COUNTS_SELF', req.user._id)
+wishlistDetails(req.user.wishlist, req.user._id)
each user in users
if req.user._id !== user.id
@ -70,7 +72,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.