Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
4acc28e
initial commit for ae
travinhcot Mar 18, 2026
a3e052a
Added library and generate QR that can put link
travinhcot Mar 18, 2026
de1c272
feat(login): enhance sendOtpAction to conditionally handle Turnstile …
khangronky Mar 17, 2026
2d9cbd9
refactor: improve component imports and styling consistency across sc…
khangronky Mar 17, 2026
f64aa86
fix(StudentForm): update form submission handling and improve initial…
khangronky Mar 18, 2026
5ed9f51
add navbar neo-qr-generator button in cong cu sections
DungDao59 Mar 18, 2026
8f2c1db
style: apply biome formatting
DungDao59 Mar 18, 2026
3da0d0e
Merge pull request #322 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 Mar 18, 2026
223fcb9
successfull added UI/UX and QR
travinhcot Mar 18, 2026
0e6b7b9
fixed vercel failed development
travinhcot Mar 18, 2026
749d822
Added three buttons for png jpeg and webp format file
travinhcot Mar 19, 2026
79ebba9
fix the deployment fail
travinhcot Mar 19, 2026
548adb5
added color selected QR
travinhcot Mar 23, 2026
70ecf2c
UI enhancement
DungDao59 Mar 23, 2026
8322806
fix minor error
DungDao59 Mar 23, 2026
63034c2
style: apply biome formatting
DungDao59 Mar 23, 2026
eff0d58
Merge pull request #344 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 Mar 23, 2026
c4ca120
fix installing dependencies
DungDao59 Mar 23, 2026
ae434e2
changed text-white to text-foreground
travinhcot Mar 23, 2026
c5776d5
Removed unneccessary functions
travinhcot Mar 23, 2026
2353df7
fixed failed deployment
travinhcot Mar 23, 2026
48a3f47
Merge branch 'feat/neo-QR-generator-dung-dao' into feat/neo-QR-generator
travinhcot Mar 23, 2026
874566e
Remove unneccessary Save button
travinhcot Mar 23, 2026
d00d6db
fix the Front end with switching from vertical to horizontal
travinhcot Mar 24, 2026
e19675d
merge the left and right div, also move the logo under QR code
travinhcot Mar 26, 2026
ae1831e
some adjustment for UI
DungDao59 Mar 27, 2026
3626641
style: apply biome formatting
DungDao59 Mar 27, 2026
1ec0ad3
Merge pull request #353 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 Mar 27, 2026
f0c6ea6
improve UI QR generator
DungDao59 Mar 30, 2026
aed8890
style: apply biome formatting
DungDao59 Mar 30, 2026
0b2bf5c
Merge pull request #356 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 Mar 30, 2026
823b5e8
Merge branch 'main' into feat/neo-QR-generator
khangronky Mar 31, 2026
09755be
Merge branch 'main' into feat/neo-QR-generator
khangronky Apr 2, 2026
b45afce
stable version of the QR code
DungDao59 Apr 2, 2026
dfaf9ef
improve UI of the QR generator - back 1 commit to the old version
DungDao59 Apr 2, 2026
834d470
Merge branch 'main' into feat/neo-QR-generator
khangronky Apr 6, 2026
2d959a5
fixing style for design
travinhcot Apr 6, 2026
3287a0f
Merge branch 'feat/neo-QR-generator' of https://github.com/rmit-nct/h…
travinhcot Apr 6, 2026
78b6193
added new color picker for the color scheme pick
travinhcot Apr 6, 2026
0d12fe2
added SEO patterns for the website
travinhcot Apr 6, 2026
9826371
something
DungDao59 Apr 6, 2026
26540e5
fix dark mde and light mode input and QR increase imagesize
DungDao59 Apr 6, 2026
a8e9bae
fix the expected nested class
travinhcot Apr 7, 2026
49b1aee
Merge branch 'feat/neo-QR-generator' of https://github.com/rmit-nct/h…
travinhcot Apr 7, 2026
48f2db8
added missing "`"
travinhcot Apr 7, 2026
8bf813a
Added generate button for correct input from users, otherwise the QR …
travinhcot Apr 7, 2026
0c74473
fixed biome check error
travinhcot Apr 7, 2026
8ef7731
fix biome check
travinhcot Apr 7, 2026
e52700d
remove redudant code
travinhcot Apr 7, 2026
a92d475
remove another unused code
travinhcot Apr 7, 2026
1e49de3
Merge branch 'feat/neo-QR-generator' of https://github.com/rmit-nct/h…
relearn-cap Apr 7, 2026
4f54cc7
Added frame for qr code
travinhcot Apr 8, 2026
710044d
Merge branch 'feat/neo-QR-generator' of https://github.com/rmit-nct/h…
travinhcot Apr 8, 2026
4f63ab0
Merge branch 'main' into feat/neo-QR-generator
khangronky Apr 8, 2026
d0f74d0
fix QR code image fixed live preview section and download section
DungDao59 Apr 9, 2026
f0373fc
style: apply biome formatting
DungDao59 Apr 9, 2026
38dac4d
Merge pull request #372 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 Apr 9, 2026
5a1c952
remove unused fields and colors
travinhcot Apr 9, 2026
1f4f146
Merge branch 'main' into feat/neo-QR-generator
khangronky Apr 25, 2026
dcbc0d4
fix: remove unused punycode.js dependency from bun.lock
khangronky Apr 25, 2026
70a9f60
remove unnecessary metadata
travinhcot Apr 26, 2026
5615603
Merge branch 'feat/neo-shortener' into feat/neo-QR-generator-dung-dao
DungDao59 Apr 29, 2026
510517a
add feature for qrcode, change it to dynamic qrcode if needed
DungDao59 May 7, 2026
f95fdd4
style: apply biome formatting
DungDao59 May 7, 2026
938336b
Merge pull request #389 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 May 7, 2026
222604e
someting
DungDao59 May 7, 2026
abd7eca
style: apply biome formatting
DungDao59 May 7, 2026
0135fe9
Merge pull request #391 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 May 7, 2026
f0fce24
format fix
DungDao59 May 7, 2026
9a8380a
fix somethin
DungDao59 May 7, 2026
e3cc451
style: apply biome formatting
DungDao59 May 7, 2026
02a7fbf
Merge pull request #392 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 May 7, 2026
259a8a0
fix: regenerate supabase types
DungDao59 May 7, 2026
0c49bfd
Merge pull request #390 from rmit-nct/feat/neo-QR-generator-dung-dao
DungDao59 May 7, 2026
980cf60
Merge branch 'main' into feat/neo-QR-generator
khangronky May 13, 2026
cd3c8db
add error handling for login
DungDao59 May 13, 2026
490a19f
style: apply biome formatting
DungDao59 May 13, 2026
6bb0347
Merge pull request #394 from rmit-nct/fix/biome-formatting-feat/neo-Q…
DungDao59 May 13, 2026
c4098f4
fix error
DungDao59 May 13, 2026
ae124f1
Merge branch 'main' into feat/neo-QR-generator
khangronky May 14, 2026
120b631
refactor: move dependencies from package.json at the project root to …
khangronky May 14, 2026
14f8790
chore: remove unused data.json and userTracker.tsx files
khangronky Jun 11, 2026
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
128 changes: 128 additions & 0 deletions apps/db/supabase/migrations/20260424111249_add_qr_code.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
create table "public"."qr_code" (
"id" uuid not null default gen_random_uuid(),
"short_code" text not null,
"target_url" text,
"qr_type" character varying,
"design_settings" json,
"created_at" timestamp without time zone,
"scan_count" bigint,
"user_id" uuid default gen_random_uuid()
);


