fix: generate route trees and fix build errors for all apps
- Generated routeTree.gen.ts for all 6 apps (was empty placeholder) - Fixed className backtick syntax in roles create/edit pages - Fixed unescaped quote in dimentorin settings FAQ - Route trees enable proper SPA navigation (no more full page reloads) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
8cb7b592eb
commit
d5b267332f
@@ -9,7 +9,7 @@ import {
|
||||
useUpdateUserById,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/accounts/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/accounts_/$id')({
|
||||
component: AccountsEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdateEvent,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/cms-events/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/cms-events_/$id')({
|
||||
component: CmsEventsEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateEvent } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/cms-events/create')({
|
||||
export const Route = createFileRoute('/_authenticated/cms-events_/create')({
|
||||
component: CmsEventsCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdateTestimonial,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/cms-testimonials/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/cms-testimonials_/$id')({
|
||||
component: CmsTestimonialsEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateTestimonial } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/cms-testimonials/create')({
|
||||
export const Route = createFileRoute('/_authenticated/cms-testimonials_/create')({
|
||||
component: CmsTestimonialsCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdateGachaItem,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/dashboard/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/dashboard_/$id')({
|
||||
component: DashboardEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateGachaItem } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/dashboard/create')({
|
||||
export const Route = createFileRoute('/_authenticated/dashboard_/create')({
|
||||
component: DashboardCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdateGachaItem,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/gacha-roll/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/gacha-roll_/$id')({
|
||||
component: GachaRollEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateGachaItem } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/gacha-roll/create')({
|
||||
export const Route = createFileRoute('/_authenticated/gacha-roll_/create')({
|
||||
component: GachaRollCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdatePermission,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/permissions/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/permissions_/$id')({
|
||||
component: PermissionsEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreatePermission } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/permissions/create')({
|
||||
export const Route = createFileRoute('/_authenticated/permissions_/create')({
|
||||
component: PermissionsCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useRoadmapList, useUpdateRoadmap, TRoadmapStatus } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/roadmap-dimentorin/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/roadmap-dimentorin_/$id')({
|
||||
component: RoadmapEditPage,
|
||||
})
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateRoadmap, TRoadmapStatus } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/roadmap-dimentorin/create')({
|
||||
export const Route = createFileRoute('/_authenticated/roadmap-dimentorin_/create')({
|
||||
component: RoadmapCreatePage,
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
useUpdateRole,
|
||||
} from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/roles/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/roles_/$id')({
|
||||
component: RolesEditPage,
|
||||
})
|
||||
|
||||
@@ -102,19 +102,19 @@ function RolesEditPage() {
|
||||
<hr className="border-blue-200" />
|
||||
<div className="flex flex-col items-start gap-4 mb-4">
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-read`} />
|
||||
<input type="checkbox" id={"${title}-read"} />
|
||||
<label htmlFor={`${title}-read`}>Read</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-create`} />
|
||||
<input type="checkbox" id={"${title}-create"} />
|
||||
<label htmlFor={`${title}-create`}>Create</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-update`} />
|
||||
<input type="checkbox" id={"${title}-update"} />
|
||||
<label htmlFor={`${title}-update`}>Update</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-delete`} />
|
||||
<input type="checkbox" id={"${title}-delete"} />
|
||||
<label htmlFor={`${title}-delete`}>Delete</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Button } from '@imphnen-frontend-service/ui/atoms'
|
||||
import { ControlledInputField } from '@imphnen-frontend-service/ui/organisms'
|
||||
import { useCreateRole } from '@imphnen-frontend-service/service'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/roles/create')({
|
||||
export const Route = createFileRoute('/_authenticated/roles_/create')({
|
||||
component: RolesCreatePage,
|
||||
})
|
||||
|
||||
@@ -85,19 +85,19 @@ function RolesCreatePage() {
|
||||
<hr className="border-blue-200" />
|
||||
<div className="flex flex-col items-start gap-4 mb-4">
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-read`} />
|
||||
<input type="checkbox" id={"${title}-read"} />
|
||||
<label htmlFor={`${title}-read`}>Read</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-create`} />
|
||||
<input type="checkbox" id={"${title}-create"} />
|
||||
<label htmlFor={`${title}-create`}>Create</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-update`} />
|
||||
<input type="checkbox" id={"${title}-update"} />
|
||||
<label htmlFor={`${title}-update`}>Update</label>
|
||||
</div>
|
||||
<div className="flex gap-[8px] items-center">
|
||||
<input type="checkbox" id={`${title}-delete`} />
|
||||
<input type="checkbox" id={"${title}-delete"} />
|
||||
<label htmlFor={`${title}-delete`}>Delete</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -20,7 +20,7 @@ Saya ingin tahu secara khusus tentang ___.
|
||||
|
||||
const labelClass = cn('text-neutral-800 text-[10px] font-semibold mb-1.5 inline-block md:text-xs md:mb-2 xl:text-[15px]')
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/session-dimentorin/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/session-dimentorin_/$id')({
|
||||
component: SessionDetailPage,
|
||||
})
|
||||
|
||||
@@ -70,7 +70,7 @@ function SessionDetailPage() {
|
||||
<div>
|
||||
<h3 className="text-p2 font-semibold text-primary-500 mb-4">Mentor</h3>
|
||||
<div>
|
||||
<p className="text-p3 font-semibold mb-2.5">{session?.mentor_id ?? '-'}</p>
|
||||
<p className="text-p3 font-semibold mb-2.5">{session?.mentor_id ?? "-"}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,13 +79,13 @@ function SessionDetailPage() {
|
||||
<div>
|
||||
<h3 className="text-p2 font-semibold text-primary-500 mb-4">Mentee</h3>
|
||||
<div>
|
||||
<p className="text-p3 font-semibold mb-2.5">{session?.mentee_fullname ?? '-'}</p>
|
||||
<p className="text-neutral-600">{session?.mentee_email ?? '-'}</p>
|
||||
<p className="text-p3 font-semibold mb-2.5">{session?.mentee_fullname ?? "-"}</p>
|
||||
<p className="text-neutral-600">{session?.mentee_email ?? "-"}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-p2 font-semibold text-neutral-700 mb-4">Status</h3>
|
||||
<div className={`py-2 px-6 rounded-md text-center capitalize font-semibold ${statusColors[session?.status ?? ''] ?? 'bg-neutral-200 text-neutral-700'}`}>
|
||||
<div className={`py-2 px-6 rounded-md text-center capitalize font-semibold ${statusColors[session?.status ?? ``] ?? `bg-neutral-200 text-neutral-700`}`}>
|
||||
{session?.status ?? '-'}
|
||||
</div>
|
||||
</div>
|
||||
@@ -135,7 +135,7 @@ function SessionDetailPage() {
|
||||
</div>
|
||||
<div className="relative md:col-span-full">
|
||||
<label className={labelClass}>Tipe Sesi</label>
|
||||
<Select className="min-w-full w-full" value={session?.session_type ?? 'online'} disabled>
|
||||
<Select className="min-w-full w-full" value={session?.session_type ?? "online"} disabled>
|
||||
<option value="online">Online</option>
|
||||
<option value="offline">Offline</option>
|
||||
</Select>
|
||||
|
||||
@@ -15,9 +15,9 @@ import {
|
||||
const labelClass = cn('text-neutral-800 text-[10px] font-semibold mb-1.5 inline-block md:text-xs md:mb-2 xl:text-[15px]')
|
||||
|
||||
const SOCIAL_LINKS = [
|
||||
{ icon: <Icon icon="mdi:linkedin" className="text-2xl" />, key: 'linkedin_url', label: 'LinkedIn' },
|
||||
{ icon: <Icon icon="mdi:github" className="text-2xl" />, key: 'github_url', label: 'Github' },
|
||||
{ icon: <Icon icon="mingcute:meta-line" className="text-2xl" />, key: 'portfolio_url', label: 'Portfolio' },
|
||||
{ icon: <Icon icon="mdi:linkedin" className="text-2xl" />, key: "linkedin_url", label: "LinkedIn" },
|
||||
{ icon: <Icon icon="mdi:github" className="text-2xl" />, key: "github_url", label: "Github" },
|
||||
{ icon: <Icon icon="mingcute:meta-line" className="text-2xl" />, key: "portfolio_url", label: "Portfolio" },
|
||||
]
|
||||
|
||||
const TABS = {
|
||||
@@ -26,7 +26,7 @@ const TABS = {
|
||||
} as const
|
||||
type TabType = typeof TABS[keyof typeof TABS]
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/users-dimentorin/$id')({
|
||||
export const Route = createFileRoute('/_authenticated/users-dimentorin_/$id')({
|
||||
component: UserDetailPage,
|
||||
})
|
||||
|
||||
@@ -162,7 +162,7 @@ function UserDetailPage() {
|
||||
</div>
|
||||
|
||||
<div className="flex justify-end gap-x-5 mt-8">
|
||||
<Button type="button" variant="bordered" onClick={() => navigate({ to: '/users-dimentorin' })}>
|
||||
<Button type="button" variant="bordered" onClick={() => navigate({ to: "/users-dimentorin" })}>
|
||||
Kembali
|
||||
</Button>
|
||||
</div>
|
||||
@@ -185,7 +185,7 @@ function UserDetailPage() {
|
||||
<div>
|
||||
<h3 className="text-p2 font-semibold text-neutral-800">{displayName}</h3>
|
||||
<p className="text-p3 font-medium text-neutral-600">
|
||||
{mentor ? `${mentor.current_role ?? ''} at ${mentor.current_company ?? ''}` : user?.role?.name ?? '-'}
|
||||
{mentor ? `${mentor.current_role ?? ``} at ${mentor.current_company ?? ``}` : user?.role?.name ?? `-`}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user