feat: public split visibility, RLS recursion fixes, and consolidated tasting permission management
- Added public discovery section for active splits on the landing page - Refactored split detail page for guest support and login redirects - Extracted SplitCard component for reuse - Consolidated RLS policies for bottles and tastings to resolve permission errors - Added unified SQL consolidation script for RLS and naming fixes - Enhanced service logging for better database error diagnostics
This commit is contained in:
@@ -1,4 +1,27 @@
|
||||
export type TranslationKeys = {
|
||||
splits: {
|
||||
joinTitle: string;
|
||||
amount: string;
|
||||
shipping: string;
|
||||
whisky: string;
|
||||
glass: string;
|
||||
total: string;
|
||||
requestSent: string;
|
||||
requestSentDesc: string;
|
||||
loginToParticipate: string;
|
||||
loginToParticipateDesc: string;
|
||||
publicExplore: string;
|
||||
waitlist: string;
|
||||
sendRequest: string;
|
||||
youAreParticipating: string;
|
||||
byHost: string;
|
||||
shareLink: string;
|
||||
backToStart: string;
|
||||
noSplitsFound: string;
|
||||
falscheTeilung: string;
|
||||
clFlasche: string;
|
||||
jahre: string;
|
||||
};
|
||||
common: {
|
||||
save: string;
|
||||
cancel: string;
|
||||
@@ -38,6 +61,11 @@ export type TranslationKeys = {
|
||||
collection: string;
|
||||
reTry: string;
|
||||
all: string;
|
||||
tagline: string;
|
||||
bottleCount: string;
|
||||
imprint: string;
|
||||
privacy: string;
|
||||
settings: string;
|
||||
};
|
||||
grid: {
|
||||
searchPlaceholder: string;
|
||||
@@ -163,5 +191,68 @@ export type TranslationKeys = {
|
||||
noSessions: string;
|
||||
expiryWarning: string;
|
||||
};
|
||||
nav: {
|
||||
home: string;
|
||||
shelf: string;
|
||||
activity: string;
|
||||
search: string;
|
||||
profile: string;
|
||||
};
|
||||
hub: {
|
||||
title: string;
|
||||
subtitle: string;
|
||||
tabs: {
|
||||
tastings: string;
|
||||
splits: string;
|
||||
};
|
||||
sections: {
|
||||
startSession: string;
|
||||
startSplit: string;
|
||||
activeNow: string;
|
||||
yourSessions: string;
|
||||
yourSplits: string;
|
||||
participating: string;
|
||||
};
|
||||
placeholders: {
|
||||
sessionName: string;
|
||||
noSessions: string;
|
||||
noSplits: string;
|
||||
openSplitCreator: string;
|
||||
};
|
||||
};
|
||||
tutorial: {
|
||||
skip: string;
|
||||
next: string;
|
||||
finish: string;
|
||||
steps: {
|
||||
welcome: { title: string; desc: string };
|
||||
scan: { title: string; desc: string };
|
||||
taste: { title: string; desc: string };
|
||||
activity: { title: string; desc: string };
|
||||
ready: { title: string; desc: string };
|
||||
};
|
||||
};
|
||||
settings: {
|
||||
title: string;
|
||||
language: string;
|
||||
cookieSettings: string;
|
||||
cookieDesc: string;
|
||||
cookieNecessary: string;
|
||||
cookieFunctional: string;
|
||||
privacy: string;
|
||||
privacyDesc: string;
|
||||
privacyLink: string;
|
||||
memberSince: string;
|
||||
password: {
|
||||
title: string;
|
||||
newPassword: string;
|
||||
confirmPassword: string;
|
||||
match: string;
|
||||
mismatch: string;
|
||||
tooShort: string;
|
||||
success: string;
|
||||
change: string;
|
||||
};
|
||||
};
|
||||
aroma: Record<string, string>;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user