alter table "public"."qr_code" enable row level security;


create table "public"."scans" (
"id" uuid not null default gen_random_uuid(),
"qr_id" uuid not null default auth.uid(),
"scanned_at" timestamp without time zone,
"device_type" character varying,
"country" character varying,
"ip_address" text
);


alter table "public"."scans" enable row level security;

CREATE UNIQUE INDEX qr_code_pkey ON public.qr_code USING btree (id);

CREATE UNIQUE INDEX scans_pkey ON public.scans USING btree (id);

alter table "public"."qr_code" add constraint "qr_code_pkey" PRIMARY KEY using index "qr_code_pkey";

alter table "public"."scans" add constraint "scans_pkey" PRIMARY KEY using index "scans_pkey";

alter table "public"."qr_code" add constraint "qr_code_user_id_fkey" FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;

alter table "public"."qr_code" validate constraint "qr_code_user_id_fkey";

alter table "public"."scans" add constraint "scans_qr_id_fkey" FOREIGN KEY (qr_id) REFERENCES public.qr_code(id) ON UPDATE CASCADE ON DELETE CASCADE not valid;

alter table "public"."scans" validate constraint "scans_qr_id_fkey";

grant delete on table "public"."qr_code" to "anon";

grant insert on table "public"."qr_code" to "anon";

