Skip to content

Instantly share code, notes, and snippets.

View nodahikaru's full-sized avatar
🏠
Working from home

Noda Hikaru nodahikaru

🏠
Working from home
View GitHub Profile
@nodahikaru
nodahikaru / text
Created January 26, 2025 08:47
Folder Structure
src/
|-- features/
| |-- featureA/
| | |-- components/
| | |-- store/
| | |-- services/
| | |-- routes.js
| |-- featureB/
| |-- components/
| |-- store/
@nodahikaru
nodahikaru / TrendsExplorerView.vue
Created January 26, 2025 08:38
Explorer Chart
<script setup>
import { computed, watch, ref, reactive, defineAsyncComponent, onBeforeUnmount } from 'vue'
import { useDashboardStore } from '@/stores/dashboard'
import { useTrends } from '@/use/useTrends'
import event from '@/plugins/event'
import { useDisplay } from 'vuetify'
import VueApexCharts from 'vue3-apexcharts'
const Correlations = defineAsyncComponent(() => import('@/components/Trends/Correlations.vue'))
const RotateScreenPrompt = defineAsyncComponent(() => import('@/components/RotateScreenPrompt.vue'))
@nodahikaru
nodahikaru / twoSum.js
Last active July 10, 2024 03:24
Target Sum Javascript
function twoSum(nums, target) {
// Create a map to store each number and its index
const numMap = new Map();
// Iterate through the array
for (let i = 0; i < nums.length; i++) {
const complement = target - nums[i];
// Check if the complement exists in the map
if (numMap.has(complement)) {
@nodahikaru
nodahikaru / foo_test.dart
Created June 24, 2022 17:11 — forked from Rex-Ferrer/foo_test.dart
16 Tips for Widget Testing in Flutter
// https://gist.github.com/Esgrima/c0d4bff4b0d3909daf8994410cd659ce
// https://dartpad.dev/c0d4bff4b0d3909daf8994410cd659ce
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:boolean_selector/boolean_selector.dart';
// (TODO: Tip # 1) Consider making frequently used variables/values constants
const _fooConst1 = '';
const _fooConst2 = '';
import { useLocation } from "react-router-dom";
export function useQueryParams() {
const query = new URLSearchParams(useLocation().search);
return query;
}
//
// RemoteImage.swift
// List
//
// Created by noda on 12/13/20.
//
import SwiftUI
struct RemoteImage: View {
@nodahikaru
nodahikaru / captureAndShareImage.dart
Created August 14, 2020 17:01
Capture and share images from RepaintBoundary
Future<void> _captureAndSharePng() async {
try {
RenderRepaintBoundary boundary = globalKey.currentContext.findRenderObject();
var image = await boundary.toImage();
ByteData byteData = await image.toByteData(format: ImageByteFormat.png);
Uint8List pngBytes = byteData.buffer.asUint8List();
final tempDir = await getTemporaryDirectory();
final file = await new File('${tempDir.path}/image.png').create();
await file.writeAsBytes(pngBytes);
@nodahikaru
nodahikaru / ScreenConsumer.js
Created June 4, 2020 07:46
ScreenConsumer for global usable using Context API
import React from "react";
import PropTypes from "prop-types";
import DimensionConsumer from "./DimensionContext";
import { getScreenWidth, getScreenHeight } from "./selectors";
const ScreenConsumer = ({ children }) => {
return (
<DimensionConsumer>
{dimensions =>
children(getScreenWidth(dimensions), getScreenHeight(dimensions))
@nodahikaru
nodahikaru / ScreenConsumer.js
Created June 4, 2020 07:46
ScreenConsumer for global usable using Context API
import React from "react";
import PropTypes from "prop-types";
import DimensionConsumer from "./DimensionContext";
import { getScreenWidth, getScreenHeight } from "./selectors";
const ScreenConsumer = ({ children }) => {
return (
<DimensionConsumer>
{dimensions =>
children(getScreenWidth(dimensions), getScreenHeight(dimensions))
import React, { useContext } from 'react'
import { ArrowUp, Download, Star, Trash, X, Edit2 } from 'react-feather'
import { useDispatch, useSelector } from 'react-redux'
import { LabelText } from '@resources/LabelText'
import { TestID } from '@resources/TestID'
import { ContextMenuOption } from '@/components/NoteList/ContextMenuOption'
import { downloadNotes } from '@/utils/helpers'
import {