summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--locales/en.json615
-rwxr-xr-xpublic/css/style.css20
-rw-r--r--public/images/fediverse-icon.svg45
-rwxr-xr-xviews/event.handlebars15
-rwxr-xr-xviews/eventgroup.handlebars8
-rwxr-xr-xviews/layouts/main.handlebars2
6 files changed, 391 insertions, 314 deletions
diff --git a/locales/en.json b/locales/en.json
index fe7330a..fc7eba0 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -1,308 +1,311 @@
{
- "common.close": "Close",
- "common.copied": "Copied!",
- "common.copy": "Copy",
- "common.coverimg": "Cover image",
- "common.create": "Create",
- "common.creating": "Creating...",
- "common.datetimeformat": "dddd D MMMM YYYY h:mm a",
- "common.emailaddr": "Email address",
- "common.eventend": "Ends",
- "common.eventgroupid": "Event group ID",
- "common.eventgroupname": "Event group name",
- "common.eventgroups": "Event groups",
- "common.eventlocation": "Location",
- "common.eventname": "Event name",
- "common.eventstart": "Starts",
- "common.timezone": "Timezone",
- "common.year-month-format": "MMMM YYYY",
- "common.youremail": "Your email",
- "config.defaultinstancedesc": "**{{ siteName }}** is running on Gathio — a simple, federated, privacy-first event hosting platform.",
- "config.instancerule.creatoremail-false": "Anyone can create events and groups",
- "config.instancerule.creatoremail-true": "Only specific people can create events and groups",
- "config.instancerule.deleteafterdays-false": "Events are permanent, and are never automatically deleted",
- "config.instancerule.deleteafterdays-true": "Events are automatically deleted {{ days }} days after they end",
- "config.instancerule.isfederated-false": "This instance does not federate with other instances",
- "config.instancerule.isfederated-true": "This instance federates with other instances using ActivityPub",
- "config.instancerule.showpubliceventlist-false": "Events and groups can only be accessed by direct link",
- "config.instancerule.showpubliceventlist-true": "Public events and groups are displayed on the homepage",
- "frontend.dateformat": "dddd D MMMM YYYY",
- "frontend.displaydate-days": "{{ startdate }} <span class=\"text-muted\">at</span> {{ starttime }} <span class=\"text-muted\">-</span> {{ enddate }} <span class=\"text-muted\">at</span> {{ endtime }} <span class=\"text-muted\">{{ timezone }}</span>",
- "frontend.displaydate-sameday": "{{ startdate }} <span class=\"text-muted\">from</span> {{ starttime }} <span class=\"text-muted\">to</span> {{ endtime }} <span class=\"text-muted\">{{ timezone }}</span>",
- "frontend.elnumber": "({{count}} people)",
- "frontend.eventattendees": "people",
- "frontend.newevent": "New event",
- "frontend.publicevents": "Public events",
- "frontend.timeformat": "h:mm a",
- "routes.addeventattendeesubject": "You're RSVPed to {{ eventName }}",
- "routes.addeventcommentsubject": "New comment in {{eventName}}",
- "routes.deleteeventsubject": "{{ eventName }} was deleted",
- "routes.event.datetimeformat": "{{thedate, intlDate}}",
- "routes.event.descriptionchanged": "the event description changed",
- "routes.event.difftext": "This event was just updated with new information.",
- "routes.event.editedsubject": "{{ eventname }} was just edited",
- "routes.event.endtimechanged": "the end time changed to {{ endtime }}",
- "routes.event.locationchanged": "the location changed to {{ location }}",
- "routes.event.namechanged": "the event name changed to {{ eventname }}",
- "routes.event.starttimechanged": "the start time changed to {{ starttime }}",
- "routes.event.timezonechanged": "the time zone changed to {{ timezone }}",
- "routes.magiclink-invalid": "This magic link is invalid or has expired. Please request a new one here.",
- "routes.magiclink.mailsubject": "Magic link to create an event",
- "routes.magiclink.provideemail": "Please provide an email address.",
- "routes.magiclink.requestmlbutton": "Request magic link",
- "routes.magiclink.thanks": "Thanks! If this email address can create events, you should receive an email with a magic link.",
- "routes.removeeventattendeesubject": "You have been removed from an event",
- "routes.subscribedsubject": "You have subscribed to an event group",
- "util.validation.eventdata.creatoremail": "Email address is invalid.",
- "util.validation.eventdata.eventdescription": "Event description is required.",
- "util.validation.eventdata.eventend": "Event end time is required.",
- "util.validation.eventdata.eventgroupboolean": "Event group ID is required.",
- "util.validation.eventdata.eventgroupedittoken": "Event group edit token is required.",
- "util.validation.eventdata.eventlocation": "Event location is required.",
- "util.validation.eventdata.eventname": "Event name is required.",
- "util.validation.eventdata.eventstart": "Event start time is required.",
- "util.validation.eventdata.eventurl": "Event link is invalid.",
- "util.validation.eventdata.maxattendees": "Max number of attendees must be a number.",
- "util.validation.eventdata.maxattendeesboolean": "Max number of attendees is required.",
- "util.validation.eventdata.timezone": "Event timezone is required.",
- "util.validation.eventtime.endisbefore": "End time must be in the future.",
- "util.validation.eventtime.endyears": "Event duration cannot be longer than 1 year.",
- "util.validation.eventtime.startisafter": "Start time must be before end time.",
- "util.validation.eventtime.startisbefore": "Start time must be in the future.",
- "util.validation.groupdata.creatoremail": "Email address is invalid.",
- "util.validation.groupdata.eventgroupdescription": "Event group description is required.",
- "util.validation.groupdata.eventgroupname": "Event group name is required.",
- "util.validation.groupdata.eventgroupurl": "Group link is invalid.",
- "views.404desc": "It may have never existed, or it's been removed from the server. Don't despair - why not create a new one? I for one would love to come to your ocarina recital.",
- "views.404notfound": "Event not found!",
- "views.createeventmagiclink.requestmlcontact": "If you run into any issues, please contact the instance administrator.",
- "views.createeventmagiclink.requestmldesc": "The administrator of this instance has limited event creation to a set of specific email addresses. If your email address is allowed to create events, you will be sent a magic link. If not, you won't receive anything.",
- "views.createeventmagiclink.requestmltitle": "Request a link to create a new event",
- "views.del": "Delete",
- "views.edittoken": "Enter editing password",
- "views.edittokendesc": "Enter the editing password you received by email or were shown when the event was created.",
- "views.emails.addeventattendee.clicktocancel": "Click this link",
- "views.emails.addeventattendee.dontknowhtml": "If you didn't mark yourself as attending an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. If you don't want to attend this event, use the <strong>deletion password</strong> above to remove yourself from the event page.",
- "views.emails.addeventattendee.eventlink": "Follow this link to open the event page any time",
- "views.emails.addeventattendee.preface": "You just marked yourself as attending an event on {{ siteName }}. Thank you! We'll send you another email if there are any updates to the event. Your email will be automatically removed from the database once the event finishes.",
- "views.emails.addeventattendee.removapasswordhtml": "You can also head to the event page and use this <strong>deletion password</strong>",
- "views.emails.addeventattendee.removelink": "Need to remove yourself from this event? Click this link",
- "views.emails.addeventattendee.removepassword": "You can also head to the event page and use this deletion password",
- "views.emails.addeventattendee.toremove": "Need to remove yourself from this event?",
- "views.emails.addeventcomment.link": "Click here to see the comment",
- "views.emails.addeventcomment.preface": "{{ commentAuthor }} has just posted a comment on an event you're attending on {{ siteName }}.",
- "views.emails.addeventcomment.prefacehtml": "<strong>{{ commentAuthor }}</strong> has just posted a comment on an event you're attending on {{ siteName }}.",
- "views.emails.createevent.desc": "Use the following link to edit your event. DO NOT SHARE THIS, as anyone with this link can edit your event.",
- "views.emails.createevent.editpswddesc": "Event group secret editing code",
- "views.emails.createevent.preface": "Your event has been created!",
- "views.emails.createevent.sharelink": "Use this link to share it with people",
- "views.emails.createeventgroup.done": "And that's it - have a great day!",
- "views.emails.createeventgroup.dontknow": "If you didn't make an event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs when they were making the group. Just click on the edit link above and delete that event group, which removes your email from the system as well.",
- "views.emails.createeventgroup.editgrouplink": "Edit the event group here",
- "views.emails.createeventgroup.editgrouplinkhtml": "Edit event group",
- "views.emails.createeventgroup.eventlink": "To add events to this group (whether brand new events or ones you've already made), click the 'This event is part of an event group' checkbox. You will need to copy the following two codes into the box which opens:",
- "views.emails.createeventgroup.link": "You can edit your event group by clicking the button below, or just following this link",
- "views.emails.createeventgroup.preface": "You just created a new event group on {{ siteName }}! Thanks a bunch - we're delighted to have you.",
- "views.emails.createeventgroup.sharelink": "To let others know about your event group, send them this link",
- "views.emails.createeventhtml.desc": "Click this button to edit your event. <strong>DO NOT SHARE THIS</strong>, as anyone with this link can edit your event.",
- "views.emails.createeventhtml.editevent": "Edit Your Event",
- "views.emails.deleteevent.done": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. Don't worry - that event, and your email, is deleted from the system now.",
- "views.emails.deleteevent.preface": "The {{ eventName }} event you're attending on {{ siteName }} was just deleted by its creator.",
- "views.emails.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. If you don't want to attend this event, use the deletion password above to remove yourself from the event page.",
- "views.emails.editevent.dontknow": "If you didn't mark yourself as attending an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Don't worry - there isn't anything you need to do. Your email will be removed from the system when the event finishes.",
- "views.emails.editevent.link": "Click here to see the event",
- "views.emails.editevent.preface": "An event you're attending on {{ siteName }} has just been edited.",
- "views.emails.eventgroupupdate.afterlink": " ",
- "views.emails.eventgroupupdate.beforelink": "The event is ",
- "views.emails.eventgroupupdate.dontknow": "If you didn't subscribe yourself to this event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs.",
- "views.emails.eventgroupupdate.dontknowhtml": "If you didn't subscribe yourself to this event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Click here to unsubscribe",
- "views.emails.eventgroupupdate.grouplink": "Click here to see the event group",
- "views.emails.eventgroupupdate.holduphtml": "Hold up - I don't want to receive these emails any more!",
- "views.emails.eventgroupupdate.link": "The event is '{{ eventName }}'",
- "views.emails.eventgroupupdate.preface": "A new event has been added to the event group '{{ eventGroupName }}' on {{ siteName }}",
- "views.emails.eventgroupupdate.prefacehtml": "A new event has been added to the event group '{eventGroupName}' on {{ siteName }}.",
- "views.emails.eventgroupupdate.unsubscribe": "Click here to unsubscribe",
- "views.emails.holdup": "Hold up - I have no idea what this email is about!",
- "views.emails.love": "Love,",
- "views.emails.magiclink.dontknow": "If you didn't try to create an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Don't worry - there isn't anything you need to do. Your email address will be deleted after the magic link expires.",
- "views.emails.magiclink.link": "This link will expire in 24 hours and can be used multiple times before then. Don't share it publicly, because it will allow anyone to create an event on your behalf!",
- "views.emails.magiclink.preface": "Here's a magic link which will allow you to create an event on {{ siteName }}.",
- "views.emails.removeeventattendee.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. Don't worry - you won't receive any more of these emails for this event, and your email has been removed from the database.",
- "views.emails.removeeventattendee.preface": "You have been removed from the event {{ eventName }} on {{ siteName }} by the organizer of the event.",
- "views.emails.subscribed.desc": "You will receive emails when new events are added to the group, and can unsubscribe at any time.",
- "views.emails.subscribed.preface": "You have been subscribed to the event group '{{eventGroupName}}' on {{ siteName }}.",
- "views.emails.unattendevent.desc": "If you didn't mean to do this, an admin may have removed you from the event.",
- "views.emails.unattendevent.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs, then removed it. Don't worry - you won't receive any more emails linked to this event.",
- "views.emails.unattendevent.preface": "You just removed yourself from an event on {{ siteName }}. You will no longer receive update emails for this event.",
- "views.event.about": "About",
- "views.event.addme": "Add me",
- "views.event.addmyself": "Add myself",
- "views.event.addself": "Add yourself to '{{eventData.name}}'",
- "views.event.addtoGC": "Add to Google Calendar",
- "views.event.attendeeemail": "Your email (optional)",
- "views.event.attendeename": "Your name",
- "views.event.attendeenamedesc": "Or an alias, perhaps...",
- "views.event.attendeenum": "How many people in your party?",
- "views.event.attendees": "Attendees",
- "views.event.attendeevisible": "Show my name in the public list of attendees",
- "views.event.attendeevisibledesc": "If you choose to hide your name, only the event organiser will be able to see it.",
- "views.event.attention": "Your secret editing password for this event is: <strong>{{eventData.editToken}}</strong>. It's been saved in your browser storage, and if you supplied your email, it's also been sent to you. If you didn't supply your email, you <strong>must save it somewhere safe</strong>, because it won't be shown again!",
- "views.event.capacity": "This event is at capacity.",
- "views.event.comment": "Comment",
- "views.event.commentauthor": "Name",
- "views.event.commentauthorph": "Your name",
- "views.event.commentcontent": "What would you like to say?",
- "views.event.concludeddel": " This event has concluded. It can no longer be edited{{#if eventWillBeDeleted}}, and will be automatically deleted {{daysUntilDeletion}}{{/if}}.",
- "views.event.confremoveattendee": "Are you sure you want to remove this attendee from the event? This action cannot be undone.",
- "views.event.del": "Delete event",
- "views.event.delconfirm": "Are you sure you want to delete this event? This action cannot be undone.",
- "views.event.deletetitle": "Delete '{{ eventData.name }}'",
- "views.event.discussion": "Discussion",
- "views.event.edit": "Edit event",
- "views.event.editlater": "You can always edit it later.",
- "views.event.ended": "Ended",
- "views.event.enternum": "Enter a number.",
- "views.event.hidden": "(hidden from public list)",
- "views.event.hiddenattendee_one": "{{count}} hidden attendee",
- "views.event.hiddenattendee_other": "{{count}} hidden attendees",
- "views.event.hiddenattendee_zero": "No hidden attendee",
- "views.event.hostedby": "Hosted by</span> {{eventData.hostName}}",
- "views.event.ICSexport": "Export as ICS",
- "views.event.joinemaildesc": "If you provide your email, you will receive updates to the event.",
- "views.event.locationdesc": "Be specific.",
- "views.event.lostpswd": "Forgot password? Get in touch with the event organiser.",
- "views.event.noattendees": "No attendees yet!",
- "views.event.nospam": "We won't spam you <3",
- "views.event.numberofattende": "({{numberOfAttendees}})",
- "views.event.numlimit": "Please enter a number between 1 and ${response.data.freeSpots}",
- "views.event.partof": "<a href='/group/{{eventData.eventGroup.id}}'>{{eventData.eventGroup.name}}</a>",
- "views.event.postbutton": "Post comment",
- "views.event.remaining_one": "{{count}} spot remaining - add yourself now!",
- "views.event.remaining_other": "{{count}} spots remaining - add yourself now!",
- "views.event.remaining_zero": "This event is at capacity.",
- "views.event.removeAttendee": "Remove attendee",
- "views.event.removeattendeedesc": "Remove attendee from '{{eventData.name}}'",
- "views.event.removeme": "Remove me",
- "views.event.removemyself": "Remove myself",
- "views.event.removemyselfdesc": "Remove yourself from '{{eventData.name}}'",
- "views.event.removepswd": "Removal password",
- "views.event.removepswddesc": "You can use this password to remove yourself from the list of event attendees. If you provided your email, you'll receive it by email. Otherwise, write it down now because it will <strong>not be shown again</strong>.",
- "views.event.removetitle": "Remove {{ attendeeName }} from {{ eventName }}",
- "views.event.removeuser": "Remove user from event",
- "views.event.reply": "Reply",
- "views.event.replycontent": "What would you like to reply?",
- "views.event.share": "To share your event, use the link you can see just above this message - that way your attendees won't be able to edit or delete your event!",
- "views.event.showonGM": "Show on Google Maps",
- "views.event.showonOM": "Show on OpenStreetMap",
- "views.event.started": "Started",
- "views.event.welcome": "Welcome to your event!",
- "views.eventgroup.about": "About",
- "views.eventgroup.addevent": "To link an existing event to this group, copy and paste the two codes below into the 'Event Group' box when creating a new event or editing an existing event.",
- "views.eventgroup.del": "Delete this event group",
- "views.eventgroup.delconfirm": "Are you sure you want to delete this event group? This action cannot be undone.",
- "views.eventgroup.deldesc": "<p>This will <strong>not</strong> delete the individual events contained in this group. They can be linked to another group later.",
- "views.eventgroup.deletetitle": "Delete '{{ eventGroupData.name }}'",
- "views.eventgroup.edit": "Edit group",
- "views.eventgroup.editmode": "Switch to editing mode",
- "views.eventgroup.editpswd": "Event group editing password",
- "views.eventgroup.feedlinkdesc": "Paste this URL into your calendar app\nto subscribe to a live feed of events from this group.",
- "views.eventgroup.hostedby": "Hosted by</span> {{eventGroupData.hostName}}",
- "views.eventgroup.ICSexport": "Export as ICS",
- "views.eventgroup.pastevents": "Past events",
- "views.eventgroup.subscribe": "Subscribe to events from\n'{{eventGroupData.name}}'",
- "views.eventgroup.subscribebutton": "Subscribe",
- "views.eventgroup.subscribedesc": "Enter your email address (optional) to receive\nupdates\nwhenever a new event is created in this group.",
- "views.eventgroup.subscribetitle": "Subscribe to updates",
- "views.eventgroup.upcomingevents": "Upcoming events",
- "views.eventgroup.welcome": "Welcome to your event group! We've just sent you an email with your secret editing link, which you can also see in the address bar above. Haven't got the email? Check your spam or junk folder. To share your event group, use the link you can see just below this message - that way your attendees won't be able to edit or delete your event group!",
- "views.home.about": "About {{ siteName }}",
- "views.home.aboutgathio": "About Gathio",
- "views.home.attention": "But remember: all events are visible to anyone who knows the link, so probably don't use Gathio to plot your surprise birthday party or revolution. Or whatever, you do you.",
- "views.home.autodelete": "If this instance automatically deletes its events, sometime after the event finishes, it's deleted from the database for ever, and your data goes with it.",
- "views.home.conftitle": "Configurable",
- "views.home.fedtitle": "Federation and self-hosting",
- "views.home.flagshipsetting": "The <a href=\"https://gath.io\">flagship Gathio instance at gath.io</a> is designed for anyone to create ephemeral, hidden events. Anyone can create an event; events are never displayed anywhere public; and they're deleted 7 days after they end.",
- "views.home.imgexample": "An example event page for a picnic. The page shows the event's location, host, date and time, and description, as well as buttons to save the event to Google Calendar, export it, and open the location in OpenStreetMap and Google Maps.",
- "views.home.intro": "Gathio is a simple, federated, privacy-first event hosting platform.",
- "views.home.kofi": "Support Me on Ko-fi",
- "views.home.onpre": "But if your community sets up their own instance, you can limit event creation to a specific list of people, display events on a handy list on the homepage, and disable event deletion entirely!",
- "views.home.opensource": "Open source",
- "views.home.osdesc": "Gathio is delighted to be open source, and is built by a lovely group of people. Leave a question in our <a href=\"https://github.com/lowercasename/gathio/issues\">tracker</a> if you encounter any issues.",
- "views.home.privacy": "Also, Gathio doesn't show you ads, doesn't sell your data, and never sends you unnecessary emails.",
- "views.home.privacytitle": "Privacy-first",
- "views.home.privdesc": "There are no accounts on Gathio. When you create an event, we generate a password which allows you to edit the event. Send all your guests the public link, and all your co-hosts the secret editing link containing the password.",
- "views.home.privmail": "If you supply your email, we'll send you the editing password so you don't lose it - but supplying your email is optional!",
- "views.home.selfhost": "Gathio can easily be self-hosted, and supports ActivityPub services like Mastodon, Pleroma, and Friendica, allowing you to access events from anywhere on the Fediverse. We encourage you to spin up your own instance for your community. Detailed instructions on <a href=\"https://docs.gath.io/using-gathio/fediverse/\">ActivityPub access</a> and <a href=\"https://docs.gath.io/running-gathio/installation/\">self-hosted installation</a> live on our GitHub wiki.",
- "views.home.sponsor": "If you find yourself using and enjoying Gathio, consider <a href=\"https://github.com/sponsors/lowercasename\" class=\"text-success\">supporting Raphael via GitHub Sponsors</a>. It'll help keep the project and main site running! <i class=\"far fa-heart\"></i>",
- "views.incorrectpswd": "That editing password is incorrect. Try again.",
- "views.interaction": "Users can post comments on this event",
- "views.join": "Users can mark themselves as attending this event",
- "views.layouts.main.defaultmetadata": "An easier, quicker, and much less privacy-invading way to make and share events",
- "views.layouts.main.footnote": " <strong>Gathio</strong> version {{version}} &middot; <a href=\"https://github.com/lowercasename/gathio\">GitHub</a> &middot; Made with <i class=\"far fa-heart\"></i> by <a href=\"https://raphaelkabo.com\">Raphael</a> and <a href=\"https://github.com/lowercasename/gathio/graphs/contributors\">contributors</a>",
- "views.newevent.createnew": "Create an event",
- "views.newevent.groupattention": "Event groups do not get automatically removed like events do, but events which have been removed from {{siteName}} will of course not show up in an event group.",
- "views.newevent.groupdesc": "An event group is a holding area for a set of linked events, like a series of film nights, a festival, or a band tour. You can share a public link to your event group just like an individual event link, and people who know the secret editing code (sent in an email when you create the event group) will be able to add future events to the group.",
- "views.newevent.importevent": "Import an existing event",
- "views.newevent.neweventbutton": "Create a new event",
- "views.newevent.neweventgroup": "Create a new event group",
- "views.newevent.newgroup": "Create an event group",
- "views.newevent.pagetitle": "What would you like to do?",
- "views.newevent.visiblealert": "Events are visible to anyone who knows the link.",
- "views.options.showlistattendees": "Display the list of attendees",
- "views.partials.choosefile": "Choose file",
- "views.partials.creatoremaildesc": "If you provide your email, we will send your secret editing password here, and use it to notify you of updates to the event.",
- "views.partials.delimg": "Delete image",
- "views.partials.editevent.delthis": "Delete this event",
- "views.partials.editevent.edit": "Edit '{{eventData.name}}'",
- "views.partials.editeventgroup.del": "Delete this event group",
- "views.partials.editeventgroup.delbutton": "Delete event group",
- "views.partials.eventform.creatoremail": "Your email",
- "views.partials.eventform.eventdescription": "Description",
- "views.partials.eventform.eventgroup": "This event is part of an event group",
- "views.partials.eventform.eventgroupdata": "Link this event to an event group",
- "views.partials.eventform.eventgroupedittoken": "You can find this long string of characters in the\nconfirmation email you received when you created the event group.",
- "views.partials.eventform.eventgroupid": "You can find this short string of characters in the event group's link, in your confirmation email, or on the event group's page.",
- "views.partials.eventform.eventgrouplinker": "Choose a group you've edited before",
- "views.partials.eventform.eventurl": "Link",
- "views.partials.eventform.eventurldesc": "For tickets or another event page (optional).",
- "views.partials.eventform.groupbutton": "Enter group details manually",
- "views.partials.eventform.hostname": "Host name",
- "views.partials.eventform.hostnamedesc": "Will be shown on the event page (optional).",
- "views.partials.eventform.maxattendees": "Attendee limit",
- "views.partials.eventform.maxattendeestitle": "Set a limit on the maximum number of attendees",
- "views.partials.eventform.options": "Options",
- "views.partials.eventform.publicevent": "Display this event on the public event list",
- "views.partials.eventgroup.options": "Options",
- "views.partials.eventgroupform.creatoremail": "Your email",
- "views.partials.eventgroupform.eventgroupddesc": "Description",
- "views.partials.eventgroupform.eventgroupurl": "Link",
- "views.partials.eventgroupform.eventgroupurldesc": "For tickets or another event page (optional).",
- "views.partials.eventgroupform.hostname": "Host or organisation name",
- "views.partials.eventgroupform.isshowningroup": "Will be shown on the event group page (optional).",
- "views.partials.eventgroupform.publicgroup": "Display this group on the public group list",
- "views.partials.eventlist.noevents": "No events!",
- "views.partials.fixerrors": "Please fix these errors:",
- "views.partials.importevent.selectfile": "Select file",
- "views.partials.importeventform.import": "Import",
- "views.partials.importeventform.importdesc": "Upload an .ics file here to instantly create an event. You can save a Facebook event as an .ics file by clicking on the context menu next to the 'Import' and 'Edit' buttons on the event page and choosing the 'Export Event' option. Then select the 'Save to calendar' option and save the file on your computer.",
- "views.partials.importeventform.importing": "Importing...",
- "views.partials.instancerules.instancesettings": "Instance settings",
- "views.partials.mdsupport": "<a href='https://commonmark.org/help/'>Markdown</a> formatting\nsupported.",
- "views.partials.recommendeddimensions": "Recommended dimensions (w x h): 920px by 300px.",
- "views.partials.save": "Save changes",
- "views.partials.saving": "Saving...",
- "views.partials.sidebar.about": "About",
- "views.partials.sidebar.createevent": "Create an event",
- "views.partials.sidebar.events": "View events",
- "views.partials.snappy": "Make it snappy.",
- "views.partials.wontshow": "Will not be shown anywhere (optional).",
- "views.publiceventlist.events": "Events",
- "views.publiceventlist.groups": "Groups",
- "views.publiceventlist.nogroups": "No groups!",
- "views.publiceventlist.numoevents_one": "{{count}} event",
- "views.publiceventlist.numoevents_other": "{{count}} events",
- "views.publiceventlist.numoevents_zero": "No event",
- "views.publiceventlist.pastevents": "Past events",
- "views.publiceventlist.upcomingevents": "Upcoming events",
- "views.right": "Get it right!"
+ "common.close": "Close",
+ "common.copied": "Copied!",
+ "common.copy": "Copy",
+ "common.coverimg": "Cover image",
+ "common.create": "Create",
+ "common.creating": "Creating...",
+ "common.datetimeformat": "dddd D MMMM YYYY h:mm a",
+ "common.emailaddr": "Email address",
+ "common.eventend": "Ends",
+ "common.eventgroupid": "Event group ID",
+ "common.eventgroupname": "Event group name",
+ "common.eventgroups": "Event groups",
+ "common.eventlocation": "Location",
+ "common.eventname": "Event name",
+ "common.eventstart": "Starts",
+ "common.timezone": "Timezone",
+ "common.year-month-format": "MMMM YYYY",
+ "common.youremail": "Your email",
+ "config.defaultinstancedesc": "**{{ siteName }}** is running on Gathio — a simple, federated, privacy-first event hosting platform.",
+ "config.instancerule.creatoremail-false": "Anyone can create events and groups",
+ "config.instancerule.creatoremail-true": "Only specific people can create events and groups",
+ "config.instancerule.deleteafterdays-false": "Events are permanent, and are never automatically deleted",
+ "config.instancerule.deleteafterdays-true": "Events are automatically deleted {{ days }} days after they end",
+ "config.instancerule.isfederated-false": "This instance does not federate with other instances",
+ "config.instancerule.isfederated-true": "This instance federates with other instances using ActivityPub",
+ "config.instancerule.showpubliceventlist-false": "Events and groups can only be accessed by direct link",
+ "config.instancerule.showpubliceventlist-true": "Public events and groups are displayed on the homepage",
+ "frontend.dateformat": "dddd D MMMM YYYY",
+ "frontend.displaydate-days": "{{ startdate }} <span class=\"text-muted\">at</span> {{ starttime }} <span class=\"text-muted\">-</span> {{ enddate }} <span class=\"text-muted\">at</span> {{ endtime }} <span class=\"text-muted\">{{ timezone }}</span>",
+ "frontend.displaydate-sameday": "{{ startdate }} <span class=\"text-muted\">from</span> {{ starttime }} <span class=\"text-muted\">to</span> {{ endtime }} <span class=\"text-muted\">{{ timezone }}</span>",
+ "frontend.elnumber": "({{count}} people)",
+ "frontend.eventattendees": "people",
+ "frontend.newevent": "New event",
+ "frontend.publicevents": "Public events",
+ "frontend.timeformat": "h:mm a",
+ "routes.addeventattendeesubject": "You're RSVPed to {{ eventName }}",
+ "routes.addeventcommentsubject": "New comment in {{eventName}}",
+ "routes.deleteeventsubject": "{{ eventName }} was deleted",
+ "routes.event.datetimeformat": "{{thedate, intlDate}}",
+ "routes.event.descriptionchanged": "the event description changed",
+ "routes.event.difftext": "This event was just updated with new information.",
+ "routes.event.editedsubject": "{{ eventname }} was just edited",
+ "routes.event.endtimechanged": "the end time changed to {{ endtime }}",
+ "routes.event.locationchanged": "the location changed to {{ location }}",
+ "routes.event.namechanged": "the event name changed to {{ eventname }}",
+ "routes.event.starttimechanged": "the start time changed to {{ starttime }}",
+ "routes.event.timezonechanged": "the time zone changed to {{ timezone }}",
+ "routes.magiclink-invalid": "This magic link is invalid or has expired. Please request a new one here.",
+ "routes.magiclink.mailsubject": "Magic link to create an event",
+ "routes.magiclink.provideemail": "Please provide an email address.",
+ "routes.magiclink.requestmlbutton": "Request magic link",
+ "routes.magiclink.thanks": "Thanks! If this email address can create events, you should receive an email with a magic link.",
+ "routes.removeeventattendeesubject": "You have been removed from an event",
+ "routes.subscribedsubject": "You have subscribed to an event group",
+ "util.validation.eventdata.creatoremail": "Email address is invalid.",
+ "util.validation.eventdata.eventdescription": "Event description is required.",
+ "util.validation.eventdata.eventend": "Event end time is required.",
+ "util.validation.eventdata.eventgroupboolean": "Event group ID is required.",
+ "util.validation.eventdata.eventgroupedittoken": "Event group edit token is required.",
+ "util.validation.eventdata.eventlocation": "Event location is required.",
+ "util.validation.eventdata.eventname": "Event name is required.",
+ "util.validation.eventdata.eventstart": "Event start time is required.",
+ "util.validation.eventdata.eventurl": "Event link is invalid.",
+ "util.validation.eventdata.maxattendees": "Max number of attendees must be a number.",
+ "util.validation.eventdata.maxattendeesboolean": "Max number of attendees is required.",
+ "util.validation.eventdata.timezone": "Event timezone is required.",
+ "util.validation.eventtime.endisbefore": "End time must be in the future.",
+ "util.validation.eventtime.endyears": "Event duration cannot be longer than 1 year.",
+ "util.validation.eventtime.startisafter": "Start time must be before end time.",
+ "util.validation.eventtime.startisbefore": "Start time must be in the future.",
+ "util.validation.groupdata.creatoremail": "Email address is invalid.",
+ "util.validation.groupdata.eventgroupdescription": "Event group description is required.",
+ "util.validation.groupdata.eventgroupname": "Event group name is required.",
+ "util.validation.groupdata.eventgroupurl": "Group link is invalid.",
+ "views.404desc": "It may have never existed, or it's been removed from the server. Don't despair - why not create a new one? I for one would love to come to your ocarina recital.",
+ "views.404notfound": "Event not found!",
+ "views.createeventmagiclink.requestmlcontact": "If you run into any issues, please contact the instance administrator.",
+ "views.createeventmagiclink.requestmldesc": "The administrator of this instance has limited event creation to a set of specific email addresses. If your email address is allowed to create events, you will be sent a magic link. If not, you won't receive anything.",
+ "views.createeventmagiclink.requestmltitle": "Request a link to create a new event",
+ "views.del": "Delete",
+ "views.edittoken": "Enter editing password",
+ "views.edittokendesc": "Enter the editing password you received by email or were shown when the event was created.",
+ "views.emails.addeventattendee.clicktocancel": "Click this link",
+ "views.emails.addeventattendee.dontknowhtml": "If you didn't mark yourself as attending an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. If you don't want to attend this event, use the <strong>deletion password</strong> above to remove yourself from the event page.",
+ "views.emails.addeventattendee.eventlink": "Follow this link to open the event page any time",
+ "views.emails.addeventattendee.preface": "You just marked yourself as attending an event on {{ siteName }}. Thank you! We'll send you another email if there are any updates to the event. Your email will be automatically removed from the database once the event finishes.",
+ "views.emails.addeventattendee.removapasswordhtml": "You can also head to the event page and use this <strong>deletion password</strong>",
+ "views.emails.addeventattendee.removelink": "Need to remove yourself from this event? Click this link",
+ "views.emails.addeventattendee.removepassword": "You can also head to the event page and use this deletion password",
+ "views.emails.addeventattendee.toremove": "Need to remove yourself from this event?",
+ "views.emails.addeventcomment.link": "Click here to see the comment",
+ "views.emails.addeventcomment.preface": "{{ commentAuthor }} has just posted a comment on an event you're attending on {{ siteName }}.",
+ "views.emails.addeventcomment.prefacehtml": "<strong>{{ commentAuthor }}</strong> has just posted a comment on an event you're attending on {{ siteName }}.",
+ "views.emails.createevent.desc": "Use the following link to edit your event. DO NOT SHARE THIS, as anyone with this link can edit your event.",
+ "views.emails.createevent.editpswddesc": "Event group secret editing code",
+ "views.emails.createevent.preface": "Your event has been created!",
+ "views.emails.createevent.sharelink": "Use this link to share it with people",
+ "views.emails.createeventgroup.done": "And that's it - have a great day!",
+ "views.emails.createeventgroup.dontknow": "If you didn't make an event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs when they were making the group. Just click on the edit link above and delete that event group, which removes your email from the system as well.",
+ "views.emails.createeventgroup.editgrouplink": "Edit the event group here",
+ "views.emails.createeventgroup.editgrouplinkhtml": "Edit event group",
+ "views.emails.createeventgroup.eventlink": "To add events to this group (whether brand new events or ones you've already made), click the 'This event is part of an event group' checkbox. You will need to copy the following two codes into the box which opens:",
+ "views.emails.createeventgroup.link": "You can edit your event group by clicking the button below, or just following this link",
+ "views.emails.createeventgroup.preface": "You just created a new event group on {{ siteName }}! Thanks a bunch - we're delighted to have you.",
+ "views.emails.createeventgroup.sharelink": "To let others know about your event group, send them this link",
+ "views.emails.createeventhtml.desc": "Click this button to edit your event. <strong>DO NOT SHARE THIS</strong>, as anyone with this link can edit your event.",
+ "views.emails.createeventhtml.editevent": "Edit Your Event",
+ "views.emails.deleteevent.done": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. Don't worry - that event, and your email, is deleted from the system now.",
+ "views.emails.deleteevent.preface": "The {{ eventName }} event you're attending on {{ siteName }} was just deleted by its creator.",
+ "views.emails.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. If you don't want to attend this event, use the deletion password above to remove yourself from the event page.",
+ "views.emails.editevent.dontknow": "If you didn't mark yourself as attending an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Don't worry - there isn't anything you need to do. Your email will be removed from the system when the event finishes.",
+ "views.emails.editevent.link": "Click here to see the event",
+ "views.emails.editevent.preface": "An event you're attending on {{ siteName }} has just been edited.",
+ "views.emails.eventgroupupdate.afterlink": " ",
+ "views.emails.eventgroupupdate.beforelink": "The event is ",
+ "views.emails.eventgroupupdate.dontknow": "If you didn't subscribe yourself to this event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs.",
+ "views.emails.eventgroupupdate.dontknowhtml": "If you didn't subscribe yourself to this event group on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Click here to unsubscribe",
+ "views.emails.eventgroupupdate.grouplink": "Click here to see the event group",
+ "views.emails.eventgroupupdate.holduphtml": "Hold up - I don't want to receive these emails any more!",
+ "views.emails.eventgroupupdate.link": "The event is '{{ eventName }}'",
+ "views.emails.eventgroupupdate.preface": "A new event has been added to the event group '{{ eventGroupName }}' on {{ siteName }}",
+ "views.emails.eventgroupupdate.prefacehtml": "A new event has been added to the event group '{eventGroupName}' on {{ siteName }}.",
+ "views.emails.eventgroupupdate.unsubscribe": "Click here to unsubscribe",
+ "views.emails.holdup": "Hold up - I have no idea what this email is about!",
+ "views.emails.love": "Love,",
+ "views.emails.magiclink.dontknow": "If you didn't try to create an event on {{ siteName }}, someone may have accidentally typed your email instead of theirs. Don't worry - there isn't anything you need to do. Your email address will be deleted after the magic link expires.",
+ "views.emails.magiclink.link": "This link will expire in 24 hours and can be used multiple times before then. Don't share it publicly, because it will allow anyone to create an event on your behalf!",
+ "views.emails.magiclink.preface": "Here's a magic link which will allow you to create an event on {{ siteName }}.",
+ "views.emails.removeeventattendee.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs. Don't worry - you won't receive any more of these emails for this event, and your email has been removed from the database.",
+ "views.emails.removeeventattendee.preface": "You have been removed from the event {{ eventName }} on {{ siteName }} by the organizer of the event.",
+ "views.emails.subscribed.desc": "You will receive emails when new events are added to the group, and can unsubscribe at any time.",
+ "views.emails.subscribed.preface": "You have been subscribed to the event group '{{eventGroupName}}' on {{ siteName }}.",
+ "views.emails.unattendevent.desc": "If you didn't mean to do this, an admin may have removed you from the event.",
+ "views.emails.unattendevent.dontknow": "If you didn't mark yourself as attending an event on {{siteName}}, someone may have accidentally typed your email instead of theirs, then removed it. Don't worry - you won't receive any more emails linked to this event.",
+ "views.emails.unattendevent.preface": "You just removed yourself from an event on {{ siteName }}. You will no longer receive update emails for this event.",
+ "views.event.about": "About",
+ "views.event.publiclink": "Public link",
+ "views.event.fediverselink": "Fediverse address",
+ "views.event.addme": "Add me",
+ "views.event.addmyself": "Add myself",
+ "views.event.addself": "Add yourself to '{{eventData.name}}'",
+ "views.event.addtoGC": "Add to Google Calendar",
+ "views.event.attendeeemail": "Your email (optional)",
+ "views.event.attendeename": "Your name",
+ "views.event.attendeenamedesc": "Or an alias, perhaps...",
+ "views.event.attendeenum": "How many people in your party?",
+ "views.event.attendees": "Attendees",
+ "views.event.attendeevisible": "Show my name in the public list of attendees",
+ "views.event.attendeevisibledesc": "If you choose to hide your name, only the event organiser will be able to see it.",
+ "views.event.attention": "Your secret editing password for this event is: <strong>{{eventData.editToken}}</strong>. It's been saved in your browser storage, and if you supplied your email, it's also been sent to you. If you didn't supply your email, you <strong>must save it somewhere safe</strong>, because it won't be shown again!",
+ "views.event.capacity": "This event is at capacity.",
+ "views.event.comment": "Comment",
+ "views.event.commentauthor": "Name",
+ "views.event.commentauthorph": "Your name",
+ "views.event.commentcontent": "What would you like to say?",
+ "views.event.concludeddel": " This event has concluded. It can no longer be edited{{#if eventWillBeDeleted}}, and will be automatically deleted {{daysUntilDeletion}}{{/if}}.",
+ "views.event.confremoveattendee": "Are you sure you want to remove this attendee from the event? This action cannot be undone.",
+ "views.event.del": "Delete event",
+ "views.event.delconfirm": "Are you sure you want to delete this event? This action cannot be undone.",
+ "views.event.deletetitle": "Delete '{{ eventData.name }}'",
+ "views.event.discussion": "Discussion",
+ "views.event.edit": "Edit event",
+ "views.event.editlater": "You can always edit it later.",
+ "views.event.ended": "Ended",
+ "views.event.enternum": "Enter a number.",
+ "views.event.hidden": "(hidden from public list)",
+ "views.event.hiddenattendee_one": "{{count}} hidden attendee",
+ "views.event.hiddenattendee_other": "{{count}} hidden attendees",
+ "views.event.hiddenattendee_zero": "No hidden attendee",
+ "views.event.hostedby": "Hosted by</span> {{eventData.hostName}}",
+ "views.event.ICSexport": "Export as ICS",
+ "views.event.joinemaildesc": "If you provide your email, you will receive updates to the event.",
+ "views.event.locationdesc": "Be specific.",
+ "views.event.lostpswd": "Forgot password? Get in touch with the event organiser.",
+ "views.event.noattendees": "No attendees yet!",
+ "views.event.nospam": "We won't spam you <3",
+ "views.event.numberofattende": "({{numberOfAttendees}})",
+ "views.event.numlimit": "Please enter a number between 1 and ${response.data.freeSpots}",
+ "views.event.partof": "<a href='/group/{{eventData.eventGroup.id}}'>{{eventData.eventGroup.name}}</a>",
+ "views.event.postbutton": "Post comment",
+ "views.event.remaining_one": "{{count}} spot remaining - add yourself now!",
+ "views.event.remaining_other": "{{count}} spots remaining - add yourself now!",
+ "views.event.remaining_zero": "This event is at capacity.",
+ "views.event.removeAttendee": "Remove attendee",
+ "views.event.removeattendeedesc": "Remove attendee from '{{eventData.name}}'",
+ "views.event.removeme": "Remove me",
+ "views.event.removemyself": "Remove myself",
+ "views.event.removemyselfdesc": "Remove yourself from '{{eventData.name}}'",
+ "views.event.removepswd": "Removal password",
+ "views.event.removepswddesc": "You can use this password to remove yourself from the list of event attendees. If you provided your email, you'll receive it by email. Otherwise, write it down now because it will <strong>not be shown again</strong>.",
+ "views.event.removetitle": "Remove {{ attendeeName }} from {{ eventName }}",
+ "views.event.removeuser": "Remove user from event",
+ "views.event.reply": "Reply",
+ "views.event.replycontent": "What would you like to reply?",
+ "views.event.share": "To share your event, use the link you can see just above this message - that way your attendees won't be able to edit or delete your event!",
+ "views.event.showonGM": "Show on Google Maps",
+ "views.event.showonOM": "Show on OpenStreetMap",
+ "views.event.started": "Started",
+ "views.event.welcome": "Welcome to your event!",
+ "views.event.currentlyediting": "You are currently editing this event. Do not share this link!",
+ "views.eventgroup.about": "About",
+ "views.eventgroup.addevent": "To link an existing event to this group, copy and paste the two codes below into the 'Event Group' box when creating a new event or editing an existing event.",
+ "views.eventgroup.del": "Delete this event group",
+ "views.eventgroup.delconfirm": "Are you sure you want to delete this event group? This action cannot be undone.",
+ "views.eventgroup.deldesc": "<p>This will <strong>not</strong> delete the individual events contained in this group. They can be linked to another group later.",
+ "views.eventgroup.deletetitle": "Delete '{{ eventGroupData.name }}'",
+ "views.eventgroup.edit": "Edit group",
+ "views.eventgroup.editmode": "Switch to editing mode",
+ "views.eventgroup.editpswd": "Event group editing password",
+ "views.eventgroup.feedlinkdesc": "Paste this URL into your calendar app\nto subscribe to a live feed of events from this group.",
+ "views.eventgroup.hostedby": "Hosted by</span> {{eventGroupData.hostName}}",
+ "views.eventgroup.ICSexport": "Export as ICS",
+ "views.eventgroup.pastevents": "Past events",
+ "views.eventgroup.subscribe": "Subscribe to events from\n'{{eventGroupData.name}}'",
+ "views.eventgroup.subscribebutton": "Subscribe",
+ "views.eventgroup.subscribedesc": "Enter your email address (optional) to receive\nupdates\nwhenever a new event is created in this group.",
+ "views.eventgroup.subscribetitle": "Subscribe to updates",
+ "views.eventgroup.upcomingevents": "Upcoming events",
+ "views.eventgroup.welcome": "Welcome to your event group! We've just sent you an email with your secret editing link, which you can also see in the address bar above. Haven't got the email? Check your spam or junk folder. To share your event group, use the link you can see just below this message - that way your attendees won't be able to edit or delete your event group!",
+ "views.home.about": "About {{ siteName }}",
+ "views.home.aboutgathio": "About Gathio",
+ "views.home.attention": "But remember: all events are visible to anyone who knows the link, so probably don't use Gathio to plot your surprise birthday party or revolution. Or whatever, you do you.",
+ "views.home.autodelete": "If this instance automatically deletes its events, sometime after the event finishes, it's deleted from the database for ever, and your data goes with it.",
+ "views.home.conftitle": "Configurable",
+ "views.home.fedtitle": "Federation and self-hosting",
+ "views.home.flagshipsetting": "The <a href=\"https://gath.io\">flagship Gathio instance at gath.io</a> is designed for anyone to create ephemeral, hidden events. Anyone can create an event; events are never displayed anywhere public; and they're deleted 7 days after they end.",
+ "views.home.imgexample": "An example event page for a picnic. The page shows the event's location, host, date and time, and description, as well as buttons to save the event to Google Calendar, export it, and open the location in OpenStreetMap and Google Maps.",
+ "views.home.intro": "Gathio is a simple, federated, privacy-first event hosting platform.",
+ "views.home.kofi": "Support Me on Ko-fi",
+ "views.home.onpre": "But if your community sets up their own instance, you can limit event creation to a specific list of people, display events on a handy list on the homepage, and disable event deletion entirely!",
+ "views.home.opensource": "Open source",
+ "views.home.osdesc": "Gathio is delighted to be open source, and is built by a lovely group of people. Leave a question in our <a href=\"https://github.com/lowercasename/gathio/issues\">tracker</a> if you encounter any issues.",
+ "views.home.privacy": "Also, Gathio doesn't show you ads, doesn't sell your data, and never sends you unnecessary emails.",
+ "views.home.privacytitle": "Privacy-first",
+ "views.home.privdesc": "There are no accounts on Gathio. When you create an event, we generate a password which allows you to edit the event. Send all your guests the public link, and all your co-hosts the secret editing link containing the password.",
+ "views.home.privmail": "If you supply your email, we'll send you the editing password so you don't lose it - but supplying your email is optional!",
+ "views.home.selfhost": "Gathio can easily be self-hosted, and supports ActivityPub services like Mastodon, Pleroma, and Friendica, allowing you to access events from anywhere on the Fediverse. We encourage you to spin up your own instance for your community. Detailed instructions on <a href=\"https://docs.gath.io/using-gathio/fediverse/\">ActivityPub access</a> and <a href=\"https://docs.gath.io/running-gathio/installation/\">self-hosted installation</a> live on our GitHub wiki.",
+ "views.home.sponsor": "If you find yourself using and enjoying Gathio, consider <a href=\"https://github.com/sponsors/lowercasename\" class=\"text-success\">supporting Raphael via GitHub Sponsors</a>. It'll help keep the project and main site running! <i class=\"far fa-heart\"></i>",
+ "views.incorrectpswd": "That editing password is incorrect. Try again.",
+ "views.interaction": "Users can post comments on this event",
+ "views.join": "Users can mark themselves as attending this event",
+ "views.layouts.main.defaultmetadata": "An easier, quicker, and much less privacy-invading way to make and share events",
+ "views.layouts.main.footnote": " <strong>Gathio</strong> version {{version}} &middot; <a href=\"https://github.com/lowercasename/gathio\">GitHub</a> &middot; Made with <i class=\"far fa-heart\"></i> by <a href=\"https://raphaelkabo.com\">Raphael</a> and <a href=\"https://github.com/lowercasename/gathio/graphs/contributors\">contributors</a>",
+ "views.newevent.createnew": "Create an event",
+ "views.newevent.groupattention": "Event groups do not get automatically removed like events do, but events which have been removed from {{siteName}} will of course not show up in an event group.",
+ "views.newevent.groupdesc": "An event group is a holding area for a set of linked events, like a series of film nights, a festival, or a band tour. You can share a public link to your event group just like an individual event link, and people who know the secret editing code (sent in an email when you create the event group) will be able to add future events to the group.",
+ "views.newevent.importevent": "Import an existing event",
+ "views.newevent.neweventbutton": "Create a new event",
+ "views.newevent.neweventgroup": "Create a new event group",
+ "views.newevent.newgroup": "Create an event group",
+ "views.newevent.pagetitle": "What would you like to do?",
+ "views.newevent.visiblealert": "Events are visible to anyone who knows the link.",
+ "views.options.showlistattendees": "Display the list of attendees",
+ "views.partials.choosefile": "Choose file",
+ "views.partials.creatoremaildesc": "If you provide your email, we will send your secret editing password here, and use it to notify you of updates to the event.",
+ "views.partials.delimg": "Delete image",
+ "views.partials.editevent.delthis": "Delete this event",
+ "views.partials.editevent.edit": "Edit '{{eventData.name}}'",
+ "views.partials.editeventgroup.del": "Delete this event group",
+ "views.partials.editeventgroup.delbutton": "Delete event group",
+ "views.partials.eventform.creatoremail": "Your email",
+ "views.partials.eventform.eventdescription": "Description",
+ "views.partials.eventform.eventgroup": "This event is part of an event group",
+ "views.partials.eventform.eventgroupdata": "Link this event to an event group",
+ "views.partials.eventform.eventgroupedittoken": "You can find this long string of characters in the\nconfirmation email you received when you created the event group.",
+ "views.partials.eventform.eventgroupid": "You can find this short string of characters in the event group's link, in your confirmation email, or on the event group's page.",
+ "views.partials.eventform.eventgrouplinker": "Choose a group you've edited before",
+ "views.partials.eventform.eventurl": "Link",
+ "views.partials.eventform.eventurldesc": "For tickets or another event page (optional).",
+ "views.partials.eventform.groupbutton": "Enter group details manually",
+ "views.partials.eventform.hostname": "Host name",
+ "views.partials.eventform.hostnamedesc": "Will be shown on the event page (optional).",
+ "views.partials.eventform.maxattendees": "Attendee limit",
+ "views.partials.eventform.maxattendeestitle": "Set a limit on the maximum number of attendees",
+ "views.partials.eventform.options": "Options",
+ "views.partials.eventform.publicevent": "Display this event on the public event list",
+ "views.partials.eventgroup.options": "Options",
+ "views.partials.eventgroupform.creatoremail": "Your email",
+ "views.partials.eventgroupform.eventgroupddesc": "Description",
+ "views.partials.eventgroupform.eventgroupurl": "Link",
+ "views.partials.eventgroupform.eventgroupurldesc": "For tickets or another event page (optional).",
+ "views.partials.eventgroupform.hostname": "Host or organisation name",
+ "views.partials.eventgroupform.isshowningroup": "Will be shown on the event group page (optional).",
+ "views.partials.eventgroupform.publicgroup": "Display this group on the public group list",
+ "views.partials.eventlist.noevents": "No events!",
+ "views.partials.fixerrors": "Please fix these errors:",
+ "views.partials.importevent.selectfile": "Select file",
+ "views.partials.importeventform.import": "Import",
+ "views.partials.importeventform.importdesc": "Upload an .ics file here to instantly create an event. You can save a Facebook event as an .ics file by clicking on the context menu next to the 'Import' and 'Edit' buttons on the event page and choosing the 'Export Event' option. Then select the 'Save to calendar' option and save the file on your computer.",
+ "views.partials.importeventform.importing": "Importing...",
+ "views.partials.instancerules.instancesettings": "Instance settings",
+ "views.partials.mdsupport": "<a href='https://commonmark.org/help/'>Markdown</a> formatting\nsupported.",
+ "views.partials.recommendeddimensions": "Recommended dimensions (w x h): 920px by 300px.",
+ "views.partials.save": "Save changes",
+ "views.partials.saving": "Saving...",
+ "views.partials.sidebar.about": "About",
+ "views.partials.sidebar.createevent": "Create an event",
+ "views.partials.sidebar.events": "View events",
+ "views.partials.snappy": "Make it snappy.",
+ "views.partials.wontshow": "Will not be shown anywhere (optional).",
+ "views.publiceventlist.events": "Events",
+ "views.publiceventlist.groups": "Groups",
+ "views.publiceventlist.nogroups": "No groups!",
+ "views.publiceventlist.numoevents_one": "{{count}} event",
+ "views.publiceventlist.numoevents_other": "{{count}} events",
+ "views.publiceventlist.numoevents_zero": "No event",
+ "views.publiceventlist.pastevents": "Past events",
+ "views.publiceventlist.upcomingevents": "Upcoming events",
+ "views.right": "Get it right!"
}
diff --git a/public/css/style.css b/public/css/style.css
index 8bc0caa..3060098 100755
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -53,6 +53,7 @@ h3 {
--color-grey-30: hsl(0, 0%, 30%);
--color-grey-20: hsl(0, 0%, 20%);
--color--black: hsl(0, 0%, 10%);
+ --color-orange: #ff8c26;
--transition: 0.15s ease-in;
}
@@ -213,6 +214,10 @@ h3 {
line-height: 2rem;
}
+.fediverse-icon img {
+ width: 70%;
+}
+
/* LAYOUT */
html {
@@ -250,7 +255,7 @@ body > #container {
padding: 1rem;
}
-#container > #content > main.event > *:not(.event-header-image) {
+#container > #content > main.event > *:not(.event-header-image,.event__editing-banner) {
margin: 0 1rem;
}
@@ -369,6 +374,19 @@ ul#sidebar__nav a {
/* EVENTS */
+#container > section#content.content--editing {
+ border: 6px solid var(--color-orange);
+}
+
+.event__editing-banner {
+ background-color: var(--color-orange);
+ color: #fff;
+ padding: 0.5rem;
+ text-align: center;
+ font-weight: bold;
+ margin: 0;
+}
+
#genericEventImageContainer {
height: 150px;
border-radius: 5px;
diff --git a/public/images/fediverse-icon.svg b/public/images/fediverse-icon.svg
new file mode 100644
index 0000000..356bcd8
--- /dev/null
+++ b/public/images/fediverse-icon.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="196.52mm" height="196.52mm" viewBox="0 0 196.52 196.52" version="1.1" id="svg8" inkscape:version="0.92.2 2405546, 2018-03-11" sodipodi:docname="Logo_penta_connectat-imbrincat_BiN.svg" inkscape:export-filename="/home/nestor/Pictures/Fediversal/Logo_penta_connectat-imbrincat_mono-512x.png" inkscape:export-xdpi="66.175453" inkscape:export-ydpi="66.175453">
+ <defs id="defs2"/>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35646619" inkscape:cx="-324.56885" inkscape:cy="378.80956" inkscape:document-units="mm" inkscape:current-layer="layer2" showgrid="false" inkscape:snap-smooth-nodes="true" inkscape:snap-midpoints="true" inkscape:snap-global="false" inkscape:window-width="1366" inkscape:window-height="736" inkscape:window-x="0" inkscape:window-y="32" inkscape:window-maximized="1" fit-margin-top="5" fit-margin-left="5" fit-margin-right="5" fit-margin-bottom="5"/>
+ <metadata id="metadata5">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Hexagons" inkscape:groupmode="layer" id="layer1" style="display:none" transform="translate(6.6789703,-32.495842)">
+ <circle style="fill:#00a3ff;fill-opacity:0.99596773;fill-rule:nonzero;stroke:#d79611;stroke-width:11;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path830" cx="91.581032" cy="130.75584" r="87.760002"/>
+ <path sodipodi:type="star" style="display:inline;fill:#0000d4;fill-opacity:1;fill-rule:nonzero;stroke:#4b4b40;stroke-width:9.88948536;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1669" sodipodi:sides="5" sodipodi:cx="103.97202" sodipodi:cy="134.41467" sodipodi:r1="98.801643" sodipodi:r2="79.932205" sodipodi:arg1="1.0471976" sodipodi:arg2="1.6755161" inkscape:flatsided="true" inkscape:rounded="0" inkscape:randomized="0" d="M 153.37284,219.97941 37.860816,207.8386 13.712232,94.22842 114.29961,36.154276 l 86.315,77.718384 z" inkscape:transform-center-x="-2.409305" inkscape:transform-center-y="-4.7910078" transform="matrix(0.75493711,0,0,0.75474706,13.251553,29.556024)"/>
+ </g>
+ <g inkscape:groupmode="layer" id="layer4" inkscape:label="Linies_originals" style="display:none">
+ <path transform="translate(6.6789702,-32.495842)" sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1690" d="M 165.18127,119.35405 38.636939,183.48684" style="display:inline;fill:none;stroke:#5496be;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ <path transform="translate(6.6789702,-32.495842)" style="display:inline;fill:none;stroke:#a730b8;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 25.096981,96.875251 125.21379,197.3795" id="path1684" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
+ <path transform="translate(6.6789702,-32.495842)" sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1686" d="M 38.636939,183.48684 103.30568,57.239007" style="display:inline;fill:none;stroke:#ce3d1a;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ <path transform="translate(6.6789702,-32.495842)" style="display:inline;fill:none;stroke:#46ae3a;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 125.21379,197.3795 103.30568,57.239007" id="path1688" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
+ <path transform="translate(6.6789702,-32.495842)" sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1682" d="m 25.096981,106.16365 140.084289,22.4788" style="display:inline;fill:none;stroke:#d79611;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ </g>
+ <g inkscape:groupmode="layer" id="layer2" inkscape:label="Linies" style="display:inline" transform="translate(6.6789703,-32.495842)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 181.13086 275.13672 A 68.892408 68.892408 0 0 1 151.66602 304.46484 L 313.42383 466.85352 L 352.42188 447.08984 L 181.13086 275.13672 z M 394.49414 489.32422 L 355.49609 509.08789 L 437.45898 591.37109 A 68.892409 68.892409 0 0 1 466.92969 562.03906 L 394.49414 489.32422 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path9722"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 581.64648 339.39062 L 490.07031 385.80078 L 496.82227 428.99023 L 600.4375 376.47656 A 68.892409 68.892409 0 0 1 581.64648 339.39062 z M 436.9082 412.74219 L 220.38281 522.47656 A 68.892408 68.892408 0 0 1 239.17773 559.56641 L 443.66016 455.93359 L 436.9082 412.74219 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path9729"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 367.27539 142.4375 L 262.79492 346.4082 L 293.64258 377.375 L 404.26562 161.41797 A 68.892408 68.892408 0 0 1 367.27539 142.4375 z M 235.62109 399.45898 L 182.69922 502.77344 A 68.892409 68.892409 0 0 1 219.68555 521.75195 L 266.4668 430.42383 L 235.62109 399.45898 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path9713"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 150.76758 304.91797 A 68.892408 68.892408 0 0 1 116.35156 312.11328 A 68.892408 68.892408 0 0 1 109.70117 311.41797 L 140.60352 509.08008 A 68.892409 68.892409 0 0 1 175.01953 501.88477 A 68.892409 68.892409 0 0 1 181.66602 502.58008 L 150.76758 304.91797 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path1015"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 239.3418 560.54492 A 68.892408 68.892408 0 0 1 240.0625 574.42188 A 68.892408 68.892408 0 0 1 232.79492 601.60156 L 430.42383 633.31445 A 68.892409 68.892409 0 0 1 429.70117 619.43555 A 68.892409 68.892409 0 0 1 436.9707 592.25781 L 239.3418 560.54492 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path1674"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 601.13281 377.19922 L 509.91406 555.28125 A 68.892408 68.892408 0 0 1 546.9082 574.26367 L 638.125 396.18359 A 68.892409 68.892409 0 0 1 601.13281 377.19922 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path1676"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 476.72266 125.33008 A 68.892408 68.892408 0 0 1 447.25195 154.66211 L 588.51758 296.47266 A 68.892409 68.892409 0 0 1 617.98633 267.14062 L 476.72266 125.33008 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path1678"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 347.78711 104.63086 L 169.21094 195.12891 A 68.892409 68.892409 0 0 1 188.00391 232.21484 L 366.57812 141.71289 A 68.892408 68.892408 0 0 1 347.78711 104.63086 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path1680"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 446.92578 154.82617 A 68.892408 68.892408 0 0 1 411.94336 162.30859 A 68.892408 68.892408 0 0 1 405.91406 161.67578 L 421.73242 262.9668 L 464.89453 269.89258 L 446.92578 154.82617 z M 430.92578 321.85352 L 468.32617 561.33594 A 68.892409 68.892409 0 0 1 502.24023 554.39258 A 68.892409 68.892409 0 0 1 509.44727 555.18359 L 474.08984 328.77734 L 430.92578 321.85352 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path9758"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 188.13086 232.97461 A 68.892408 68.892408 0 0 1 188.88867 247.07031 A 68.892408 68.892408 0 0 1 181.72852 274.05273 L 283.09766 290.33398 L 303.02148 251.42578 L 188.13086 232.97461 z M 361.86719 260.875 L 341.94141 299.78711 L 581.45508 338.25391 A 68.892409 68.892409 0 0 1 580.75977 324.53516 A 68.892409 68.892409 0 0 1 588.10938 297.21094 L 361.86719 260.875 z " transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" id="path9760"/>
+ </g>
+ <g inkscape:groupmode="layer" id="layer3" inkscape:label="Nodes" style="display:inline;opacity:1" transform="translate(6.6789703,-32.495842)">
+ <circle style="fill:#000000;fill-opacity:0.99596773;stroke:none;stroke-width:0.26458332;stroke-opacity:0.96078431" id="path817" cx="106.26596" cy="51.535553" r="16.570711" transform="rotate(3.1178174)"/>
+ <circle id="path819" style="fill:#000000;fill-opacity:0.99596773;stroke:none;stroke-width:0.26458332;stroke-opacity:0.96078431" cx="171.42836" cy="110.19328" r="16.570711" transform="rotate(3.1178174)"/>
+ <circle id="path823" style="fill:#000000;fill-opacity:0.99596773;stroke:none;stroke-width:0.26458332;stroke-opacity:0.96078431" cx="135.76379" cy="190.27704" r="16.570711" transform="rotate(3.1178174)"/>
+ <circle style="fill:#000000;fill-opacity:0.99596773;stroke:none;stroke-width:0.26458332;stroke-opacity:0.96078431" id="path825" cx="48.559471" cy="181.1138" r="16.570711" transform="rotate(3.1178174)"/>
+ <circle id="path827" style="fill:#000000;fill-opacity:0.99596773;stroke:none;stroke-width:0.26458332;stroke-opacity:0.96078431" cx="30.328812" cy="95.366837" r="16.570711" transform="rotate(3.1178174)"/>
+ </g>
+<script xmlns=""/></svg> \ No newline at end of file
diff --git a/views/event.handlebars b/views/event.handlebars
index 53ee39c..703c1d4 100755
--- a/views/event.handlebars
+++ b/views/event.handlebars
@@ -1,4 +1,9 @@
-<main class="event">
+<main class="event{{#if editingEnabled}} event--editing{{/if}}">
+{{#if editingEnabled}}
+<div class="event__editing-banner">
+ {{t "views.event.currentlyediting" }}
+</div>
+{{/if}}
{{#if eventHasCoverImage}}
<div class="event-header-image" id="eventImageContainer" style="background-image: url(/events/{{eventData.image}});"></div>
{{else}}
@@ -70,8 +75,9 @@
{{/if}}
<li>
<span class="fa-li">
- <i class="fas fa-fw fa-share-square"></i>
+ <i class="fas fa-fw fa-users"></i>
</span>
+ <span class="text-muted">{{ t "views.event.publiclink" }}:</span>
<a class="u-url" href="https://{{domain}}/{{eventData.id}}">https://{{domain}}/{{eventData.id}}</a>
<button type="button" id="copyEventLink" class="eventInformationAction button button--outline-secondary button--sm" data-clipboard-text="https://{{domain}}/{{eventData.id}}">
<i class="fas fa-copy"></i> {{t "common.copy" }}
@@ -79,9 +85,8 @@
</li>
{{#if isFederated}}
<li>
- <span class="fa-li">
- <i class="fas fa-fw fa-share-square"></i>
- </span>
+ <span class="fa-li fa-fw fediverse-icon"><img src="/images/fediverse-icon.svg" alt="Fediverse Icon" /></span>
+ <span class="text-muted">{{ t "views.event.fediverselink" }}:</span>
@{{eventData.id}}@{{domain}}
<button type="button" id="copyAPLink" class="eventInformationAction button button--outline-secondary button--sm" data-clipboard-text="@{{eventData.id}}@{{domain}}">
<i class="fas fa-copy"></i> {{t "common.copy" }}
diff --git a/views/eventgroup.handlebars b/views/eventgroup.handlebars
index 6dcf555..5fcc6c2 100755
--- a/views/eventgroup.handlebars
+++ b/views/eventgroup.handlebars
@@ -1,4 +1,9 @@
<main class="event">
+{{#if editingEnabled}}
+<div class="event__editing-banner">
+ {{ t "views.event.currentlyediting" }}
+</div>
+{{/if}}
{{#if eventGroupHasCoverImage}}
<div class="event-header-image" id="eventImageContainer" style="background-image: url(/events/{{eventGroupData.image}});"></div>
{{else}}
@@ -47,8 +52,9 @@
{{/if}}
<li>
<span class="fa-li">
- <i class="fas fa-share-square"></i>
+ <i class="fas fa-users"></i>
</span>
+ <span class="text-muted">{{t "views.event.publiclink" }}:</span>
<a href="https://{{domain}}/group/{{eventGroupData.id}}">https://{{domain}}/group/{{eventGroupData.id}}</a>
<button type="button" id="copyEventLink" class="eventInformationAction button button--outline-secondary button--sm" data-clipboard-text="https://{{domain}}/group/{{eventGroupData.id}}">
<i class="fas fa-copy"></i> {{t "common.copy" }}
diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars
index f3b39d4..d2eeeac 100755
--- a/views/layouts/main.handlebars
+++ b/views/layouts/main.handlebars
@@ -57,7 +57,7 @@
<header id="sidebar">
{{>sidebar}}
</header>
- <section id="content">
+ <section id="content" {{#if editingEnabled}}class="content--editing"{{/if}}>
{{{body}}}
<footer>
{{#if showInstanceInformation}}