Skip to content

Commit

Permalink
feat(admin): merge users and orders
Browse files Browse the repository at this point in the history
  • Loading branch information
i007c committed May 11, 2024
1 parent 61e70ed commit ee9b4dc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
6 changes: 4 additions & 2 deletions admin/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ const Orders = lazy(() => import('./layout/orders'))

const Root = () => {
createEffect(() => {
if ((import.meta.env.PROD && !self.loged_in) || !self.user.admin) {
location.replace('/login')
if (!self.loged_in || !self.user.admin) {
if (import.meta.env.PROD) {
location.replace('/login')
}
}
})

Expand Down
20 changes: 16 additions & 4 deletions admin/layout/orders.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createStore } from 'solid-js/store'
import './style/orders.scss'
import { OrderModel } from 'models'
import { OrderModel, UserModel } from 'models'
import { useNavigate, useParams } from '@solidjs/router'
import { createEffect } from 'solid-js'
import { httpx } from 'shared'
Expand All @@ -9,8 +9,12 @@ export default () => {
const UP = useParams()
const navigate = useNavigate()

type OrderInfo = OrderModel & {
user: UserModel
}

type State = {
orders: OrderModel[]
orders: OrderInfo[]
page: number
}

Expand All @@ -33,7 +37,15 @@ export default () => {
params: { page },
method: 'GET',
onLoad(x) {
setState({ orders: x.response, page })
let orders: OrderModel[] = x.response.orders
let users: UserModel[] = x.response.users

let orders_info = orders.map(o => ({
...o,
user: users.find(u => u.id == o.user),
})) as OrderInfo[]

setState({ orders: orders_info, page })
},
})
}
Expand All @@ -43,7 +55,7 @@ export default () => {
<div class='order-list'>
{state.orders.map(o => (
<div class='order'>
{o.kind} - {o.price}
{o.kind} - {o.price} - {o.user.name} - {o.user.phone}
</div>
))}
</div>
Expand Down

0 comments on commit ee9b4dc

Please sign in to comment.