Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fmcsa key not present now hides search functionality #154

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions app/Http/Controllers/CarrierController.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,12 @@ class CarrierController extends ResourceSearchController
*/
public function index(Request $request)
{
$request->validate([
'carrier_id' => 'nullable|exists:carriers,id',
]);

if ($request->input('carrier_id')) {
$carrier = Carrier::find($request->input('carrier_id'));
return Inertia::render('Carriers/Index', [
'carrier' => CarrierResource::make($carrier),
]);
}

return Inertia::render('Carriers/Index');
return Inertia::render('Carriers/Index',
[
'allowFmcsaSearch' => config('fmcsa.api_key') ? true : false,
]
);
}

/**
Expand Down
12 changes: 10 additions & 2 deletions resources/js/Pages/Carriers/Index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ import { Plus } from 'lucide-react';
import { useState } from 'react';
import CarrierCreateDialog from './Partials/CarrierCreateDialog';

export default function Index() {
export default function Index({
allowFmcsaSearch,
}: {
allowFmcsaSearch: boolean;
}) {
const [isOpen, setIsOpen] = useState(false);

const setSelectedCarrier = (carrier: Carrier) => {
Expand Down Expand Up @@ -38,7 +42,11 @@ export default function Index() {
<CarrierList onSelect={setSelectedCarrier} />
</div>
</div>
<CarrierCreateDialog isOpen={isOpen} setIsOpen={setIsOpen} />
<CarrierCreateDialog
isOpen={isOpen}
setIsOpen={setIsOpen}
allowFmcsaSearch={allowFmcsaSearch}
/>
</AuthenticatedLayout>
);
}
41 changes: 28 additions & 13 deletions resources/js/Pages/Carriers/Partials/CarrierCreateDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ import { useState } from 'react';
function CarrierManualCreateForm({
setIsOpen,
setFormState,
allowFmcsaSearch,
}: {
setIsOpen: (isOpen: boolean) => void;
setFormState: (formState: 'manual' | 'fmcsa') => void;
allowFmcsaSearch: boolean;
}) {
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
Expand Down Expand Up @@ -59,13 +61,15 @@ function CarrierManualCreateForm({
/>
{errors.name && <InputError message={errors.name} />}
<DialogFooter>
<Button
type="button"
variant="outline"
onClick={() => setFormState('fmcsa')}
>
<ArrowLeft className="inline" /> Back to search
</Button>
{allowFmcsaSearch && (
<Button
type="button"
variant="outline"
onClick={() => setFormState('fmcsa')}
>
<ArrowLeft className="inline" /> Back to search
</Button>
)}
<Button type="submit">Create</Button>
</DialogFooter>
</form>
Expand Down Expand Up @@ -137,9 +141,7 @@ function CarrierFmcsaCreateForm({
/>
</div>
<div className="space-y-2">
<Label className="text-muted-foreground">
DOT Number
</Label>
<Label>DOT Number</Label>
<Input
placeholder="#######"
value={carrierDotNumber}
Expand Down Expand Up @@ -286,11 +288,23 @@ function CarrierFmcsaCreateForm({
export default function CarrierCreateDialog({
isOpen,
setIsOpen,
allowFmcsaSearch,
}: {
isOpen: boolean;
setIsOpen: (isOpen: boolean) => void;
allowFmcsaSearch: boolean;
}) {
const [formState, setFormState] = useState<'manual' | 'fmcsa'>('fmcsa');
const [formState, setFormState] = useState<'manual' | 'fmcsa'>(
allowFmcsaSearch ? 'fmcsa' : 'manual',
);

const changeFormStateCheckForSearch = (formState: 'manual' | 'fmcsa') => {
if (allowFmcsaSearch) {
setFormState(formState);
} else {
setFormState('manual');
}
};

return (
<Dialog open={isOpen} onOpenChange={setIsOpen}>
Expand All @@ -301,13 +315,14 @@ export default function CarrierCreateDialog({
{formState === 'manual' && (
<CarrierManualCreateForm
setIsOpen={setIsOpen}
setFormState={setFormState}
setFormState={changeFormStateCheckForSearch}
allowFmcsaSearch={allowFmcsaSearch}
/>
)}
{formState === 'fmcsa' && (
<CarrierFmcsaCreateForm
setIsOpen={setIsOpen}
setFormState={setFormState}
setFormState={changeFormStateCheckForSearch}
/>
)}
</DialogContent>
Expand Down