Compare commits
No commits in common. "91dbce83529c7cd2853d7956dad53010b6e2f40e" and "7b816428841b4fd15d9dbf09236e12d016d2981a" have entirely different histories.
91dbce8352
...
7b81642884
19 changed files with 68 additions and 279 deletions
13
README.md
13
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=<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/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
|
||||
|
|
|
@ -6,8 +6,5 @@ services:
|
|||
build: .
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
BULMASWATCH: Cosmo
|
||||
MARKDOWN: true
|
||||
SITE_TITLE: Christmas 2023
|
||||
ports:
|
||||
- 80:80
|
||||
- 80:80
|
|
@ -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": {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Podporované obchody</a>)`,
|
||||
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_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
|
||||
WISHLIST_URL_REQUIRED: 'Nevyplněna položka nebo odkaz na ni.',
|
||||
WISHLISTS_COUNTS_SELF: name => `${name}: ???/???`,
|
||||
|
|
|
@ -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: '<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`
|
||||
}
|
|
@ -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 (<a href="${_CC.config.base}supported-sites">Unterstützte Seiten</a>)`,
|
||||
WISHLIST_URL_LABEL: 'URL oder Name (<a href="/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}: ???/???`,
|
||||
|
|
|
@ -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 <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_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_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 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 <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! :)
|
||||
|
@ -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 => `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 (<a href="${_CC.config.base}supported-sites">List of sites that auto-populate from a URL</a>)`,
|
||||
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_URL_PLACEHOLDER: 'https://www.amazon.com/dp/B00ZV9RDKK',
|
||||
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}`
|
||||
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`
|
||||
}
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Sitios web compatibles</a>)`,
|
||||
WISHLIST_URL_LABEL: 'Nombre de producto o URL (<a href="/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}: ???/???`,
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Sites supportés</a>)`,
|
||||
WISHLIST_URL_LABEL: 'URL ou nom de l\'article (<a href="/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}: ???/???`,
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Sites supportés</a>)`,
|
||||
WISHLIST_URL_LABEL: 'URL ou nom de l\'article (<a href="/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}: ???/???`,
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Ondersteunde websites</a>)`,
|
||||
WISHLIST_URL_LABEL: 'Item URL of naam (<a href="/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}: ???/???`,
|
||||
|
|
|
@ -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="${_CC.config.base}supported-sites">Site-uri Suportate</a>)`,
|
||||
WISHLIST_URL_LABEL: 'URL-ul sau numele articolului (<a href="/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: 5.6 KiB After Width: | Height: | Size: 98 KiB |
BIN
src/static/img/logo.transparent.png
Normal file
BIN
src/static/img/logo.transparent.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 87 KiB |
|
@ -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`)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue