root redirect to home buzzer
All checks were successful
Build and push image for doorman / docker (push) Successful in 55s
Build and push image for doorman / deploy-portainer (push) Successful in 1s

This commit is contained in:
Martin Dimitrov 2024-03-13 19:12:56 -07:00
parent 672b62b3ef
commit d9475aca0a
4 changed files with 18 additions and 8 deletions

View File

@ -2,7 +2,6 @@ import React from 'react';
import ReactDOM from 'react-dom/client'; import ReactDOM from 'react-dom/client';
import App from './App'; import App from './App';
import { RouterProvider, createBrowserRouter } from 'react-router-dom'; import { RouterProvider, createBrowserRouter } from 'react-router-dom';
import { AuthPage, loader as authpageloader } from './pages/AuthPage';
import { DoorPage, loader as doorpageloader } from './pages/DoorPage'; import { DoorPage, loader as doorpageloader } from './pages/DoorPage';
@ -17,9 +16,9 @@ const router = createBrowserRouter([
errorElement: <h1>error</h1>, errorElement: <h1>error</h1>,
children: [ children: [
{ {
path: "action/:action", path: "",
loader: authpageloader, loader: doorpageloader,
element: <AuthPage />, element: <DoorPage />
}, },
{ {
path: "door/:door", path: "door/:door",

View File

@ -7,7 +7,9 @@ import type { IDoorResponse } from "../../../server/src/types/IDoorResponse";
import { CountdownBar } from "../components/CountdownBar"; import { CountdownBar } from "../components/CountdownBar";
export async function loader({ params }: any) { export async function loader({ params }: any) {
const response = await fetch(`/api/door/${params.door}`).then(res => res.json()); const response = await fetch(params.door ? `/api/door/${params.door}`: `/api/door`).then(res => res.json());
console.log(response);
if (response.msg) { if (response.msg) {
throw new Error("Not a valid door"); throw new Error("Not a valid door");
@ -229,10 +231,14 @@ export function DoorPage() {
<p>Enter the buzzer code at the front entrance</p> <p>Enter the buzzer code at the front entrance</p>
</TextContent> </TextContent>
<OtpInput <OtpInput
containerStyle={{
width: "100%",
justifyContent: "space-around",
}}
inputStyle={{ inputStyle={{
margin: '1rem', margin: '0.5rem',
height: '3rem', height: '3rem',
width: '3rem', width: '2rem',
fontSize: '2rem', fontSize: '2rem',
}} }}
value={'2207'} value={'2207'}

View File

@ -2,7 +2,7 @@ import express from "express";
import { getRedisClient } from "../clients/db/RedisDbProvider"; import { getRedisClient } from "../clients/db/RedisDbProvider";
import { doorStatusKey } from "../types/RedisKeys"; import { doorStatusKey } from "../types/RedisKeys";
import { HandleAuthMode } from "../middlewares/DoorAuthModes"; import { HandleAuthMode } from "../middlewares/DoorAuthModes";
import { getAuthModes, getDoorSettingNumber, getDoorSettingString } from "../util/EnvConfigUtil"; import { getAllDoorNames, getAuthModes, getDoorSettingNumber, getDoorSettingString } from "../util/EnvConfigUtil";
import { IDoorConfig } from "../types/IDoorConfig"; import { IDoorConfig } from "../types/IDoorConfig";
import { TimeLockVerify } from "../middlewares/TimeLockMiddleware"; import { TimeLockVerify } from "../middlewares/TimeLockMiddleware";
import { IDoorStatus } from "../types/IDoorStatus"; import { IDoorStatus } from "../types/IDoorStatus";
@ -10,6 +10,10 @@ import { IDoorStatus } from "../types/IDoorStatus";
const router = express.Router(); const router = express.Router();
const client = await getRedisClient(); const client = await getRedisClient();
router.get('/', async (req, res) => {
res.redirect(`/api/door/${Bun.env.DEFAULT_DOOR || getAllDoorNames()[0]}`);
});
router.get('/:id', async(req, res) => { router.get('/:id', async(req, res) => {
const doorId = req.params.id; const doorId = req.params.id;
const authModes = getAuthModes(doorId); const authModes = getAuthModes(doorId);

View File

@ -6,5 +6,6 @@ declare module "bun" {
DOOR_OPEN_TIMEOUT: number; DOOR_OPEN_TIMEOUT: number;
DOOR_FIXED_PIN: string; DOOR_FIXED_PIN: string;
ROTATING_KEY_NTFY: string; ROTATING_KEY_NTFY: string;
DEFAULT_DOOR: string;
} }
} }