{"id":24839412,"url":"https://github.com/devlander-software/hooks","last_synced_at":"2026-02-06T20:32:12.077Z","repository":{"id":227582944,"uuid":"703181145","full_name":"Devlander-Software/hooks","owner":"Devlander-Software","description":"Devlander Hooks","archived":false,"fork":false,"pushed_at":"2025-01-23T23:52:51.000Z","size":188197,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-28T02:39:56.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devlander-Software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null}},"created_at":"2023-10-10T18:43:02.000Z","updated_at":"2025-01-23T23:52:55.000Z","dependencies_parsed_at":"2025-01-31T06:53:17.967Z","dependency_job_id":null,"html_url":"https://github.com/Devlander-Software/hooks","commit_stats":null,"previous_names":["devlander-software/hooks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Devlander-Software/hooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlander-Software%2Fhooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlander-Software%2Fhooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlander-Software%2Fhooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlander-Software%2Fhooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devlander-Software","download_url":"https://codeload.github.com/Devlander-Software/hooks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devlander-Software%2Fhooks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29175226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T20:14:21.878Z","status":"ssl_error","status_checked_at":"2026-02-06T20:14:21.443Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-31T06:43:04.780Z","updated_at":"2026-02-06T20:32:12.062Z","avatar_url":"https://github.com/Devlander-Software.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Devlander Hooks Collection Header](https://github.com/Devlander-Software/hooks/raw/main/media/images/react-hooks-devlander-header-thumb.png)\n\n\u003ca href=\"https://twitter.com/intent/tweet?button_hashtag=devlanderhooks\" target=\"_parent\"\u003e\n  \u003cimg alt=\"#DevlanderHooks\" src=\"https://img.shields.io/twitter/url?color=%2308a0e9\u0026label=DevlanderHooks\u0026style=social\u0026url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Fbutton_hashtag%DevlanderHooks\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://bit.ly/devlander-discord-invite\" target=\"_parent\"\u003e\n  \u003cimg alt=\"Join Devlander on Discord\" src=\"https://img.shields.io/badge/Discord-Devlander-%235865F2\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://www.npmjs.com/package/@devlander/hooks\" target=\"_parent\"\u003e\n  \u003cimg alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/@devlander/hooks.svg\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://github.com/orgs/Devlander-Software/discussions\"\u003e\n  \u003cimg alt=\"Join the discussion on Github\" src=\"https://img.shields.io/badge/Github%20Discussions%20%26%20Support-Chat%20now!-blue\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://bit.ly/devlander-twitch\"\u003e\n  \u003cimg alt=\"Join Devlander on Twitch\" src=\"https://img.shields.io/twitch/status/devlander\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://bit.ly/landonwjohnson-on-twitter\" target=\"_parent\"\u003e\n  \u003cimg alt=\"Follow Landon Johnson On Twitter\" src=\"https://img.shields.io/twitter/follow/landonwjohnson.svg?style=social\u0026label=Follow\" /\u003e\n\u003c/a\u003e \n\n\n\u003ca href=\"https://bit.ly/landonwjohnson-on-twitter\" target=\"_parent\"\u003e\n  \u003cimg alt=\"Wakatime Devlander hooks\" src=\"https://wakatime.com/badge/user/bd50b6c5-e0ca-4937-83b3-ab2d13adbc73/project/018b1ae9-e146-4ac3-88fb-6e3097c4064c.svg\" /\u003e\n\u003c/a\u003e \n\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/4e01eb85-7cd6-41a7-9f23-ec7676404a94/deploy-status)](https://app.netlify.com/sites/devlander-react-hooks/deploys)\n\n# Devlander React Native Hooks Collection\n\n## Introduction\n\nThe Devlander React Native Hooks Collection is a comprehensive library of React Native hooks, designed for seamless integration and addressing common development challenges. This collection streamlines your development process, offering versatile, cross-platform solutions for a variety of use cases.\n\n## Featured Hooks\n\n- **useScrollControl**: Manage scrolling behavior in your application.\n- **useScreenDimensions**: Access screen dimensions for responsive designs.\n- **useVisibilitySensor**: Detect when an element is visible on the screen.\n\n## Installation\n\nYou can install the Devlander React Native Hooks Collection using npm or yarn:\n\nnpm\n```bash\nnpm install @devlander/hooks\n```\n\nor\n\nyarn\n```bash\nyarn add @devlander/hooks\n```\n\n## Usage\n\nEach hook in the collection is designed for easy integration. Here are examples of how to use some of our featured hooks:\n\n### useScrollControl\n```typescript\n// ScrollControlComponent.tsx\nimport React from 'react';\nimport { Button, View } from 'react-native';\nimport { useScrollControl } from '@devlander/hooks'; // Adjust the import path as needed\n\nconst ScrollControlComponent = () =\u003e {\n  const { disableScroll, enableScroll } = useScrollControl();\n\n  return (\n    \u003cView\u003e\n      \u003cButton title=\"Disable Scrolling\" onPress={disableScroll} /\u003e\n      \u003cButton title=\"Enable Scrolling\" onPress={enableScroll} /\u003e\n      \u003cView style={{ height: 1000, backgroundColor: '#f0f0f0' }}\u003e\n        \u003cText\u003eScroll down to see more content...\u003c/Text\u003e\n      \u003c/View\u003e\n    \u003c/View\u003e\n  );\n};\n\nexport default ScrollControlComponent;\n```\n\n### useScreenDimensions\n```typescript\n// ExampleComponent.tsx\nimport React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { useScreenDimensions } from '@devlander/hooks'; // Adjust the import path as needed\n\nconst ExampleComponent = () =\u003e {\n  const { width, height } = useScreenDimensions();\n\n  return (\n    \u003cView style={styles.container}\u003e\n      \u003cText\u003eScreen Width: {width}\u003c/Text\u003e\n      \u003cText\u003eScreen Height: {height}\u003c/Text\u003e\n    \u003c/View\u003e\n  );\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    flex: 1,\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n});\n\nexport default ExampleComponent;\n```\n\n### useVisibilitySensor\n```typescript\n// MyVisibilityComponent.tsx\nimport React from 'react';\nimport { View, Text } from 'react-native';\nimport { useVisibilitySensor } from '@devlander/hooks'; // Adjust import path\n\nconst MyVisibilityComponent = () =\u003e {\n  const viewRef = useVisibilitySensor(isVisible =\u003e console.log(`Is Visible: ${isVisible}`));\n\n  return (\n    \u003cView ref={viewRef} style={{ height: 100, width: 100, backgroundColor: 'blue' }}\u003e\n      \u003cText\u003eVisibility Tracking Component\u003c/Text\u003e\n    \u003c/View\u003e\n  );\n};\n\nexport default MyVisibilityComponent;\n```\n\n## Notes\n- Follow platform-specific guidelines for React Native implementations.\n\n## License\n\nThis package is open-source, available under the MIT License.\n\n\n### [Become a Sponsor!](https://bit.ly/sponsor-landonjohnson-github/)\n\n**To do**\nwrite documentation on the providers and how you can tie them into the hook\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevlander-software%2Fhooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevlander-software%2Fhooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevlander-software%2Fhooks/lists"}