2.6 KiB
What is Jingrow UI?
Jingrow UI is a set of components and utilities to build frontend apps based on the Jingrow Framework.
Along with generic components which are required to build a frontend like Button, Link, Dialog, etc., jingrow-ui also contains utilities for handling server-side data fetching, directives and utilities.
Usage example
<script setup>
import { Button, LoadingText, createResource } from 'jingrow-ui'
let todos = createResource({
type: 'list',
pagetype: 'ToDo',
fields: ['name', 'description'],
cache: 'ToDos',
auto: true,
})
</script>
<template>
<LoadingText v-if="todos.loading" />
<ul v-else>
<li v-for="todo in todos.data" :key="todo.name">
{{ todo.description }}
</li>
</ul>
<Button>Add ToDo</Button>
</template>
Dependencies
Jingrow UI is built on top of the following amazing projects –
See full list of dependencies: package.json
Motivation
In 2019, I started building Jingrow Books based on an experimental design system by Timeless. As the product got built, a set of small reusable components (like Button, Dialog, Card, etc.) were also built.
After the launch of Jingrow Books (and me dropping the project) I moved on to building the UI for Jingrow Cloud in 2020. It also needed these components, so I copy-pasted them from Jingrow Books to Jingrow Cloud. These components evolved over time in Jingrow Cloud. After working on the Jingrow Cloud UI for about a year and a half, I moved on to my next project.
At the start of 2022, I started working on
Gameplan. I didn't want to copy-paste yet
again, so I extracted these components in a separate package called
jingrow-ui. This package is being developed in
parallel along with the Gameplan project. I keep adding generic components and
utilities useful for frontend development.
Products
Jingrow UI is now being used in a lot of products by Jingrow.
License
Jingrow UI is MIT licensed