grant references on table "public"."qr_code" to "anon";

grant select on table "public"."qr_code" to "anon";

grant trigger on table "public"."qr_code" to "anon";

grant truncate on table "public"."qr_code" to "anon";

grant update on table "public"."qr_code" to "anon";

grant delete on table "public"."qr_code" to "authenticated";

grant insert on table "public"."qr_code" to "authenticated";

grant references on table "public"."qr_code" to "authenticated";

grant select on table "public"."qr_code" to "authenticated";

grant trigger on table "public"."qr_code" to "authenticated";

grant truncate on table "public"."qr_code" to "authenticated";

grant update on table "public"."qr_code" to "authenticated";

grant delete on table "public"."qr_code" to "service_role";

grant insert on table "public"."qr_code" to "service_role";

grant references on table "public"."qr_code" to "service_role";

grant select on table "public"."qr_code" to "service_role";

grant trigger on table "public"."qr_code" to "service_role";

grant truncate on table "public"."qr_code" to "service_role";

grant update on table "public"."qr_code" to "service_role";

grant delete on table "public"."scans" to "anon";

grant insert on table "public"."scans" to "anon";

grant references on table "public"."scans" to "anon";

grant select on table "public"."scans" to "anon";

grant trigger on table "public"."scans" to "anon";

grant truncate on table "public"."scans" to "anon";

grant update on table "public"."scans" to "anon";

grant delete on table "public"."scans" to "authenticated";

grant insert on table "public"."scans" to "authenticated";

grant references on table "public"."scans" to "authenticated";

grant select on table "public"."scans" to "authenticated";

grant trigger on table "public"."scans" to "authenticated";

grant truncate on table "public"."scans" to "authenticated";

grant update on table "public"."scans" to "authenticated";

grant delete on table "public"."scans" to "service_role";

grant insert on table "public"."scans" to "service_role";

grant references on table "public"."scans" to "service_role";

grant select on table "public"."scans" to "service_role";

grant trigger on table "public"."scans" to "service_role";

grant truncate on table "public"."scans" to "service_role";

grant update on table "public"."scans" to "service_role";


2 changes: 2 additions & 0 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,10 @@
"octokit": "^5.0.5",
"papaparse": "^5.5.3",
"phaser": "^3.90.0",
"qr-code-styling": "^1.9.2",
"qrcode.react": "^4.2.0",
"react": "^19.2.6",
"react-color-pikr": "^1.1.2",
"react-confetti": "^6.4.0",
"react-dom": "^19.2.6",
"react-intersection-observer": "^10.0.3",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
'use client';

import { TransactionObjectRowActions } from './row-actions';
import { joinPath } from '@/utils/path-helper';
import { StorageObject } from '@ncthub/types/primitives/StorageObject';
import type { StorageObject } from '@ncthub/types/primitives/StorageObject';
import { Button } from '@ncthub/ui/button';
import { FileText, LayoutGrid, LayoutList } from '@ncthub/ui/icons';
import { Separator } from '@ncthub/ui/separator';
import { useTranslations } from 'next-intl';
import Image from 'next/image';
import Link from 'next/link';
import { useTranslations } from 'next-intl';
import { useState } from 'react';
import { joinPath } from '@/utils/path-helper';
import { TransactionObjectRowActions } from './row-actions';

export function DetailObjects({
wsId,
Expand All @@ -25,7 +25,7 @@ export function DetailObjects({

return (
<div className="h-fit space-y-2 rounded-lg border p-4">
<div className="flex justify-between text-lg font-semibold">
<div className="flex justify-between font-semibold text-lg">
{t('invoices.files')}
<div className="flex gap-2">
<Button variant="ghost" size="xs" asChild>
Expand Down
Loading
Loading