Giter Club home page Giter Club logo

glance's Introduction

Glance

Download on Google Play

About the app

Screens preview

Glance is an unofficial client for Reddit. However, it allows you to only browse through media posts such as photos and videos. It's purpose is mainly to lurk majestic photos subreddits as well as memes, videos and gifs.

Features

  • Subscribing to subs (separately from your Reddit account)
    • Importing subscriptions from your Reddit account
  • Upvoting (click the arrow or double-tap)
  • Downloading photos
  • Browsing only certain subreddit
  • Dark mode

Related websites

Related repositories

glance's People

Contributors

albert221 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

glance's Issues

Play GIFs

Allow user to play GIFs if they are GIFs and not photos.

Let the user play only one GIF at a time, that is, when user scrolls past a GIF, pause it.

Maybe think about an autoplay feature?

Pause GIF when user has scrolled past it

Pause the GIF when user has scrolled past more than - say - half a GIF, and dispose it (or clear - make it look like it was never played) after it was scrolled past like two screens

Store cached feeds

Cache stored feeds in local storage so that the user sees photos when they open up the app before the fresh data is being downloaded!

Subscriptions suggestions

When the user opens the subscriptions tab and has it empty, show some suggestions.

For example, EarthPorn, pics, CityPorn, ITookAPicture, Analog

Spoiler for NSFW

Application should display an overlay on the posts marked as NSFW (over_18 in Reddit API) and remove that overlay after user's consent.

Access token refreshment doesn't work

After (probably) one hour, when repository wants to refresh the token, it errors with 401.

I/flutter ( 6798): Closure: (Store<ReddigramState>) => Null
E/flutter ( 6798): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: DioError [DioErrorType.RESPONSE]: Http status error [401]
E/flutter ( 6798): #0      Dio._makeRequest (package:dio/src/dio.dart:795:16)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #1      Dio._request.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:707:22)
E/flutter ( 6798): #2      _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 6798): #3      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 6798): #4      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 6798): #5      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 6798): #6      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 6798): #7      Future._complete (dart:async/future_impl.dart:473:7)
E/flutter ( 6798): #8      _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
E/flutter ( 6798): #9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:28:18)
E/flutter ( 6798): #10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:294:13)
E/flutter ( 6798): #11     Dio._executeInterceptors (package:dio/src/dio.dart)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #12     Dio._request.<anonymous closure> (package:dio/src/dio.dart:699:20)
E/flutter ( 6798): #13     Dio._checkIfNeedEnqueue (package:dio/src/dio.dart:980:22)
E/flutter ( 6798): #14     Dio._request (package:dio/src/dio.dart:698:9)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #15     Dio.request (package:dio/src/dio.dart:606:12)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #16     Dio.post (package:dio/src/dio.dart:128:12)
E/flutter ( 6798): #17     RedditRepository._post (package:reddigram/api/reddit_repository.dart:53:20)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #18     RedditRepository.refreshAccessToken (package:reddigram/api/reddit_repository.dart:67:12)
E/flutter ( 6798): #19     new RedditRepository.<anonymous closure> (package:reddigram/api/reddit_repository.dart:31:17)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #20     InterceptorsWrapper.onRequest (package:dio/src/interceptor.dart:105:14)
E/flutter ( 6798): #21     Dio._request.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:700:60)
E/flutter ( 6798): #22     Dio._executeInterceptors (package:dio/src/dio.dart:649:38)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #23     Dio._request.<anonymous closure> (package:dio/src/dio.dart:699:20)
E/flutter ( 6798): #24     Dio._checkIfNeedEnqueue (package:dio/src/dio.dart:980:22)
E/flutter ( 6798): #25     Dio._request (package:dio/src/dio.dart:698:9)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #26     Dio.request (package:dio/src/dio.dart:606:12)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #27     Dio.get (package:dio/src/dio.dart:94:12)
E/flutter ( 6798): #28     RedditRepository.feed (package:reddigram/api/reddit_repository.dart:127:10)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #29     fetchFreshFeed.<anonymous closure> (package:reddigram/store/feeds/actions.dart:37:24)
E/flutter ( 6798): #30     thunkMiddleware (package:redux_thunk/redux_thunk.dart:45:11)
E/flutter ( 6798): #31     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
E/flutter ( 6798): #32     main.<anonymous closure> (package:reddigram/main.dart:21:13)
E/flutter ( 6798): #33     Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
E/flutter ( 6798): #34     Store.dispatch (package:redux/src/store.dart:250:20)
E/flutter ( 6798): #35     new _BodyViewModel.fromStore.<anonymous closure> (package:reddigram/screens/main/feed_tab.dart:101:17)
E/flutter ( 6798): #36     _FeedTabState.build.<anonymous closure>.<anonymous closure> (package:reddigram/screens/main/feed_tab.dart:33:16)
E/flutter ( 6798): #37     RefreshIndicatorState._show.<anonymous closure> (package:flutter/src/material/refresh_indicator.dart:357:53)
E/flutter ( 6798): #38     _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 6798): #39     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 6798): #40     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 6798): #41     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 6798): #42     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 6798): #43     Future._completeWithValue (dart:async/future_impl.dart:483:5)
E/flutter ( 6798): #44     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:513:7)
E/flutter ( 6798): #45     _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 6798): #46     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 6798): #47     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 6798): #48     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
(...)

Nord Theme

I wanted a nord theme to this. Could anyone guide me into what to do to add a theme

Add loading/buffering spinner

Add a spinner when a full photo is loading in the feed and when the video is buffering.

It should be small in the upper right corner.

Permanent subreddits icons

Now, subreddits icons and primary colors are cached in shared_preferences. When the user removes the app's data or signs in on a new device, there's no cache.

Solution

A possible solution to that could be creating an endpoint in the API that would cache this data and could return multiple subreddits at once.

Refactor API dependency

Use approach just like in Unbottled. Make every action require an Api instance and provide this Api in the widget tree with some ApiProvider.

Better subreddits search

Don't use this SearchDelegate, which doesn't fit the app's theme fully, but instead, after tapping on Explore subreddits change that list tile to a text field and show results below.

Better subreddit suggestions

Right now, subreddit suggestions are just a constant array of few subs. Let's create some API endpoint for giving better suggestions. Maybe that's a good place to utilize some ML?

Subreddit (profile) screen

Screen for a given subreddit. It should display a grid of photos like on Instagram and some basic stuff. Definitely and Subscribe/Unsubscribe button.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.