Skip to content

Commit d3e8510

Browse files
committed
Links on home page
1 parent b23e0dc commit d3e8510

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

app/routes/_index.tsx

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
import type { MetaFunction } from "@remix-run/node";
2-
import { isRouteErrorResponse, Link as RemixLink, Links, Meta, Scripts, useRouteError } from "@remix-run/react";
2+
import { isRouteErrorResponse, Link as RemixLink, Links, Meta, Scripts, useRouteError, useLoaderData, json } from "@remix-run/react";
3+
import { desc } from "drizzle-orm";
34

45
import { Navbar } from "~/components/Navbar";
56
import { Footer } from "~/components/Footer";
7+
import { regex_link } from "~/db/schema";
8+
import { dborm } from "~/db/connection.server";
9+
import LinksTable from "~/components/LinksTable";
610

711
export const meta: MetaFunction = () => {
812
return [
@@ -11,13 +15,26 @@ export const meta: MetaFunction = () => {
1115
];
1216
};
1317

18+
export async function loader() {
19+
const links = await dborm.select().from(regex_link).orderBy(desc(regex_link.rxl_created_at)).limit(8);
20+
return json( { links } );
21+
}
22+
1423
export default function Index() {
24+
const data = useLoaderData<typeof loader>();
25+
26+
const links = data.links as unknown as typeof regex_link.$inferSelect[];
27+
1528
return (
1629
<>
1730
<h1 className="py-2">
1831
Welcome to the Regex Zone
1932
</h1>
2033
<div className="pb-3">Check out the collection of useful <RemixLink to="/patterns/">Regular Expression Patterns</RemixLink>!</div>
34+
<hr />
35+
<h2>Recent Links</h2>
36+
<LinksTable currentUrl="/" links={links} isAdmin={false} />
37+
<RemixLink to="/links/" className="btn btn-sm btn-primary">More Links...</RemixLink>
2138
</>
2239
);
2340
}

app/routes/links.edit[.]html.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ export default function Index() {
104104
</div>
105105
<div className="mb-3">
106106
<label htmlFor="rxl_created" className="form-label">Created</label>
107-
<input type="text" className="form-control" id="rxl_created" defaultValue={theLink.rxl_created_at} disabled readOnly />
107+
<input type="text" className="form-control" id="rxl_created" defaultValue={theLink.rxl_created_at.toString().replace('T', ' ')} disabled readOnly />
108108
</div>
109109
<div className="mb-3">
110110
<label htmlFor="rxl_updated" className="form-label">Updated</label>
111-
<input type="text" className="form-control" id="rxl_updated" defaultValue={theLink.rxl_updated_at} disabled readOnly />
111+
<input type="text" className="form-control" id="rxl_updated" defaultValue={theLink.rxl_updated_at.toString().replace('T', ' ')} disabled readOnly />
112112
</div>
113113
<input type="submit" className="btn btn-primary" value="Save" />
114114
<RemixLink className="btn btn-outline-primary mx-2" to={next}>Cancel</RemixLink>

0 commit comments

Comments
 (0)