Menu

Tree [8b5de0] master /
 History

HTTPS access


File Date Author Commit
 .github 2025-08-17 Brian Ali Brian Ali [912b6e] Update FUNDING.yml
 app 2025-08-20 Brian Brian [8b5de0] feat(loader): replace welcome animation with sm...
 assets 2025-08-20 Brian Brian [8b5de0] feat(loader): replace welcome animation with sm...
 components 2025-04-16 Brian Brian [b69d71] Enhance app configuration and improve UI compon...
 constants 2025-04-16 Brian Brian [46abee] Update settings and wallpaper screens with new ...
 contexts 2025-04-16 Brian Brian [8dde41] Refactor theme management and enhance font size...
 hooks 2025-04-15 Brian Brian [e74fe2] Update dependencies and enhance explore and set...
 scripts 2025-04-14 Brian Brian [08af7f] Initial commit
 services 2025-04-16 Brian Brian [8dde41] Refactor theme management and enhance font size...
 theme 2025-04-15 Brian Brian [ca41a0] update layouts to use material design from goog...
 utils 2025-04-15 Brian Brian [ca41a0] update layouts to use material design from goog...
 .gitignore 2025-04-14 Brian Brian [08af7f] Initial commit
 LICENSE 2025-04-19 Brian Ali Brian Ali [a88f5a] Create LICENSE
 README.md 2025-04-29 Brian Ali Brian Ali [63ed20] Update README.md
 app.json 2025-04-16 Brian Brian [b69d71] Enhance app configuration and improve UI compon...
 eas.json 2025-04-22 Brian Brian [64a766] change production profie and onboarding layout
 package-lock.json 2025-04-27 Brian Brian [1cd0de] update color layout across the app.
 package.json 2025-04-27 Brian Brian [1cd0de] update color layout across the app.
 tsconfig.json 2025-04-14 Brian Brian [08af7f] Initial commit

Read Me

Shiori

A modern React Native mobile application for discovering and using beautiful wallpapers powered by the Wallhaven API.

Overview

Shiori is a sleek, Material Design-inspired wallpaper application that allows users to browse, search, filter, and apply wallpapers directly to their devices. The app features Google Pixel-like icons and a modern UI/UX design for an intuitive user experience.

Features

  • Curated Wallpapers: Access thousands of high-quality wallpapers from Wallhaven
  • Material Design: Modern UI with smooth animations and transitions
  • Advanced Filtering: Filter wallpapers by category, resolution, colors, and more
  • Search Functionality: Find specific wallpapers using keywords
  • Favorites: Save your favorite wallpapers for quick access
  • Direct Apply: Set wallpapers directly from the app
  • Download Manager: Download wallpapers to your device
  • Dark Mode: Full support for light and dark themes
  • Customizable Settings: Personalize your experience
  • Beautiful icons and UI: Experience simplicity an style all in one package.

Screenshots

1
2
3
4
5

App Structure

src/
├── assets/                 # Static assets like icons, fonts, etc.
├── components/             # Reusable UI components   ├── common/             # Shared components (buttons, cards, etc.)   ├── wallpaper/          # Wallpaper-specific components   └── navigation/         # Navigation-related components
├── hooks/                  # Custom React hooks
├── navigation/             # Navigation configuration   ├── MainTabNavigator.js # Main tab navigation setup   ├── StackNavigators.js  # Stack navigators for each tab   └── index.js            # Root navigation setup
├── screens/                # App screens   ├── Home/               # Home screen components   ├── Search/             # Search screen components   ├── Filters/            # Filters screen components   ├── Favorites/          # Favorites screen components   ├── Settings/           # Settings screen components   └── Detail/             # Wallpaper detail screen components
├── services/               # API and other service integrations   ├── api/                # API configuration and requests   ├── storage/            # Local storage utilities   └── wallpaper/          # Wallpaper-related services
├── store/                  # State management   ├── actions/            # Action creators   ├── reducers/           # Reducers   ├── selectors/          # State selectors   └── index.js            # Store configuration
├── theme/                  # App theming   ├── colors.js           # Color palette   ├── typography.js       # Text styles   ├── spacing.js          # Layout spacing   └── index.js            # Theme provider
├── utils/                  # Utility functions
└── App.js                  # Root component

Screens

Home Tab

  • Featured wallpapers
  • Latest uploads
  • Popular wallpapers
  • Categories showcase

Search Tab

  • Search bar with suggestions
  • Recent searches
  • Trending searches
  • Search results with infinite scroll

Filters Tab

  • Category selection
  • Color picker
  • Resolution options
  • Aspect ratio selection
  • Sorting options (newest, popularity, random)
  • Advanced filters (NSFW toggle, etc.)

Favorites Tab

  • Grid view of saved wallpapers
  • Collection organization
  • Download status

Settings Tab

  • Theme selection (Light/Dark/System)
  • Download preferences
  • Cache management
  • Notification settings
  • App information
  • User preferences

Technical Stack

  • React Native: Core framework
  • React Navigation: Navigation between screens
  • Redux Toolkit: State management
  • Axios: API requests
  • React Native Paper: Material Design components
  • React Native Vector Icons: Icon library for Google Pixel-like icons
  • React Native Fast Image: Efficient image loading
  • Async Storage: Local storage solution
  • React Native Reanimated: Advanced animations

API Integration

The app integrates with the Wallhaven API to fetch wallpapers. The API provides endpoints for:

  • Searching wallpapers
  • Filtering by various parameters
  • Getting wallpaper details
  • Accessing collections

Installation

# Clone the repository
git clone https://github.com/yourusername/shiori.git

# Navigate to the project directory
cd shiori

# Install dependencies
npm install

# Start the development server
npm start

# Run on iOS
npm run ios

# Run on Android
npm run android

Configuration

Create a .env file in the root directory with your Wallhaven API key:

WALLHAVEN_API_KEY=your_api_key_here
API_BASE_URL=https://wallhaven.cc/api/v1

Contributing

Special Thanks to @rendinjast for the iconsax library used for the icons.
Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.