diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 98830a8..91e1b60 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -23,7 +23,7 @@ export const authHook: Handle = async ({ event, resolve }) => { if (!userFetch.ok) { event.locals.user = null; - event.cookies.delete('sessionid', { path: '/' }); + event.cookies.delete('sessionid', { path: '/', secure: event.url.protocol === 'https:' }); return await resolve(event); } @@ -47,19 +47,19 @@ export const authHook: Handle = async ({ event, resolve }) => { path: '/', httpOnly: true, sameSite: 'lax', - secure: true, + secure: event.url.protocol === 'https:', expires: expiryDate }); } } } else { event.locals.user = null; - event.cookies.delete('sessionid', { path: '/' }); + event.cookies.delete('sessionid', { path: '/', secure: event.url.protocol === 'https:' }); } } catch (error) { console.error('Error in authHook:', error); event.locals.user = null; - event.cookies.delete('sessionid', { path: '/' }); + event.cookies.delete('sessionid', { path: '/', secure: event.url.protocol === 'https:' }); } return await resolve(event); diff --git a/frontend/src/locales/sv.json b/frontend/src/locales/sv.json index 495b0ba..7beccea 100644 --- a/frontend/src/locales/sv.json +++ b/frontend/src/locales/sv.json @@ -1,9 +1,10 @@ { + "about": { "about": "Om", - "close": "Nära", + "close": "Stäng", "license": "Licensierad under GPL-3.0-licensen.", - "message": "Tillverkad med ❤️ i USA.", + "message": "Skapat med ❤️ i USA.", "nominatim_1": "Platssökning och geokodning tillhandahålls av", "nominatim_2": "Deras data är licensierad under ODbL-licensen.", "oss_attributions": "Tillskrivningar med öppen källkod", @@ -80,12 +81,12 @@ "not_found_desc": "Äventyret du letade efter kunde inte hittas. \nProva ett annat äventyr eller kom tillbaka senare.", "open_details": "Öppna Detaljer", "open_filters": "Öppna filter", - "order_by": "Beställ efter", - "order_direction": "Beställ riktning", - "planned": "Planerad", + "order_by": "Sortera efter", + "order_direction": "Sorteringsriktning", + "planned": "Planerade", "private": "Privat", "public": "Offentlig", - "rating": "Gradering", + "rating": "Betyg", "remove_from_collection": "Ta bort från samlingen", "share": "Dela", "sort": "Sortera", @@ -93,7 +94,7 @@ "unarchive": "Avarkivera", "unarchived_collection_message": "Samlingen har tagits bort från arkivet!", "visit": "Besök", - "visited": "Besökte", + "visited": "Besökta", "visits": "Besök", "image_removed_error": "Det gick inte att ta bort bilden", "image_removed_success": "Bilden har tagits bort!", @@ -153,12 +154,12 @@ "all": "Alla", "error_updating_regions": "Fel vid uppdatering av regioner", "mark_region_as_visited": "Markera region {region}, {country} som besökt?", - "mark_visited": "Mark besökte", + "mark_visited": "Markera som besökt", "my_adventures": "Mina äventyr", "no_adventures_found": "Inga äventyr hittades", "no_collections_found": "Inga samlingar hittades att lägga till detta äventyr till.", "no_linkable_adventures": "Inga äventyr hittades som kan kopplas till denna samling.", - "not_visited": "Ej besökt", + "not_visited": "Ej besökta", "regions_updated": "regioner uppdaterade", "update_visited_regions": "Uppdatera besökta regioner", "update_visited_regions_disclaimer": "Detta kan ta ett tag beroende på antalet äventyr du har besökt.", @@ -223,29 +224,29 @@ "feature_1": "Reselogg", "feature_1_desc": "Håll koll på dina äventyr med en personlig reselogg och dela dina upplevelser med vänner och familj.", "feature_2": "Reseplanering", - "feature_2_desc": "Skapa enkelt anpassade resplaner och få en uppdelning av din resa dag för dag.", + "feature_2_desc": "Skapa enkelt skräddarsydda resplaner och få en översikt över din resa, dag för dag.", "feature_3": "Resekarta", "feature_3_desc": "Se dina resor över hela världen med en interaktiv karta och utforska nya destinationer.", "go_to": "Gå till AdventureLog", "hero_1": "Upptäck världens mest spännande äventyr", "hero_2": "Upptäck och planera ditt nästa äventyr med AdventureLog. \nUtforska hisnande destinationer, skapa anpassade resplaner och håll kontakten när du är på språng.", - "key_features": "Nyckelfunktioner" + "key_features": "Viktiga funktioner" }, "navbar": { "about": "Om AdventureLog", "adventures": "Äventyr", "collections": "Samlingar", - "discord": "Disharmoni", + "discord": "Discord", "documentation": "Dokumentation", "greeting": "Hej", - "logout": "Utloggning", + "logout": "Logga ut", "map": "Karta", "my_adventures": "Mina äventyr", "profile": "Profil", - "search": "Söka", + "search": "Sök", "settings": "Inställningar", "shared_with_me": "Delade med mig", - "theme_selection": "Temaval", + "theme_selection": "Tema", "themes": { "aqua": "Aqua", "dark": "Mörk", @@ -259,21 +260,21 @@ "users": "Användare", "worldtravel": "Världsresor", "my_tags": "Mina taggar", - "tag": "Märka", + "tag": "Tagg", "language_selection": "Språk", - "support": "Stöd", + "support": "Support", "calendar": "Kalender" }, "worldtravel": { "all": "Alla", "all_subregions": "Alla underregioner", "clear_search": "Rensa sökning", - "completely_visited": "Helt besökt", + "completely_visited": "Fullständigt besökta", "country_list": "Lista över länder", "no_countries_found": "Inga länder hittades", - "not_visited": "Ej besökt", - "num_countries": "hittade länder", - "partially_visited": "Delvis besökt" + "not_visited": "Ej besökta", + "num_countries": "länder hittades", + "partially_visited": "Delvis besökta" }, "auth": { "confirm_password": "Bekräfta lösenord", @@ -281,7 +282,7 @@ "first_name": "Förnamn", "forgot_password": "Glömt lösenordet?", "last_name": "Efternamn", - "login": "Inloggning", + "login": "Logga in", "login_error": "Det går inte att logga in med de angivna uppgifterna.", "password": "Lösenord", "registration_disabled": "Registreringen är för närvarande inaktiverad.", @@ -307,25 +308,25 @@ "new_password": "Nytt lösenord", "no_email_set": "Ingen e-post inställd", "password_change": "Ändra lösenord", - "settings_page": "Inställningssida", + "settings_page": "Inställningar", "update": "Uppdatera", - "update_error": "Fel vid uppdatering av inställningar", + "update_error": "Ett fel uppstod vid uppdatering av inställningar", "update_success": "Inställningarna har uppdaterats!", "change_password": "Ändra lösenord", "invalid_token": "Token är ogiltig eller har gått ut", "login_redir": "Du kommer då att omdirigeras till inloggningssidan.", "missing_email": "Vänligen ange en e-postadress", - "password_does_not_match": "Lösenord stämmer inte överens", + "password_does_not_match": "Lösenorden stämmer inte överens", "password_is_required": "Lösenord krävs", "possible_reset": "Om e-postadressen du angav är kopplad till ett konto kommer du att få ett e-postmeddelande med instruktioner för att återställa ditt lösenord!", "reset_password": "Återställ lösenord", - "submit": "Överlämna", + "submit": "Skicka", "token_required": "Token och UID krävs för lösenordsåterställning.", "about_this_background": "Om denna bakgrund", "join_discord": "Gå med i Discord", "join_discord_desc": "för att dela dina egna foton. \nLägg upp dem i", "photo_by": "Foto av", - "change_password_error": "Det går inte att ändra lösenord. \nOgiltigt nuvarande lösenord eller ogiltigt nytt lösenord.", + "change_password_error": "Det gick inte att ändra lösenord. \nDet nuvarande eller det nya lösenordet är ogiltigt.", "current_password": "Aktuellt lösenord", "password_change_lopout_warning": "Du kommer att loggas ut efter att du har ändrat ditt lösenord.", "authenticator_code": "Autentiseringskod", @@ -371,19 +372,19 @@ }, "checklist": { "add_item": "Lägg till objekt", - "checklist_delete_error": "Fel vid borttagning av checklista", + "checklist_delete_error": "Ett fel uppstod vid borttagning av checklista", "checklist_deleted": "Checklistan har raderats!", - "checklist_editor": "Checklista Editor", + "checklist_editor": "Redigerare för checklistor", "checklist_public": "Den här checklistan är offentlig eftersom den finns i en offentlig samling.", - "editing_checklist": "Redigeringschecklista", + "editing_checklist": "Redigerar checklista", "failed_to_save": "Det gick inte att spara checklistan", "item": "Punkt", - "item_already_exists": "Objektet finns redan", - "item_cannot_be_empty": "Objektet får inte vara tomt", - "items": "Föremål", + "item_already_exists": "Listobjektet finns redan", + "item_cannot_be_empty": "Listobjektet får inte vara tomt", + "items": "Punkter", "new_item": "Nytt föremål", "save": "Spara", - "checklist_viewer": "Checklista Viewer", + "checklist_viewer": "Se Checklista", "new_checklist": "Ny checklista" }, "collection": { @@ -392,18 +393,18 @@ "create": "Skapa", "edit_collection": "Redigera samling", "error_creating_collection": "Det gick inte att skapa samlingen", - "error_editing_collection": "Fel vid redigering av samling", + "error_editing_collection": "Ett fel uppstod vid redigering av samling", "new_collection": "Ny samling", "public_collection": "Offentlig samling" }, "notes": { "add_a_link": "Lägg till en länk", "content": "Innehåll", - "editing_note": "Redigeringsanteckning", + "editing_note": "Redigerar anteckning", "failed_to_save": "Det gick inte att spara anteckningen", "note_delete_error": "Det gick inte att ta bort anteckningen", "note_deleted": "Anteckningen har raderats!", - "note_editor": "Note Editor", + "note_editor": "Redigerare för anteckningar", "note_public": "Den här anteckningen är offentlig eftersom den finns i en offentlig samling.", "open": "Öppna", "save": "Spara", @@ -425,7 +426,7 @@ "bus": "Buss", "car": "Bil", "other": "Andra", - "plane": "Plan", + "plane": "Flygplan", "train": "Tåg", "walking": "Gående" }, @@ -463,7 +464,7 @@ "nl": "holländska", "sv": "svenska", "zh": "kinesiska", - "pl": "polsk" + "pl": "polska" }, "share": { "no_users_shared": "Inga användare delas med", @@ -475,13 +476,13 @@ "with": "med", "go_to_settings": "Gå till inställningar", "no_shared_found": "Inga samlingar hittades som delas med dig.", - "set_public": "För att tillåta användare att dela med dig måste du ha din profil inställd på offentlig." + "set_public": "För att tillåta användare att dela med dig måste du ha en offentlig profil." }, "profile": { - "member_since": "Medlem sedan dess", + "member_since": "Medlem sedan", "user_stats": "Användarstatistik", "visited_countries": "Besökta länder", - "visited_regions": "Besökte regioner" + "visited_regions": "Besökta regioner" }, "categories": { "category_name": "Kategorinamn", diff --git a/frontend/src/routes/+page.server.ts b/frontend/src/routes/+page.server.ts index 8d0446a..b379a8c 100644 --- a/frontend/src/routes/+page.server.ts +++ b/frontend/src/routes/+page.server.ts @@ -42,6 +42,7 @@ export const actions: Actions = { credentials: 'include' }); if (res.status == 401) { + event.cookies.delete('sessionid', { path: '/', secure: event.url.protocol === 'https:' }); return redirect(302, '/login'); } else { return redirect(302, '/'); diff --git a/frontend/src/routes/login/+page.server.ts b/frontend/src/routes/login/+page.server.ts index 1b50518..adb0905 100644 --- a/frontend/src/routes/login/+page.server.ts +++ b/frontend/src/routes/login/+page.server.ts @@ -106,7 +106,7 @@ function handleSuccessfulLogin(event: RequestEvent, respo path: '/', httpOnly: true, sameSite: 'lax', - secure: true, + secure: event.url.protocol === 'https:', expires: new Date(expiryString) }); } diff --git a/frontend/src/routes/signup/+page.server.ts b/frontend/src/routes/signup/+page.server.ts index 4a1d857..813b471 100644 --- a/frontend/src/routes/signup/+page.server.ts +++ b/frontend/src/routes/signup/+page.server.ts @@ -93,7 +93,7 @@ export const actions: Actions = { path: '/', httpOnly: true, sameSite: 'lax', - secure: true, + secure: event.url.protocol === 'https:', expires: expiryDate }); }