# AllAuth UI ![django-allauth-ui](./django-allauth-vs-allauth-ui.png) UI templates for [django-allauth](https://github.com/pennersr/django-allauth) built with Tailwind. https://django-allauth-ui.hodovi.ch. django-allauth is a great library, but the templates it provides out of the box are minimal html. I usually end up re-designing the login / logout / signup pages for each new Django project. This library aims at providing good defaults for new projects. ## Table of contents * [Features](#features) * [Installation](#installation) * [Configuration](#configuration) * [Hacking on the project](#hacking-on-the-project) * [Contributors](#contributors) ## Features - ๐Ÿ“ฑ Mobile-friendly design - ๐Ÿ’„ [Configurable themes](https://daisyui.com/docs/themes/) - ๐Ÿ•ต๏ธ Support for [Allauth User Sessions](https://docs.allauth.org/en/latest/usersessions/index.html) - ๐Ÿ“ฑSupport for [Multi-Factor Authentication](https://docs.allauth.org/en/latest/mfa/index.html) - ๐Ÿ—ฃ๏ธ Translations - ๐Ÿ‡ช๐Ÿ‡ธ Spanish - ๐Ÿ‡ซ๐Ÿ‡ท French - ๐Ÿ‡ง๐Ÿ‡ท Portuguese - ๐Ÿ‡น๐Ÿ‡ท Turkish - ๐Ÿ‡ฎ๐Ÿ‡น Italian ## Installation ``` pip install django-allauth-ui pip install django-widget-tweaks pip install slippers ``` django-allauth-ui depends on [jazzband/django-widget-tweaks](https://github.com/jazzband/django-widget-tweaks) and [mixxorz/slippers](https://github.com/mixxorz/slippers) to render templates. Make sure to install both packages and add them to the INSTALLED_APPS. Add django-allauth-ui **before** django-allauth in your INSTALLED_APPS. See [./tests/settings.py](./tests/settings.py) for an example. ```python INSTALLED_APPS = [ "allauth_ui", "allauth", "allauth.account", "allauth.socialaccount", "allauth.socialaccount.providers.github", "widget_tweaks", "slippers", ] ``` **Note**: When going to **production** you should run ```python manage.py collectstatic``` ## Configuration The templates can be themed using Django settings. The theme value corresponds to [DaisyUI themes](https://daisyui.com/docs/themes/). ```python # settings.py ALLAUTH_UI_THEME = "light" ``` ## Hacking on the project - Install direnv: https://direnv.net/docs/installation.html - Setup direnv: https://direnv.net/docs/hook.html ```sh # Clone the repo git clone git@github.com:danihodovic/django-allauth-ui.git cd django-allauth-ui.git # Active the virtual env direnv allow # Install the dependencies pip install --upgrade pip poetry poetry install # Install tailwind npm install # Run the migrations ./manage.py migrate # Add sample social providers ./manage.py create_test_providers # Start the server ./manage.py runserver_plus # Start the tailwind compilation process in another terminal npm run-script build:watch ``` Make changes in allauth_ui/templates and open the browser at http://localhost:8000/accounts/login/. Once you're done compile tailwind with `npm run-script build` and submit a pull-request ๐Ÿƒ ## Contributors Made with [contrib.rocks](https://contrib.rocks).