Fix authentication state persistence and admin role display

- Implement complete authentication system with JWT token validation
- Add auth provider with persistent login state across page refreshes
- Create multilingual login/register forms with Material-UI components
- Fix token validation using raw SQL queries to bypass Prisma sync issues
- Add comprehensive error handling for expired/invalid tokens
- Create profile and settings pages with full i18n support
- Add proper user role management (admin/user) with database sync
- Implement secure middleware with CSRF protection and auth checks
- Add debug endpoints for troubleshooting authentication issues
- Fix Zustand store persistence for authentication state

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
andupetcu
2025-09-21 01:06:30 +03:00
parent 62ca73b2ac
commit 196ca00194
174 changed files with 181207 additions and 179 deletions

View File

@@ -0,0 +1,153 @@
{
"chapterNum": 26,
"verses": [
{
"verseNum": 1,
"text": "“You are to construct the tabernacle itself with ten curtains of finely spun linen, each with blue, purple, and scarlet yarn, and cherubim skillfully worked into them."
},
{
"verseNum": 2,
"text": "Each curtain shall be twenty-eight cubits long and four cubits wide —all curtains the same size."
},
{
"verseNum": 3,
"text": "Five of the curtains are to be joined together, and the other five joined as well."
},
{
"verseNum": 4,
"text": "Make loops of blue material on the edge of the end curtain in the first set, and do the same for the end curtain in the second set."
},
{
"verseNum": 5,
"text": "Make fifty loops on one curtain and fifty loops on the end curtain of the second set, so that the loops line up opposite one another."
},
{
"verseNum": 6,
"text": "Make fifty gold clasps as well, and join the curtains together with the clasps, so that the tabernacle will be a unit."
},
{
"verseNum": 7,
"text": "You are to make curtains of goat hair for the tent over the tabernacle—eleven curtains in all."
},
{
"verseNum": 8,
"text": "Each of the eleven curtains is to be the same size—thirty cubits long and four cubits wide."
},
{
"verseNum": 9,
"text": "Join five of the curtains into one set and the other six into another. Then fold the sixth curtain over double at the front of the tent."
},
{
"verseNum": 10,
"text": "Make fifty loops along the edge of the end curtain in the first set, and fifty loops along the edge of the corresponding curtain in the second set."
},
{
"verseNum": 11,
"text": "Make fifty bronze clasps and put them through the loops to join the tent together as a unit."
},
{
"verseNum": 12,
"text": "As for the overlap that remains of the tent curtains, the half curtain that is left over shall hang down over the back of the tabernacle."
},
{
"verseNum": 13,
"text": "And the tent curtains will be a cubit longer on either side, and the excess will hang over the sides of the tabernacle to cover it."
},
{
"verseNum": 14,
"text": "Also make a covering for the tent out of ram skins dyed red, and over that a covering of fine leather."
},
{
"verseNum": 15,
"text": "You are to construct upright frames of acacia wood for the tabernacle."
},
{
"verseNum": 16,
"text": "Each frame is to be ten cubits long and a cubit and a half wide."
},
{
"verseNum": 17,
"text": "Two tenons must be connected to each other for each frame. Make all the frames of the tabernacle in this way."
},
{
"verseNum": 18,
"text": "Construct twenty frames for the south side of the tabernacle,"
},
{
"verseNum": 19,
"text": "with forty silver bases under the twenty frames—two bases for each frame, one under each tenon."
},
{
"verseNum": 20,
"text": "For the second side of the tabernacle, the north side, make twenty frames"
},
{
"verseNum": 21,
"text": "and forty silver bases—two bases under each frame."
},
{
"verseNum": 22,
"text": "Make six frames for the rear of the tabernacle, the west side,"
},
{
"verseNum": 23,
"text": "and two frames for the two back corners of the tabernacle,"
},
{
"verseNum": 24,
"text": "coupled together from bottom to top and fitted into a single ring. These will serve as the two corners."
},
{
"verseNum": 25,
"text": "So there are to be eight frames and sixteen silver bases—two under each frame."
},
{
"verseNum": 26,
"text": "You are also to make five crossbars of acacia wood for the frames on one side of the tabernacle,"
},
{
"verseNum": 27,
"text": "five for those on the other side, and five for those on the rear side of the tabernacle, to the west."
},
{
"verseNum": 28,
"text": "The central crossbar in the middle of the frames shall extend from one end to the other."
},
{
"verseNum": 29,
"text": "Overlay the frames with gold and make gold rings to hold the crossbars. Also overlay the crossbars with gold."
},
{
"verseNum": 30,
"text": "So you are to set up the tabernacle according to the pattern shown you on the mountain."
},
{
"verseNum": 31,
"text": "Make a veil of blue, purple, and scarlet yarn, and finely spun linen, with cherubim skillfully worked into it."
},
{
"verseNum": 32,
"text": "Hang it with gold hooks on four posts of acacia wood, overlaid with gold and standing on four silver bases."
},
{
"verseNum": 33,
"text": "And hang the veil from the clasps and place the ark of the Testimony behind the veil. So the veil will separate the Holy Place from the Most Holy Place."
},
{
"verseNum": 34,
"text": "Put the mercy seat on the ark of the Testimony in the Most Holy Place."
},
{
"verseNum": 35,
"text": "And place the table outside the veil on the north side of the tabernacle, and put the lampstand opposite the table, on the south side."
},
{
"verseNum": 36,
"text": "For the entrance to the tent, you are to make a curtain embroidered with blue, purple, and scarlet yarn, and finely spun linen."
},
{
"verseNum": 37,
"text": "Make five posts of acacia wood for the curtain, overlay them with gold hooks, and cast five bronze bases for them."
}
]
}