
En favorit är en koppling mellan ditt konto och en post, inte en egenskap hos posten. Markeringen ska sparas, synas bara för dig, kunna tas bort igen och inte ändra, kopiera eller radera själva posten.
Tre saker som liknar en favorit men inte är det
En kopia. Om appen lägger en kopia av posten i din lista ser du gammal text när originalet redigeras, och listan kan visa en post som någon redan har tagit bort. En favorit ska i stället peka på originalet. Supabases dokumentation beskriver främmande nycklar som sättet att uttrycka en relation mellan två tabeller, och en så kallad kopplingstabell för fall där många rader på ena sidan hör ihop med många på den andra. Favoriter är ett sådant fall: många konton kan markera samma post, och ett konto kan markera många poster. Du behöver inte bygga tabellen själv; det räcker att beställningen säger att favoriten är en koppling och inte en kopia.
En ändring av posten. Om stjärnan sparas som ett fält på själva posten, ”favorit: ja”, delar alla användare samma markering. Det märks först när två personer använder appen, därför finns ett eget prov för det nedan.
Bara ett utseende. Om knappen byter färg i webbläsaren men inget sparas försvinner markeringen vid omladdning. Ett ensamt klick på skärmen ser likadant ut i alla tre fallen; skillnaden syns först i proven nedan.
Tre produktbeslut innan du beställer
Följande är val du gör för din app, inte tekniska eller rättsliga krav. Skriv ned dem, annars väljer AI-verktyget åt dig.
- När originalet tas bort. I exemplet visas raden kvar i Mina favoriter som ”Posten finns inte längre” med en knapp för att ta bort den. Ett annat rimligt val är att favoriten försvinner tyst. Har appen en papperskorg behöver du också bestämma om favoriten kommer tillbaka när posten återställs; se Radera i appen: ångra, papperskorg eller permanent.
- Ordningen i listan. Exemplet visar senast markerade favorit överst. Alfabetisk ordning eller postens eget datum fungerar lika bra, men ange det.
- Vem som ser vad. Favoriterna syns bara för den som har markerat dem. Ingen annan användare ska se att en post är någons favorit.
Avgränsa första versionen till en lista per konto. Namngivna listor, delade listor och ett favoritfilter i den vanliga söken är egna beställningar; filterdelen beskrivs i artikeln om sök och filter.
Stjärnan: välj ett av två knappmönster
W3C:s mönsterbibliotek för knappar beskriver en växlingsknapp som får attributet aria-pressed för att tala om för hjälpmedel att den är nedtryckt eller inte. Där betonas att knappens namn inte får ändras när tillståndet ändras: knappen heter ”Favorit” och en skärmläsare läser upp den som nedtryckt eller inte nedtryckt.
Det andra mönstret är en vanlig knapp vars namn byts, från ”Spara som favorit” till ”Ta bort från favoriter”. Enligt samma källa behövs inte aria-pressed då. Välj ett av mönstren och skriv det i beställningen. Blandar verktyget dem, med ett växlande namn och dessutom ett nedtryckt tillstånd, får skärmläsaranvändaren motstridiga besked.
Oavsett mönster ska knappen ange vilken post den gäller, till exempel ”Favorit: Linsgryta”, och kunna nås med Tab. Källan anger att både mellanslag och Enter aktiverar en knapp som har fokus. Kräv också att tillståndet syns på formen, fylld eller ihålig stjärna, och inte bara på färgen.
Kopiera beställningen
Beställningen förutsätter ingen färdig favoritfunktion i ditt verktyg. Byt hakparenteserna mot din app och be om en beskrivning innan något byggs.
Lägg till personliga favoriter för [recept] i min app. En favorit är en koppling mellan inloggat konto och en befintlig post. Den får inte kopiera, ändra eller radera posten. Ändra ingen annan funktion. Knapp på varje post: en växlingsknapp med det fasta namnet "Favorit: [postens namn]" och aria-pressed. Fylld stjärna när den är vald, ihålig när den inte är det. Ska fungera med Tab, mellanslag och Enter. Sidan Mina favoriter visar bara mina favoriter, senast markerad överst. Varje post finns där högst en gång, även om jag klickar snabbt flera gånger. Efter omladdning ska samma val finnas kvar. Om originalposten tas bort: visa raden som "Posten finns inte längre" med knappen Ta bort, utan felsida. Andra konton får inte se eller ändra mina favoriter. Beskriv hur detta upprätthålls på servern, inte bara i gränssnittet. Demonstrera de fyra proven nedan med två testkonton.
Fyra prov med facit
Skapa tre påhittade poster i en testmiljö, R1 Linsgryta, R2 Ugnsomelett och R3 Kanelbullar, och två testkonton, A och B. Skriv upp facit innan du klickar.
Prov 1, omladdning. Logga in som A och markera R2. Facit: fylld stjärna på R2, och Mina favoriter visar R2 och inget annat. Ladda om sidan och logga sedan ut och in igen. Facit ska gälla båda gångerna.
Prov 2, upprepade klick. Klicka snabbt två gånger på R1. Facit: R1 är inte favorit, och efter omladdning syns bara R2 i listan. Klicka sedan tre gånger: nu ska R1 finnas exakt en gång. En dubblett eller en stjärna som visar annat efter omladdning är fel, även om den såg rätt ut före.
Prov 3, två konton. Logga in som B. Facit: inga fyllda stjärnor och en tom favoritlista. Markera R3 som B och gå tillbaka till A. A:s lista ska fortfarande visa R1 och R2, inte R3. Provet visar vad det vanliga gränssnittet släpper igenom, inte att data är skyddat. Supabase skriver att den som har projektets publicerbara nyckel (publishable key) kan läsa och skriva alla rader i en tabell tills radnivåsäkerhet är påslagen och en policy är skriven. Lovable skriver att dess säkerhetsverktyg inte kan garantera fullständig säkerhet. Hur du provar åtkomst vidare finns i Behörigheter i Lovable: prova med två användare.
Prov 4, borttaget original. Låt A markera R3 och ta sedan bort R3 med det konto som äger posten. Facit enligt exemplets produktbeslut: A ser ”Posten finns inte längre” med knappen Ta bort, ingen felsida och ingen gammal text från R3. Efter Ta bort och omladdning ska raden vara borta.
Gör prov 1 och 2 även med tangentbordet. Detta är föreslagna acceptanskrav, inte resultat från en färdig app. Primärkällorna kontrollerades 30 oktober 2026.
FAQ
Vad är skillnaden mellan en favorit och en kopia?
En favorit pekar på originalposten, så ändringar i originalet syns i din lista. En kopia visar gammal text när originalet redigeras.
Ska favoritknappen byta namn när den trycks?
Välj ett av två mönster. Antingen behåller knappen namnet Favorit och anger tillståndet med aria-pressed, eller så byter den namn mellan Spara som favorit och Ta bort från favoriter utan aria-pressed.
Bevisar två testkonton att favoriterna är privata?
Nej. Provet visar att ett konto inte ser det andra kontots favoriter i appens vanliga gränssnitt. Det är ett funktionsprov, inte en fullständig säkerhetsgranskning.
Vad händer med favoriten när originalposten raderas?
Det bestämmer du i beställningen. I exemplet visas raden som Posten finns inte längre med en knapp för att ta bort den, men att favoriten tas bort tyst är också ett möjligt produktbeslut.
Källor och avgränsning
- W3C ARIA Authoring Practices Guide: Button Pattern – växlingsknapp med aria-pressed, fast namn, alternativet med bytt namn samt mellanslag och Enter i avsnittet om knappen.
- Supabase: Tables and Data – främmande nycklar och kopplingstabeller i avsnittet om kopior, samt radnivåsäkerhet och publik nyckel i provet med två konton.
- Lovable: Security – att säkerhetsverktygen inte kan garantera fullständig säkerhet, i provet med två konton.